Die Klasse InputBox (gb.form) implementiert eine einfache Eingabe-Dialog-Box. Die Klasse ist statisch und kann wie eine Funktion verwendet werden. Suchen Sie daher nicht in der IDE nach dieser Komponente!
Der Aufruf der folgenden Funktion öffnet eine Eingabe-Dialog-Box:
Static Function InputBox (Prompt As String [, Title As String, Default As String] ) As String
Die Funktion gibt als Funktionswert den Text (Datentyp String) zurück, den der Benutzer eingab oder NULL, wenn der Benutzer den Dialog abgebrochen hat. Für die Eingabe von Passwörter ist die InputBox weniger geeignet, da der Text im Eingabefeld nicht durch Sternchen o.ä. für jedes Zeichen ersetzt werden kann.
Für die interaktive Benutzerführung ist die InputBox eine geeignete Komponente, wenn im Programmablauf nur ein Wert eingelesen werden soll. Diese Eingabe ist danach in geeigneter Weise zu prüfen, um nur valide Daten weiter zu verarbeiten.
Abbildung 16.11.2.1: InputBox
Der Quelltext ist einfach – setzt aber alle möglichen Optionen bei den Parametern der Funktion InputBox(…) und zwei Formatierungen im Rich-Text der Zeichenkette sPrompt um:
[1] [2] Public sOrt As String [3] … [4] .. [5] Public Sub SetLocation() [6] Dim sPrompt, sTitle, sDefault As String [7] [8] FMain.Hide ' Option [9] sPrompt = "Geben Sie den <b><font color='blue'>Bestimmungsort</font></b> ein!" [10] sTitle = "Angabe Bestimmungsort ( Deutschland )" [11] sDefault = "Osterburg" [12] [13] sOrt = InputBox(sPrompt, sTitle, sDefault) [14] [15] If sOrt = Null Then Message.Info("Es wurde kein Ort eingegeben!") [16] FMain.Show ' Option [17] [18] End ' SetLocation
Wollen Sie eine Eingabe des Ortes erzwingen, dann ersetzen Sie die Zeile 15:
If sOrt = Null Then Message.Info("Es wurde kein Ort eingegeben!") SetLocation() ' Rekursiver Aufruf Endif ' sOrt = Null ?
Der eingegebene Ort ist anschließend syntaktisch zu prüfen, um unsinnige Eingaben zu verhindern; → 19.6.5 Prüfung der Syntax von Zeichenketten.
Artikel