<script src="../static/ga4.js" type="text/javascript"></script> </head> <body> <h1>Labels</h1> <h2 id="toc">Inhaltsverzeichnis</h2> <ul> <li><a href="#syntax-and-usage">Syntax und Verwendung</a></li> <li><a href="#look-alikes">Label-ähnliche Schreibweisen</a></li> <li><a href="#dynamic-labels">Dynamische Labels</a></li> <li><a href="#named-loops">Benannte Schleifen</a></li> <li><a href="#related">Siehe auch</a></li> </ul> <h2 id="syntax-and-usage">Syntax und Verwendung</h2> <p>Ein Label identifiziert eine Codezeile und kann als <a href="../lib/Goto.htm">Goto</a>-Ziel oder zum <a href="#named-loops">Unterbrechen oder Fortsetzen einer bestimmten Schleife</a> verwendet werden. Ein Label besteht aus einem <a href="../Concepts.htm#names">Namen</a> gefolgt von einem Doppelpunkt:</p> <pre>das_ist_ein_Label:</pre> <p>Abgesehen von Leerraumzeichen und Kommentaren darf kein weiterer Code auf der Zeile eines Labels stehen.</p> <p><strong>Namen:</strong> Labelnamen sind nicht Groß-/Kleinschreibung-sensitiv (bezogen auf ASCII-Buchstaben) und können aus Buchstaben, Zahlen, Unterstrichen und ASCII-fremden Zeichen bestehen. Zum Beispiel: <em>MeineListView</em>, <em>Menü_Datei_Öffnen</em> und <em>outer_loop</em>.</p> <p><strong>Gültigkeitsbereich:</strong> Jede Funktion hat ihre eigene Liste mit lokalen Labels. Innerhalb einer Funktion sind nur die Labels dieser Funktion für das Skript sichtbar/zugänglich.</p> <p><strong>Ziel:</strong> Das Ziel eines Labels ist die nächste ausführbare Codezeile. Ausführbarer Code umfasst Funktionen, Zuweisungen, <a href="../Variables.htm#Expressions">Ausdrücke</a> und <a href="../lib/Block.htm">Blöcke</a>, aber keine Direktiven, Labels, Hotkeys oder Hotstrings. Im folgenden Beispiel verweisen <code>run_notepad_1</code> und <code>run_notepad_2</code> auf dieselbe <code>Run</code>-Zeile:</p> <pre>run_notepad_1: run_notepad_2: Run "notepad" return</pre> <p><strong>Ausführung:</strong> Labels haben wie Direktiven keine Wirkung, wenn sie während einer normalen Ausführung erreicht werden.</p> <h2 id="look-alikes">Label-ähnliche Schreibweisen</h2> <p>Hotkey- und Hotstring-Definitionen sehen aus wie Labels, sind aber keine.</p> <p><a href="../Hotkeys.htm">Hotkeys</a> bestehen aus einem Hotkey gefolgt von zwei Doppelpunkten.</p> <pre>^a::</pre> <p><a href="../Hotstrings.htm">Hotstrings</a> bestehen aus einem Doppelpunkt, beliebig vielen <a href="../Hotstrings.htm#Options">Optionen</a>, einem weiteren Doppelpunkt, einer Abkürzung und zwei Doppelpunkten.</p> <pre>:*:bzw::</pre> <h2 id="dynamic-labels">Dynamische Labels</h2> <p>In einigen Fällen kann eine <a href="../Variables.htm">Variable</a> anstelle eines Labelnamens verwendet werden. In solchen Fällen wird der in der Variable gespeicherte Name zur Lokalisierung des Ziellabels verwendet. Dies geschieht jedoch auf Kosten der Performanz, da das Ziellabel jedes Mal neu gesucht werden muss, nicht nur beim Start des Skripts.</p> <h2 id="named-loops">Benannte Schleifen</h2> <p>Ein Label kann auch verwendet werden, um eine Schleife für die Anweisungen <a href="../lib/Continue.htm">Continue</a> und <a href="../lib/Break.htm">Break</a> zu identifizieren. Dadurch kann das Skript von einer inneren Schleife heraus den aktuellen Durchlauf einer äußeren Schleife überspringen oder die äußere Schleife unterbrechen.</p> <h2 id="related">Siehe auch</h2> <p><a href="../Functions.htm">Funktionen</a>, <a href="../lib/IsLabel.htm">IsLabel</a>, <a href="../lib/Goto.htm">Goto</a>, <a href="../lib/Break.htm">Break</a>, <a href="../lib/Continue.htm">Continue</a></p> </body> </html>