C64 BASIC V2.0: Befehl: ON

ON

  • Token: 145 / $91 | Abkürzung: – | ROM Exec: 43339 / $A94B
  • Typ: Anweisung | Funktion: Programmstruktur
  • Syntax: ON <variable> GOTO <line number>[,<line number>]…
  • Syntax: ON <variable> GOSUB <line number>[,<line number>]…

Aktion, Hinweise, Tipps, Tricks:

Die ON-Anweisung dient dazu, abhängig vom Wert einer Variable zu einer von mehreren vorgegebenen Zeilennummern zu gelangen. Der Wert der Variablen kann zwischen null und der angegebenen Zeilenanzahl liegen. Ist der Wert nicht ganzzahlig, wird der Nachkommateil weggelassen. Beispiel: Wenn der Variablenwert 3 ist, führt ON zur dritten Zeilennummer in der Liste.

Ist der Variablenwert negativ, erscheint die BASIC-Fehlermeldung „?ILLEGAL QUANTITY“. Ist die Zahl null oder grer als die Anzahl der Einträge in der Liste, ignoriert das Programm die Anweisung und fährt mit der Anweisung nach der ON-Anweisung fort. ON ist eine wenig genutzte Variante der IF…THEN…-Anweisung. Anstatt viele IF-Anweisungen zu verwenden, die das Programm jeweils zu einer bestimmten Zeile schicken, kann eine ON-Anweisung eine Reihe von IF-Anweisungen ersetzen. Im ersten Beispiel wird Ihnen auffallen, dass die eine ON-Anweisung vier IF…THEN…-Anweisungen ersetzt.


Beispiele:

  ON -(A=7)-2*(A=3)-3*(A<3)-4*(A>7)GOTO 400,900,1000,100
  ON X GOTO 100,130,180,220
  ON X+3 GOSUB 9000,20,9000
  100 ON NUM GOTO 150,300,320,390
  500 ON SUM/2 + 1 GOSUB 50,80,20

Befehle CLOSE, CLR, CMD, CONT, DATA, DEF, DIM, END, FOR, GET, GET#, GOSUB, GOTO, IF, INPUT, INPUT#, LET, LIST, LOAD, NEW, NEXT, ON, OPEN, POKE, PRINT, PRINT#, READ, REM, RESTORE, RETURN, RUN, SAVE, STOP, SYS, VERIFY, WAIT
Befehle Spezial (Bywords) FN, GO, NOT, SPC(, TAB(, THEN, TO, STEP
Arithmetische und logische Operatoren +, , *, /, ^, >, =, <, AND, OR
Funktionen ABS, ASC, ATN, CHR$, COS, EXP, FRE, INT, LEFT$, LEN, LOG, MID$, PEEK, POS, RIGHT$, RND, SGN, SIN, SQR, STR$, TAN, USR, VAL
Konstanten und Systemvariablen Pi, ST, TI, TI$