Referenz - INPUT (Anweisung)
Syntax: INPUT [;] ["Frage" {; | , } ] Variable[ {; | , } Variable [...] ]
Typ: Anweisung
Kategorie: Eingabe
Durch INPUT wird in einem Grafik- oder Konsolenfenster an der aktuellen Cursorposition die angegebene Frage ausgegeben. Wenn hinter der Frage ein Semikolon (;) steht, hängt FreeBASIC automatisch ein Fragezeichen an. Ein Komma stattdessen unterdrückt dieses Feature. Wird keine Frage angegeben, wird ab der Compiler-Version 0.18 ein Fragezeichen ausgegeben, bei Compilern mit niedrigerer Versionsnummer dagegen nicht.
Steht direkt nach dem INPUT ein Semikolon (;), dann erfolgt nach der Eingabe kein Zeilenumbruch. Das Semikolon hat also denselben Zweck wie ein Semikolon nach einer PRINT-Anweisung.
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 natürlich, dass beispielsweise STRING-Eingaben keine Kommata enthalten dürfen. Um dennoch STRINGs mit Kommata eingeben zu können, setzen Sie ihre Eingabe einfach in "Anführungszeichen". Diese aber lassen sich nicht durch ähnliche 'Tricks' ersetzen. Ansonsten erfüllen sie dieselbe Funktion wie Kommata. Gibt der User mehrere Werte an, als in der Anweisung angegeben, werden die überflüssigen Werte einfach ignoriert. Gibt der Benutzer zu wenige Daten an, befüllt FreeBASIC die fehlenden Variablen mit 0 bzw. Nullstrings. Wird versucht, einer numerischen Variable einen String zuzuweisen, erhält die Variable den Wert 0.
In Versionen von FreeBASIC, die älter sind als v0.16, konnte an eine INTEGER-Stelle keine Gleitkommazahl eingegeben werden; FreeBASIC erzeugte hier einen Fehler. Seit v0.16 rundet FreeBASIC eine eingegebene Gleitkommazahl automatisch zu einem Integer, wie dies schon unter QB geschah.
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
(wert3 hat hier den Wert "", also CHR(0).)
INPUT kann durchaus für einfache Eingaben verwendet werden. Jedoch wird INPUT hauptsächlich von Anfängern verwendet; fortgeschrittene Programmierer verwenden oft eigene Ersatz-Routinen, die erweiterte Fähigkeiten besitzen oder von der LOCATE-Anweisung unabhängig sind.
Siehe auch:
INPUT (Funktion),
INPUT #,
PRINT (Anweisung),
LINE INPUT
Unterschiede zu QB:
- Es ist 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.
- Bis FreeBASIC v0.16 konnten an INTEGER-Stellen keine Gleitkommazahlen eingegeben werden. In jüngeren Versionen von FreeBASIC wurde dieses Feature hinzugefügt; seither rundet FreeBASIC Gleitkommazahlen wie in QB automatisch zu INTEGERn.
Unterschiede zu früheren Versionen von FreeBASIC:
- Erst seit v0.16 rundet FreeBASIC eine eingegebene Gleitkommazahl automatisch zu einem INTEGER, wenn keine Gleitkommavariable zur Verfügung steht.
- Ab FreeBASIC v0.18 wird bei einem Auslassen der Frage ein Fragezeichen ausgegeben.
| Zusätzliche Informationen und Funktionen | ||||
|---|---|---|---|---|
|
||||




FreeBASIC-Nachrichten jetzt auch über Twitter erhalten. Follow us!
Versionen