Referenz - INPUT (Anweisung)
Syntax: INPUT [;] ["Frage" {; | , } ] Variable [, Variable [...] ]
Typ: Anweisung
Kategorie: Benutzereingabe
INPUT gibt dem Benutzer die Möglichkeit, über Tastatur Werte einzugeben.
- 'Frage' ist ein String-Literal, der auf dem Bildschirm an der aktuellen Cursorposition angezeigt wird, bevor der Benutzer seine Eingabe tätigen kann. Es darf sich nicht um eine Variable oder einen zusammengesetzten Stringausdruck handeln. Wird 'Frage' ausgelassen, so wird stattdessen ein Fragezeichen ausgegeben.
- Wird als Trennzeichen zwischen 'Frage' und 'Variable' ein Strichpunkt statt eines Kommas gesetzt, so wird an das Ende von 'Frage' ein Fragezeichen angehängt.
- Bei 'Variable' handelt es sich um Variablen beliebigen Typs, in denen die Eingabe des Benutzers gespeichert wird.
Nachdem die Ausgabe erfolgt ist, hat der Benutzer die Möglichkeit, einen oder mehrere Werte einzugeben. Die Werte werden dann in den angegebenen Variablen gespeichert. Dabei müssen die einzelnen Werte durch Kommata getrennt werden; dies bedeutet, dass die Eingaben selbst keine Kommata enthalten dürfen. Bei der Eingabe von Zahlen dienen auch Leerzeichen zur Trennung der einzelnen Werte.
Um dennoch Strings mit Kommata eingeben zu können, setzen Sie Ihre Eingabe in "Anführungszeichen". Wenn ein Eingabewert mit einem Anführungszeichen beginnt, wird alles bis zum nächsten Anführungszeichen als zusammenhängender Wert interpretiert. Ein anschließendes Komma zur Trennung vom nächsten Eingabewert ist weiterhin möglich, jedoch nicht erforderlich.
Zur Eingabe eines einzelnen Strings ohne Trennung durch Kommata oder Leerzeichen sollte LINE INPUT verwendet werden.
Gibt der Benutzer mehr Werte an, als in der Anweisung gefordert werden, so werden die überflüssigen Werte ignoriert. Gibt der Benutzer zu wenige Daten an, befüllt FreeBASIC die fehlenden Variablen mit 0 bzw. Nullstrings. Wird versucht, einer numerischen Variablen einen String zuzuweisen, wird dieser mittels VAL umgewandelt und gegebenenfalls mathematisch gerundet (vgl. CINT).
Beispiel:
DIM wert1 AS INTEGER
DIM wert2 AS SINGLE
DIM wert3 AS STRING
INPUT "Gib 3 Werte an: ", wert1, wert2, wert3
PRINT wert1, wert2, wert3
SLEEP
Auswertungsbeispiel A:
Gib 3 Werte an: 10, 2.5, String
10 2.5 String
Auswertungsbeispiel B:
Gib 3 Werte an: String, 1
0 1
Hinweis: 'wert3' hat hier den Wert "", ist also ein Leerstring.
INPUT kann durchaus für einfache Eingaben verwendet werden. Fortgeschrittene Programmierer verwenden jedoch oft eigene Ersatz-Routinen, die erweiterte Fähigkeiten besitzen oder von der LOCATE-Anweisung unabhängig sind.
Unterschiede zu QB:
In FreeBASIC ist es möglich, Werte einzugeben, die länger sind als 256 Zeichen. Die Länge der Eingabe wird nur durch die maximale Länge eines Strings begrenzt, die derzeit bei 2GB liegt.
Unterschiede zu früheren Versionen von FreeBASIC:
- Seit FreeBASIC v0.18 wird beim Auslassen der Frage ein Fragezeichen ausgegeben.
- Seit v0.16 rundet FreeBASIC eine eingegebene Gleitkommazahl automatisch zu einem INTEGER, wenn keine Gleitkommavariable zur Verfügung steht.
Siehe auch:
INPUT (Funktion), INPUT #, PRINT (Anweisung), LINE INPUT, Benutzereingaben
Zusätzliche Informationen und Funktionen | ||||
---|---|---|---|---|
|