RESET

Aus C64-Wiki
Wechseln zu: Navigation, Suche
Begriffsklärung Der Titel dieses Artikels ist mehrdeutig. Weitere Bedeutungen finden sich unter RESET (Begriffsklärung).
RESET
Format: RESET <zn>
Parameter
zn: Zeilennummer (0..63999)
Einordnung
Typ: Anweisung
Kontext: Eingabe
Aufgabe: gezieltes Anwählen von DATA-Zeilen
Abkürzung: keine
Verwandte Befehle
DATA - RESTORE - READ


Dieser Artikel beschreibt das Simons'-Basic-Schlüsselwort RESET.

Typ: Anweisung
Syntax: RESET <zn>

Mit RESET setzt man den internen DATA-Zeiger des Interpreters auf eine gewünschte BASIC-Zeile. Damit kann dieser Befehl sowohl Speicherplatz als auch Programmlaufzeit sparen, denn der bisherige RESTORE-Befehl setzt den DATA-Zeiger immer komplett auf den Anfang zurück. Nicht gewünschte DATA-Informationen müssen bei Verwendung von RESTORE u.U. erst überlesen werden.

Eigentlich widerspricht ein solcher Befehl der Philosophie von Simons' Basic, denn zeilennummernbezogene Befehle will diese Befehlserweiterung ausdrücklich überflüssig machen. Wer sie dennoch verwendet, muss sich dessen bewusst sein, wenn er den Befehl RENUMBER benutzt oder die Programmstruktur auf andere Weise verändert. Die Befehle CGOTO, RESET, aber auch ON ERROR und ON KEY müssen dann von Hand an die neuen Verhältnisse angepasst werden (siehe dazu auch PROC, EXEC, ON ERROR, ON KEY, CGOTO und RENUMBER). Auf TSB trifft diese Einschränkung nicht zu, da das TSB-RENUMBER auch die RESET-Werte ändert.

Beachten: RESET fängt unmögliche Zeilennummern (größer als 63999) nicht ab, was aber zu keinem irreversiblen Zustand des Interpreters führt und nicht weiter schädlich ist.

Beispiel: 

500 DATA arndt, annegrit, alid
510 DATA 1953, 1955, 1981

1010 RESET 510
1020 FOR i=1 TO 3: READ jahr(i): NEXT
 
(liest genau die Daten ein, die man will)