DEFine
PROCedure
END DEFine
Funktionen und
Prozeduren
Kommentar
16
Mit DEFine PROCedure wird eine SuperBASIC-Prozedur
Anweisungen zwischen der DEFine PROCedure-Anweisung
Anweisung stellt die Prozedur dar. Die Prozedurdefinition kann auch eine Liste mit
formalen Parametern enthalten, die Daten für die Prozedur liefern oder aus ihr her-
austragen. Bei der Prozedurdefinition müssen die formalen Parameter in Klammern
stehen. Beim Aufruf der Prozedur wird die Liste der aktuellen Parameter jedoch nicht
in Klammern gesetzt. Erfordert die Prozedur keine Parameter, so brauchen keine lee-
ren Klammern in der Prozedurdefinition angegeben zu werden.
Typ und Eigenschaften der formalen Parameter werden anhand der entsprechen-
den aktuellen Parameter bestimmt.
Variablen können in einer Prozedur als lokale Variable definiert werden. Diese loka-
len Variablen haben keine Auswirkung auf Variablen mit demselben Namen außer-
halb der Prozedur. Falls erforderlich müssen lokale Tabellen innerhalb der LOCal-
Anweisung dimensioniert werden.
Die Prozedur wird aufgerufen, indem ihr Name als erstes Element in einer Super-
BASIC-Anweisung zusammen mit einer Liste von aktuellen Parametern eingegeben
wird. Die Prozeduraufrufe in SuperBASIC sind rekursiv; d. h. eine Prozedur kann sich
selbst direkt oder indirekt über eine Folge anderer Aufrufe aufrufen.
Eine Prozedurdefinition kann bei SuperBASIC als Befehlsdefinition betrachtet wer-
den. Viele der Systembefehle sind selbst als Prozeduren definiert.
Syntax:
tormste..Peremeter:
aktuelle_Parameter:
DEFine PROCedure Name [formale_Parameter]
[LOCal Name *[, Name]*]
Anweisungen
RETurn
END DEFine
RETurn kann an jeder beliebigen Stelle innerhalb der Prozedur ste-
hen. LOCal-Anweisungen
ausführbaren
DEFineAnweisung wirkt wie ein automatischer Rücksprung.
Beispiel:
a)
100 DEFine
110
WINDOW 100,100,10,10
120
PAPER 7:
130
BORDER 4,255
140
PRINT "Guten
150 END DEFi ne
160 bi Ldschirm__anfang
b)
100 DEFine
110
LOCaL zahL
120
FOR zahL
130
140
END FOR zah L
150 END DEFine
160 abrollen
Um die Programme leserlicher zu gestalten, kann der Name der Prozedur an die
END DEFine-Anweisung
SuperBASIC überprüft.
=
(Ausdruck*[,
Ausdruck]*)
Ausdruck *[, Ausdruck]*
=
müssen, wenn vorhanden, vor der ersten
Anweisung
in der
Prozedur
PROCedure
bi Ldschi
INKO:
CLS
Tag ALLerseits"
PROCedure
abroLLen
=
1 TO abroL L_grenze
SCROLL 2
20
angehängt werden. Der Name wird jedoch nicht von
definiert. Die Folge von
und der END DEFine-
stehen.
Die END
rm.__anfang
(abroLL_grenze)
3/85
(