<< Inhaltsverzeichnis Suchen >>

Sprünge (GOTO)

Es gibt zwei Arten von Sprungzielen:

a)  Sprungmarken
b)  Maskenfelder

 

a) Sprungmarken

Sprungziele innerhalb eines Macros werden durch Marken definiert und sind nur lokal innerhalb des Macros gültig.

Eine Sprungmarke kann an jeder beliebigen Stelle eines Macros vorkommen, sie muß aber stets am Anfang der Zeile stehen. Sprungmarken müssen mit einem Buchstaben beginnen und mit einem Doppelpunkt enden.

In der Anweisung GOTO <SPRUNGMARKE> wird der Doppelpunkt weggelassen.

 

 


Beispiel:

 

N1:        IN$=INKEY$
               IF IN$=““
               THEN GOTO N1
               ENDIF

 


 

b) Maskenfelder

Ein Sprung zu einem Maskenfeld veranlaßt das Programm, den aktuellen Macro zu verlassen und den Macro-vorher des angesprungenen Feldes auszuführen. Erfolgt der Sprung zu einem Maskenfeld aus einem Untermacro, werden alle übergeordneten Macros automatisch abgeschlossen, d.h. der Rücksprung in die übergeordneten Macros mit nachfolgender QUIT-Anweisung wird intern ausgeführt. Allgemein haben die Sprünge zu Maskenfeldern die Syntax:

GOTO #...

Es gibt 7 Möglichkeiten, Maskenfelder als Sprungziel zu adressieren. Sie sind in den folgenden Beispielen erläutert.

 

 


Beispiel:

 

 

(Bei den Maskenfeldnummern handelt es sich um die interne Nummerierung – gezählt ab 1 lückenlos aufsteigend)

GOTO #.1

Sprung zum 1. Maskenfeld der aktuellen Maske

GOTO #10

Sprung zur Maske 10, 1. Maskenfeld bzw.
Macro für Maskenverarbeitung

GOTO #10.2

Sprung zum 2. Maskenfeld der Maske 10

GOTO #10.#A$

Sprung zum Maskenfeld der Maske 10,
das mit der Hilfsvariablen A$ verknüpft ist.

GOTO #10.#ADR.PLZ

Sprung zum Maskenfeld der Maske 10, das mit
der Indexdatei-Variablen ADR.PLZ verknüpft ist.

GOTO #.+2

Sprung zum übernächsten Maskenfeld

GOTO #.- 3

Sprung um 3 Maskenfelder zurück