Else

Bestimmt eine oder mehrere Anweisungen, die ausgeführt werden sollen, wenn eine If-Anweisung False ergibt.

Else Anweisung
Else
{
    Anweisungen
}

Bemerkungen

Jedes Else muss zu einer darüberliegenden If-Anweisung gehören (mit ihr verbunden sein). Ein Else bezieht sich immer auf die nächst darüberliegende noch nicht beanspruchte If-Anweisung, sofern dieses Verhalten nicht mit einem Block geändert wurde.

Unmittelbar nach einem Else kann eine beliebige andere Einzelanweisung erfolgen. Diese Methode wird häufig bei "else if"-Konstruktionen verwendet (siehe Beispiele unten).

Wenn ein Else mehr als eine Zeile besitzt, müssen diese Zeilen mit geschweiften Klammern umschlossen werden (um einen Block zu erstellen). Besitzt ein Else allerdings nur eine Zeile, können die geschweiften Klammern weggelassen werden. Zum Beispiel:

if (Anzahl > 0)  ; Geschweifte Klammern können unten weggelassen werden, weil es nur eine Zeile ist.
    MsgBox Drücken Sie OK`, um den Ablauf zu beginnen.
else  ; Geschweifte Klammern sind unten notwendig, weil mehrere Zeilen vorhanden sind.
{
    WinClose Unbenannt - Editor
    MsgBox Es sind keine Elemente vorhanden.
}

Der One True Brace Style (OTB) kann je nach Bedarf bei einem Else angewendet werden. Zum Beispiel:

if IstFertig {
    ; ...
} else if (x < y) {
    ; ...
} else {
    ; ...
}

Blöcke, If-Anweisungen, Kontrollanweisungen

Beispiele

Übliche Verwendung einer Else-Anweisung. Dieses Beispiel wird wie folgt ausgeführt:

  1. Wenn der Texteditor existiert:
    1. Aktiviere ihn
    2. Sende die Zeichenkette "Das ist ein Test." gefolgt von Enter.
  2. Ansonsten (also wenn der Texteditor nicht existiert):
    1. Aktiviere ein anderes Fenster
    2. Linksklicke auf die Koordinaten 100, 200
if WinExist("Unbenannt - Editor")
{
    WinActivate
    Send Das ist ein Test.{Enter}
}
else
{
    WinActivate, Irgendein anderes Fenster
    MouseClick, Left, 100, 200
}

Demonstriert verschiedene Styles, wie die Else-Anweisung noch verwendet werden kann. Beachten Sie, dass IfEqual veraltet ist und generell vermieden werden sollte.

if (x = 1)
    Gosub, a1
else if (x = 2) ; "else if"-Stil
    Gosub, a2
else IfEqual, x, 3 ; alternativer Stil
{
    Gosub, a3
    Sleep, 1
}
else Gosub, a4  ; Einzelanweisungen können unmittelbar nach einem Else erfolgen.
 
; Auch OK:
IfEqual, y, 1, Gosub, b1
else {
    Sleep, 1
    Gosub, b2
}