GET, GET#
Der BASIC-Befehl GET liest einzelne Zeichen des Tastaturpuffers in eine Variable (Zeichenketten-, Fließkomma- oder Ganzzahlvariable) ein und kann nur innerhalb von BASIC-Programmen und nicht im Direktmodus genutzt werden. Wird ein Zeichen aus dem Tastaturpuffer ausgelesen, so ist wieder Platz für ein weiteres Zeichen im Tastaturpuffer. Der Tastaturpuffer des C64 hat Platz für maximal 10 Zeichen und ignoriert alle darüberhinausgehenden Eingaben. Der Befehl wartet nicht bis eine Eingabe vorliegt, sondern kehrt sofort mit einem Ergebnis zurück. Ist keine Taste gedrückt und der Tastaturpuffer leer, enthält eine Zahlenvariable den Wert 0, eine Zeichenkettenvariable den Leerstring.
Wird eine Zahlenvariable in dem GET-Befehl genutzt und wird keine Ziffer oder eine der Tasten + , – , . eingegeben, so erscheint die BASIC-Fehlermeldung ?SYNTAX ERROR. Bei Taste , und : wird die Meldung ?EXTRA IGNORED ausgegeben, ohne abzubrechen. Zur Vermeidung einer solchen BASIC-Fehlermeldung samt Programmabbruch sollten immer Zeichenkettenvariablen zum Einlesen von der Tastatur genutzt werden. Wird der GET-Befehl im Direktmodus genutzt, so wird die BASIC-Fehlermeldung ?ILLEGAL DIRECT ERROR ausgegeben.
Mit Hilfe das BASIC-Befehls GET können eigene Eingaberoutinen entwickelt werden und somit einige Nachteile des BASIC-Befehls INPUT behoben werden.
Beispiel
10 PRINT "Geben Sie Bitte max. 20 Zeichen ein: ";:GOSUB 1000
20 PRINT: PRINT "Sie gaben ein: ";B$
30 END
1000 REM EINFACHE GET-EINGABEROUTINE
1010 A$="": B$="": A=0: REM INITALISIEREN DER BENUTZTEN VARIABLEN
1020 GET A$: IF A$="" THEN 1020
1030 A=ASC(A$): IF (A<32 OR A>127) AND A<>13 THEN 1020
1040 B$=B$+A$: PRINT A$;: IF LEN(B$)<20 AND A$<>CHR$(13) THEN 1020
1050 RETURN
Es sind in dieser Eingaberoutine alle Zeichen der ASCII-Code-Tabelle von 32 (Taste SPACE bzw. Leerzeichen) bis 127 und 13 (RETURN) zugelassen, d.h. alle Satzzeichen und mathematische Zeichen, Ziffern (0-9), die Buchstaben (A-Z in Groß- und Kleinschreibung). Die Zulassung nur bestimmter Zeichen bzw. Tasten ist erforderlich, damit nicht die Bildschirmmaske durch Steuerzeichen wie z.B. die Tasten CRSR bzw. Cursor-Tasten zerstört wird. Diese Eingaberoutine wird entweder durch die Taste RETURN oder beim Erreichen von 20 Zeichen beendet.