User Tools

Site Tools


k16:k16.11:start

16.11 InputBox

The class InputBox (gb. form) implements a simple input dialog box. The class is static and can be used like a function. Therefore, do not search for this component in the IDE!

16.11.1 Call InputBox

The call of the following function opens an input dialog box:

Static Function InputBox (Prompt As String [, Title As String, Default As String] ) As String 
  • Prompt: Text above the text field in which the user enters his text. Note that prompt is a rich text string. This allows for selected text formatting.
  • Title (optional): Title of the dialog.
  • Default (optional): Default text in the text field.

The function returns as a function value the text (data type String) that the user enters or NULL if the user cancels the dialog. The InputBox is less suitable for entering passwords, as the text in the input field cannot be replaced by asterisks or similar for each character.

16.11.2 Example Insert InputBox

The InputBox is a suitable component for interactive user guidance if only one value is to be read in the program flow. This input must then be checked in an appropriate manner so that only valid data can be processed further.

InputBox

Figure 16.11.2.1: input box

The source code is simple - but implements all possible options for the parameters of the function InputBox(…) and two formatting in the rich text of the string sPrompt:

[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("No location has been entered!")
[16]   FMain.Show ' Option
[17]   
[18] End ' SetLocation

If you want to force a city entry, replace line 15:

If sOrt = Null Then 
   Message.Info("No location has been entered!")
   SetLocation() ' Recursive call
Endif ' sOrt = Null ?  

The location entered must then be checked syntactically to prevent nonsensical entries; → 19.6.5 Checking the syntax of character strings.

Download

Articles

Download


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

The website uses a temporary session cookie. This technically necessary cookie is deleted when the browser is closed. You can find information on cookies in our privacy policy.
k16/k16.11/start.txt · Last modified: 02.07.2018 (external edit)

Page Tools