<< Inhaltsverzeichnis Suchen >>

GOTO

Anweisung

Syntax:

GOTO <SPRUNG-MARKE>                                                                            oder
GOTO #.<FELD-NUMMER>                                                                           oder
GOTO #<MASKEN-NUMMER>                                                                    oder
GOTO #<MASKEN-NUMMER>.<FELD-NUMMER>                                oder
GOTO #<MASKEN-NUMMER>.#<VAR-NAME>
                [,<RADIOBUTTON-AUSWAHL>]                                                oder
GOTO #<MASKEN-NUMMER>.#<INDEXDATEI-NAME>.
                <FELDNAME>[,<RADIOBUTTON-AUSWAHL>]                     oder
GOTO #.+<DISTANZ>                                                                                    oder
GOTO #.-<DISTANZ>

<FELD-NUMMER>                            = <NUM-AUSDRUCK>
<MASKEN-NUMMER>                    = <ZAHL>
<DISTANZ>                                        = <NUM-AUSDRUCK>
<RADIOBUTTON-AUSWAHL>     = "<EINZELZEICHEN>"

 

 

Achtung: <FELD-NUMMER> bezieht sich auf die interne Numerierung der Maskenfelder (beginnend ab 1 lückenlos aufsteigend) und nicht auf die bei der Maskenerstellung vergebene Reihenfolgenummer.

Achtung: <MASKEN-NUMMER> bezieht sich auf die bei der Maskenerstellung vergebene Masken-Nummer und nicht auf die interne Masken-Nummer.

 

 

Bedeutung:

GOTO <SPRUNG-MARKE> bewirkt einen Sprung an die angegebene Stelle innerhalb eines Macros. GOTO # ... bewirkt einen direkten Sprung zu dem angegebenen Maskenfeld. Im einzelnen bedeutet:

 

GOTO

#.<FELD-NUMMER>
Sprung zum Feld mit der Nummer <FELD-NUMMER> auf der aktuellen Maske. Die Feldnummer bezieht sich auf die interne Numerierung der Maskenfelder (beginnend ab 1 lückenlos aufsteigend).

 

GOTO

#<MASKEN-NUMMER>
Sprung zum 1. Feld der angegebenen Maske

 

GOTO

#<MASKEN-NUMMER>.<FELD-NUMMER>
Sprung zum Feld Nr. <FELD-NUMMER> der Maske <MASKEN-NUMMER>

 

GOTO

#<MASKEN-NUMMER>.#<VAR-NAME>
Sprung zu dem Feld der Maske mit der Nummer <MASKEN-NUMMER>, das mit der Hilfsvariablen <VAR-NAME> verknüpft ist. Existieren mehrere derartige Felder, so wird das erste gefundene angesprungen.

 

GOTO

#<MASKEN-NUMMER>.#<INDEXDATEI-NAME>.
<FELDNAME>
Sprung zu dem Feld der Maske mit der Nummer <MASKEN-NUMMER>, das mit dem angegebenen Indexdateifeld verknüpft ist. Existieren mehrere derartige Felder, so wird das erste gefundene angesprungen.

 

GOTO

#.+<DISTANZ>
Sprung um <DISTANZ> Felder vorwärts auf der aktuellen Maske. Ergibt sich dadurch eine Feldnummer, die größer ist als die maximale Feldnummer dieser Maske, so wird bei ENABLE ROTATE das 1. Feld der aktuellen Maske, bei DISABLE ROTATE das 1. Feld der Maske mit der nächsthöheren Masken-Nummer angesprungen. Existiert keine nächste Maske, so wird das 1. Feld der Maske mit der niedrigsten Masken-Nummer angesprungen.

 

GOTO

#.-<DISTANZ>
Sprung um <DISTANZ> Felder rückwärts auf der aktuellen Maske. Ergibt sich dadurch eine Feldnummer, die kleiner als 1 ist, so wird zum 1. Feld der aktuellen Maske gesprungen.

 

<RADIOBUTTON-AUSWAHL>
Da bei Radiobuttons mehrere Maskenfelder mit derselben Variablen verknüpft sind, muß zur eindeutigen Identifizierung neben dem Variablennamen noch das Zeichen angegeben werden, das bei den Maskenattributen unter zulässige Zeichen festgelegt wurde.

 

Bei allen Anweisungen der Form GOTO # ... wird direkt zu dem angegebenen Maskenfeld gesprungen und mit der Verarbeitung des zugehörigen Macro-vorher (falls vorhanden) begonnen. Dabei ist es gleichgültig, aus welcher Macro-Schachtelungstiefe heraus die Anweisung GOTO #... erfolgt. Der EBUS-GENERATOR-C sorgt automatisch dafür, daß alle intern notwendigen "QUITs" erst ausgeführt werden, bevor das gewünschte Maskenfeld angesprungen wird.

 

Wird eine andere als die aktuelle Maske angesprungen, so wird diese automatisch am Bildschirm angezeigt.

Beispiel:

GETCHAR H$
CASE H$
 OF F1$  GOTO #10           /* Sprung zu Maske 10
 OF "3"  GOTO #.3             /* Sprung zu Feld Nr.3 der aktuellen Maske
 OF "+"  GOTO #.+5         /* Sprung 5 Felder  vorwärts auf der
                                               /* aktuellen Maske
 OF "-"  GOTO #.-10          /* Sprung 10 Felder rückwärts auf der
                                               /* aktuellen Maske
 OF "1"  GOTO #1.1           /* Sprung zu Feld Nr.1 von Maske 1
 OF "T"  GOTO #5.#T$      /* Sprung zu dem Feld der Maske 5, das mit
                                               /* der Hilfsvariablen T$ verknüpft ist.
 OF "R"  GOTO #5.#R$,"A" /* Sprung zu Radiobutton R$
...
ENDCASE

siehe auch:

NEXTFIELD, REPEAT, MACRO, CALL