Benutzer-Werkzeuge

Webseiten-Werkzeuge


k16:k16.11:start

16.11 InputBox

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!

16.11.1 Aufruf InputBox

Der Aufruf der folgenden Funktion öffnet eine Eingabe-Dialog-Box:

Static Function InputBox (Prompt As String [, Title As String, Default As String] ) As String 
  • Prompt: Text über dem Textfeld, in das der Benutzer seinen Text eingibt. Beachten Sie, dass Prompt ein Rich-Text-String ist. Damit sind ausgewählte Text-Formatierungen möglich.
  • Title (optional): Titel des Dialogs.
  • Default (optional): Vorgabe-Text im Textfeld.

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.

16.11.2 Beispiel Einsatz InputBox

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.

InputBox

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.

Download

Artikel

Download

Die Website verwendet zwei temporäre Session-Cookies. Diese technisch notwendigen Cookies werden gelöscht, wenn der Web-Browser geschlossen wird! Informationen zu Cookies erhalten Sie in der Datenschutzerklärung.
k16/k16.11/start.txt · Zuletzt geändert: 20.06.2016 (Externe Bearbeitung)

Seiten-Werkzeuge