TurboBASIC Handbuch Seite 49
ERR wid ERL
Variablen
Definition:Gibt die Fehlernunner und die Nunner der Zeile, in der ein Fehler aufgetreten
ist.
Versicn ATARI BASIC Turbo BASIC Compiler
***
Syntax : ERR=feh 1 ernunner ERL=fehlerzei le
Armerkung :ERR ist die verkürzte Schreibweise für DPEEK(l95); die Adresse, in der die Fehlernurmer gespeichert wird.
ERL ist die verkürzte For'n für FEEK(1B6)+256*PEEK(187) oder einfach DPEEK(186). Dies ist die Adresse, in der die ZeilennLrrmer gespeichert wird, wenn ein Fehler festgestellt wird.
ERR und ERL lassen sich sehr gut in TRAP-Routinen benutzen. Beispiel :READY
10 TRAP #FEHLER
20 LPRINT ,,Dies wird auf dem Drucker ausgegeben."
30 END
100 #FEHLER
110 IF ERR=138 THEW PRINT ,,Der Drucker ist nicht ONLINE."
120 PRINT Der Fehler trat in Zeile ,,;ERL;" auf."
130 RUN
Falls ein Fehler auftritt (im obenstehenden Beispiel, wenn der Drucker nicht auf
ONLINE gestellt ist), wird das Prograim nicht unterbrochen, sondern durch TRAP zu
der mit FEHLER benannten Zeile 100 geleitet. Hier wird eine Fehleriiieldung angezeigt
und das Prograim erneut gestartet.
EXEC
Prograiminstruktion
Definition:Springt in eine Prozedur (unterprograim), die einen bestirmten Neien trägt.
Version :ATARI BASIC Turbo BASIC Cooipiler
*** ***
Syntax :EXEC neme
Arvnerkung :n,,,ie ist der Naie der Prozedur
EXEC ist vergleichbar mit GOSUB. Die Anweisungen GOSUB und RETURN können ein
Unterprograim jedoch nur über eine Zeilennunner aufrufen, während EXEC
name dies mit einem Namen bewerkstelligt, den man frei wählen und gut behalten
kann. Wenn sich viele Unterprograime (Subroutinen) in einem Prograim befinden, verliert
man bei ausschlieBlicher Verwendung von Zeilennunnern schnell den Überblick.
Zeilennunnern haben auBerdem den Nachteil, daB bei einer Neuordnung des Prograims
alle GOSUB-Anweisungen geändert werden müssen
Zudem braucht eine EXEC-PROC-ENDPROC-Konstruktion weniger Speicherplatz und arbeitet schneller als GOSUB-RETURN.
Die Prozedurnanien werden genauso wie die Variablennaiien verwaltet. Jeder Name# braucht 8 Bytes plus 1 Byte für jedes Zeichen. Die Zeilennunner von einem GOSUB verbraucht dagegen nur 7 Bytes.
Turbo BASIC ist zwar konipatibel zu ATARI BASIC, es können aber 25 statt nur
128 Variablen oder Prozedurnaiien benutzt werden.