Ein PChar() kann auch ein Zeiger auf mehr als ein Character sein, in dem Fall ein String. Per PChar('Hello World') wird "konvertiert".
Wenn du mit Strg+linke Maustaste auf einen validen Parameter klickst, kommst du zur entsprechenden Stelle im Quellcode. Etwas durchhangeln, dann findest du das jeweilige Set an Flags. Meine MessageBox hat allerdings keinen solchen Parameter (sondern uType). Wenn du ausschließlich für ein veraltetes Betriebssystem programmieren willst, dann gibt es die Information zu Flags im Allgemeinen unter
msdn. (PS: Bevor du fragst: Flags werden per Oder miteinander verknüpft, d.h. MB_YES or MB_NO.)
Es gibt viel einfachere Möglichkeiten in Dialog mit dem Benutzer zu terten. ShowMessage() und MessageDlg() wären solche Funktionen - beide sind in der Unit Dialogs definiert.
Code: Alles auswählen
uses ..., Dialogs;
procedure TestMsg;
var
s:string;
begin
s:='Hello World';
if MessageDlg(s,mtInformation,[mbYes,mbNo],0)=mrYes then
ShowMessage('Salute to the programmer');
MessageBox(Application.MainForm.Handle,PChar(s),PChar('Test'),0);
end;