coord-transf.2d elements3d elementsnon geo scriptsfunctionscontrol statem.attributesvariousaddons
flow controlloopsext. connection
IF…THEN GOTO GOSUB…RETURN END/EXIT BREAKPOINT
Name
GOTO
Syntax
GOTOlabel
[...]
label_marker:
[...]
Aufklappen Range
label>0 numerischer Ausdruck, Typ Integer
label_marker>0 Zahlenwert, Typ Integer, gefolgt von einem Doppelpunkt

oder (since ArchiCAD® 10):
label Ausdruck oder Variable, Typ Text
label_marker Klartext zwischen Anführungszeichen, gefolgt von einem Doppelpunkt
Aufklappen Description
GOTO verzweigt in der Programmausführung an eine andere Stelle im Skript. Dazu wird das label auf eine vorhandene label_marker gesetzt, hinter der die Ausführung fortgesetzt wird.
Die label_markern müssen im kompletten Skriptdurchlauf eindeutig sein. Dabei werden die Marken im Masterskript mit berücksichtigt. Reihenfolge und Intervalle sind beliebig. Siehe auch Themenüberschrift "Programmablauf".
Aufklappen Example
typ=2
GOTO 100+typ

100:
LINE2 0,0,0,5.6
GOTO 200
101:
LINE2 0,0,0,0.25
GOTO 200
102:
LINE2 0,0,0,3.2

200:
Aufklappen Specialities
Das label kann auch als Ausdruck oder Variable angegeben werden. ArchiCAD kann dieses aber erst zur Laufzeit des Skriptes ermitteln. Daher können die betreffenen Befehl nicht vorcompiliert werden, was Performanceeinbußen des Objektes bewirkt. Es sollten also möglichst absolute, eindeutige labele verwendet werden.
Aufklappen Tips and Tricks
Bedingte Verzweigungen können auch mit dem IF...GOTO-Befehl erreicht werden.
Aufklappen References
GDL-Handbuch 4.5 (DE) p. 107
GDL-Handbuch 5.0 (DE) p. 154
GDL-Handbuch 6.0 (DE) p. 188
GDL-Handbuch 6.5 (DE) p. 188
GDL-Handbuch 7.0 (DE) p. 188
GDL-Handbuch 8.0 (DE) p. 126
GDL-Handbuch 8.1 (DE) p. 128
GDL-Handbuch 9.0 (DE) p. 215
GDL-Handbuch 10.0 (DE) p. 215
GDL-Handbuch 11.0 (DE) p. 221
GDL Reference Guide 9.0 (INT) p. 207
GDL Reference Guide 10.0 (INT) p. 213
GDL Reference Guide 11.0 (INT) p. 213
GDL Cookbook 3.1 (EN/DE) p. 1.25