Springt zum angegebenen Label (Sprungmarke), führt die Ausführung dort weiter und kehrt beim ersten Return zurück.
Gosub, Label
| Label | Der Name des Labels, Hotkey Labels oder Hotstring Labels zu welchem gesprungen werden soll. Hier werden die Befehle unterhalb des Labels bis zum nächsten "Return" oder "Exit" abgearbeitet und zum Ursprungsort, unterhalb des Gosub, zurückgekehrt und die Ausführung dort fortgesetzt. "Exit" beendet den aktuellen Thread. |
Wie bei den Parametern fast aller Befehle kann Label eine Variable (etwa %MyLabel%) sein, welche den Namen des Ziels beinhaltet. Dadurch wird die Leistung des Systems allerdings etwas reduziert, da das Ziel-Label immer wieder überprüft werden muss, statt nur einmal beim Skriptaufruf.
Wenn ein dynamisches Label benutzt wird, etwa %MyLabel%, wird eine Fehlermeldung angezeigt wenn das Label nicht existiert. Um dies zu verhindern, rufen Sie vorher IsLabel() auf. Zum Beispiel:
if IsLabel(VarContainingLabelName)
Gosub %VarContainingLabelName%
Obwohl Gosub für einfache, allgemeine Subroutinen nützlich ist, sollte man für komplexere Zwecke Funktionen in Betracht ziehen.
Return, Funktionen, IsLabel(), Blocks, Loop, Goto
Gosub, Label1
MsgBox, Die Label1 Subroutine hat ein Return erreicht (wurde beendet).
return
Label1:
MsgBox, Die Label1 Subroutine läuft jetzt.
return