Schreibweise
| Form | Bedeutung |
|---|---|
DATA 3,7,12 | Legt drei Zahlen ab. |
DATA "ANNA","BEN" | Legt Text ab. |
READ A | Holt den nächsten Wert in eine Variable. |
READ A,B | Holt zwei Werte auf einmal. |
RESTORE | Setzt den Lesezeiger zurück an den Anfang. |
Ein Zeiger wandert durch alle DATA-Zeilen
BASIC sammelt beim Start alle DATA-Werte des Programms in einer einzigen langen Liste, in der Reihenfolge der Zeilennummern. Ein unsichtbarer Zeiger merkt sich, welcher Wert als Nächstes dran ist. Jedes READ holt einen Wert und schiebt den Zeiger eins weiter.
Deshalb ist es egal, wo die DATA-Zeilen stehen. Üblich ist am Ende des Listings, gut lesbar und leicht zu ändern.
10 FOR I=1 TO 3
20 READ N$
30 PRINT N$
40 NEXT
50 DATA "ANNA","BEN","CARO"
ANNA
BEN
CARO
Mehrere Werte pro Datensatz
Häufig gehören mehrere Werte zusammen, etwa Name und Punktzahl. Dann liest man sie im selben Durchlauf hintereinander ein, und die DATA-Zeilen schreibt man paarweise auf.
10 FOR I=1 TO 3
20 READ N$
30 READ P
40 PRINT N$;" HAT";P;"PUNKTE"
50 NEXT
60 DATA "ANNA",42
70 DATA "BEN",17
80 DATA "CARO",93
RESTORE: noch einmal von vorn
Sind alle Werte gelesen, ist die Liste leer. RESTORE setzt den Zeiger zurück an den Anfang, danach lassen sich dieselben Werte erneut einlesen.
10 FOR I=1 TO 3
20 READ A
30 PRINT A;
40 NEXT
50 PRINT
60 RESTORE
70 READ A
80 PRINT "NOCHMAL DER ERSTE WERT:";A
90 DATA 11,22,33
11 22 33
NOCHMAL DER ERSTE WERT: 11
Typische Stolperfallen
Mehr READ als DATA
Ist die Liste erschöpft, meldet BASIC ?OUT OF DATA ERROR. Meist zählt die Schleife weiter, als Werte vorhanden sind.
Text und Zahl verwechselt
Ein Text in eine Zahlenvariable gelesen ergibt 0 oder einen Fehler. Achte darauf, dass die Reihenfolge der DATA-Werte zur Reihenfolge der READ-Variablen passt.
Kommas in Texten
Ein Komma trennt zwei DATA-Werte. Gehört es zum Text, muss der Text in Anführungszeichen stehen.
Passt dazu
Im Kurs lernst du DATA und READ in Lektion 18: DATA und READ. Die vollständige Referenz aller Befehle steht im Befehls-Lexikon.