While-Schleife [v1.0.48+]

Führt eine oder mehrere Anweisungen wiederholt aus, bis die Auswertung eines bestimmten Ausdrucks False ergibt.

While Ausdruck
While(Ausdruck)

Parameter

Ausdruck

Ein gültiger Ausdruck. Zum Beispiel: while x < y.

Bemerkungen

Der Ausdruck wird vor jeder Wiederholung einmal ausgewertet. Wenn die Auswertung des Ausdrucks True ergibt (also ein Ergebnis, das weder eine leere Zeichenkette noch die Zahl 0 ist), wird der Schleifenkörper ausgeführt, andernfalls springt die Ausführung auf die Zeile nach dem Schleifenkörper.

Nach einer While-Schleife folgt üblicherweise ein Block, eine Sammlung von Anweisungen, die den Körper der Schleife bilden. Für eine Schleife mit nur einer einzigen Anweisung ist jedoch kein Block erforderlich (ein "if" und dessen "else" werden in diesem Fall als Einzelanweisung behandelt).

Der One True Brace (OTB) Style wird unterstützt, d.h. Sie können je nach Bedarf die geschweifte Startklammer am Zeilenende positionieren. Zum Beispiel: while x < y {.

Die interne Variable A_Index enthält die Nummer der aktuellen Schleifenwiederholung. Sie enthält 1, wenn der Ausdruck und Körper der Schleife zum ersten Mal ausgeführt wurden. Beim zweiten Mal enthält sie 2 und so weiter. Wenn eine innere Schleife von einer äußeren Schleife umschlossen ist, hat die innere Schleife Vorrang. A_Index funktioniert in jeder Schleifenvariante, enthält aber außerhalb einer Schleife eine 0.

Wie bei allen Schleifen kann die Schleife mit Break vorzeitig beendet werden. Mit Continue kann außerdem der Rest der aktuellen Wiederholung übersprungen werden, wobei A_Index um 1 erhöht und der Ausdruck der While-Schleife erneut ausgewertet wird. Wenn die Auswertung weiterhin True ergibt, beginnt eine neue Wiederholung, andernfalls endet die Schleife.

Spezialisierte Schleifen: Mit Schleifen können Dateien, Ordner oder Registry-Einträge automatisch nacheinander abgerufen werden. Einzelheiten finden Sie unter Datei-Schleife und Registry-Schleife. Dateilesende Schleifen können den kompletten Inhalt einer Datei zeilenweise durchgehen. Parsende Schleifen können einzelne Felder einer Zeichenkette durchgehen.

Until, Break, Continue, Blöcke, Loop, For-Schleife, Datei-Schleife, Registry-Schleife, dateilesende Schleife, parsende Schleife, If (Ausdruck)

Beispiele

Während der Benutzer einen Ziehvorgang mit der linken Maustaste durchführt, zeigt ein Tooltip Informationen über die Größe der Fläche innerhalb des Ziehbereichs an.

CoordMode, Mouse, Screen

~LButton::
    MouseGetPos, StartPosX, StartPosY
    while GetKeyState("LButton")
    {
        MouseGetPos, x, y
        ToolTip, % StartPosX ", " StartPosY "`n" Abs(StartPosX-x) " x " Abs(StartPosY-y)
        Sleep, 10
    }
    ToolTip
return