InputBox und MessageDlg
Zur Eingabe von Variableninhalten eignen sich InputBox und InputQuery. In beiden Fällen wird ein Fenster angezeigt, das in der Namensleiste die Überschrift zeigt und ein OK-, ein Cancel-Button sowie ein Eingabefeld enthält. Im Eingabefeld kann ein Default-Wert der Variablen vorgegeben werden.
Äußerlich unterscheiden sie sich nicht; verwendet werden sie mit folgendem Code:
InputBox:
s := InputBox('Überschrift', 'Bitte Text für s eingeben:','Default-Eingabe');
Label1.Caption := 'In s steht jetzt: ' + s;
InputQuery:
s:= 'Default-Eingabe';
InputQuery('Überschrift', 'Bitte Text für s eingeben:',s);
Label1.Caption := 'In s steht jetzt: ' + s;
Mit den Funktionen MessageDlg() bzw. MessageDlgPos() kann man abfragen, welcher Schalter des Dialogfensters ausgewählt wurde. Die Antwort ist also nicht vom Typ String sondern vom Typ Boolean und wird z. B. mit einer IF-THEN-Else-Abfrage ausgewertet:
if MessageDlg('erste Zeile'#13#10'Meldung' + #13#10 + 'dritte Zeile',mtInformation , mbAbortRetryIgnore,0) = mrAbort
then
Label3.Caption := 'Auswahl Abort'
else
Label3.Caption := 'nichts passiert';
Die Syntax ist dabei: MessageDlg(Meldung,Fenstertyp,Schalterarten,0).
Damit die Meldung nicht zu lang wird, kann man mit #13#10 (mit oder ohne +) einen Zeilenumbruch erzwingen. Für die Fenstertypen und die Schalterarten gibt es folgende Möglichkeiten:
- Fenstertyp: (bestimmt das Symbol im Fenster)
- mtWarning
mtInformation mtError mtConfirmation mtCustom
- Schalterarten: (bestimmt die Schalter im Fenster)
- mbYesNoCancel
mbAbortRetryIgnore mbOKCancel mbYesNoCancel [mbOK]
|