Migration to the new server completed.

Please add any new defect you notice here!


Die Migration auf den neuen Server ist abgeschlossen.

Bitte neue Defekte hier vermerken!

GET(Raute)

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. GET (Begriffsklärung).


Anmerkung: Dieser Artikel beschreibt den BASIC-Befehl GET# unter BASIC V2 des Commodore 64.

Typ: Anweisung
Allgemeine Programmier-Syntax: GET#<logische Dateinummer>, <Variable>[, <Variable>...]
Abkürzung: -

Der BASIC-Befehl GET# liest ein einzelnes Zeichen aus dem angegebenen Gerät oder der geöffneten Datei ein. Vor der Benutzung des GET#-Befehls muss zwingend das entsprechende Gerät oder die Datei mit dem BASIC-Befehl OPEN geöffnet werden. Dabei muss die gleiche logische Dateinummer genutzt werden wie im OPEN-Befehl. Das eingelesene Zeichen wird in einer Variable (Zeichenketten-, Fließkomma- oder Ganzzahlvariable) abgelegt, wobei darauf zu achten ist, dass Zahlenvariablen nur Zahlen einlesen können, andernfalls erscheint die BASIC-Fehlermeldung ?SYNTAX ERROR. Um diese BASIC-Fehlermeldung zu vermeiden, sollten für das Einlesen nur Zeichenkettenvariablen genutzt werden.
Der GET-Befehl kann nur innerhalb von BASIC-Programmen genutzt werden, ansonsten wird die BASIC-Fehlermeldung ?ILLEGAL DIRECT ERROR ausgegeben.

Es werden beim Einlesen alle Zeichen berücksichtigt. Eine Ausnahme ist die Verwendung des Befehls GET# auf dem Bildschirm. Nach jedem Lesevorgang auf dem Monitor wird der Cursor um eine Spalte nach rechts versetzt und das Ende einer logischen Bildschirmzeile (also nach 80 Zeichen) automatisch das RETURN-Zeichen CHR$(13) gesetzt.

Aus Dateien mittels GET# in Zeichenketten gelesenen Nullbytes entsprechen nicht wie zu erwarten einem CHR$(0), sondern einem Leerstring und müssen gegebenenfalls für die weitere Verwendung (z.B. durch die Funktion ASC) gesondert behandelt werden.

[Bearbeiten] Beispiele

[Bearbeiten] Vom Bildschirm "einlesen"

10 PRINT CHR$(19);: B$="": OPEN 1,3
20 FOR I=1 TO 255
30 GET#1,A$: B$=B$+A$
40 NEXT
50 CLOSE 1
60 PRINT CHR$(147) B$

255 Bildschirmzeichen in einer Zeichenkette speichern.

[Bearbeiten] Sequentielle Datei auf Diskette einlesen

100 Z$=CHR$(0)
110 OPEN 1,8,2,"DATEN,S,R"
120 FOR C=-1 TO 0
130 GET#1,A$
140 PRINT ASC(A$+Z$);
150 C = ST=0
150 NEXT
160 CLOSE 1

Die Zeichencodes der Zeichen aus der sequentiellen Datei "DATEN" werden der Reihe nach am Bildschirm ausgegeben. Die FOR-NEXT-Konstruktion sorgt für einen schnellen Programmlauf, da das zeichenweise Einlesen auf BASIC-Ebene ohnehin schon ein recht gemächlicher Vorgang ist.

[Bearbeiten] Weitere Beispiele

Siehe


In anderen Sprachen