if (Ausdruck)

Bestimmt einen oder mehrere Befehle, die ausgeführt werden sollen, wenn ein Ausdruck als WAHR gewertet wird.

if (Ausdruck)

Bemerkungen

Eine if-Anweisung mit Ausdruck unterscheidet sich von einer traditionellen if-Anweisung wie if GefundeneFarbe <> Blau in der Regel dadurch, dass der Ausdruck von runden Klammern umschlossen ist. Allerdings sind diese Klammern nicht immer erforderlich, da davon ausgegangen wird, dass eine if-Anweisung, die keinem altmodischen if-Muster entspricht, einen Ausdruck enthält. Folgende Schreibweisen werden auch als if (Ausdruck) erkannt:

Bekannte Einschränkung: Aus historischen Gründen akzeptiert if (Ausdruck) genau genommen nicht einen reinen Ausdruck, sondern einen numerischen Parameter. if %MeineVar% beispielsweise ist das gleiche wie if MeineVar. Um das zu umgehen, muss der Ausdruck immer in runden Klammern gesetzt werden.

Wenn der Ausdruck der If-Anweisung als wahr gewertet wird (also jedes Ergebnis außer einer leeren Zeichenkette oder der Zahl 0), wird die Zeile oder der Block darunter ausgeführt. Ansonsten wird, wenn es ein entsprechendes ELSE gibt, die Ausführung auf die Zeile oder den Block darunter springen.

Wenn ein IF oder ELSE mehr als eine Zeile hat, müssen diese Zeilen mit geschweiften Klammern umschlossen werden. Hat ein IF oder ELSE allerdings nur eine Zeile, können die geschweiften Klammern weggelassen werden. Entsprechende Beispiele finden Sie am unteren Ende dieser Seite.

Das Leerzeichen nach if ist optional, wenn der Ausdruck mit einer runden Startklammer beginnt, wie z. B. if(Ausdruck).

Der One True Brace Style (OTB) kann je nach Bedarf bei if-Anweisungen angewendet werden, die Ausdrücke sind (aber nicht bei traditionellen if-Anweisungen). Zum Beispiel:

if (x < y) {
    ...
}
if WinExist("Unbenannt - Editor") {
    WinActivate
}
if IstFertig {
    ...
} else {
    ...
}

Im Gegensatz zu else-Anweisungen, bei denen auf der rechten Seite alle möglichen Anweisungsvarianten möglich sind, unterstützen if-Anweisungen nur einen "{" danach.

Auf ähnliche Weise kann mit der Anweisung if var [not] between Untergrenze and Obergrenze überprüft werden, ob eine Variable zwischen zwei Werten liegt, sowie mit if var [not] in Wert1,Wert2 überprüft werden, ob der Inhalt einer Variable in einer Werteliste vorkommt.

Siehe auch

Ausdrücke, Zuweisungsausdruck (:=), if Var in/contains Vergleichsliste, if Var between, IfInString, Blöcke, Else, While-Schleife

Beispiel

if (A_Index > 100)
    return

if (A_TickCount - Startzeit > 2*Maximalzeit + 100)
{
    MsgBox Zu viel Zeit verstrichen.
    ExitApp
}

if (Farbe = "Blau" or Farbe = "Weiß")
{
    MsgBox Die Farbe ist einer der erlaubten Werte.
    ExitApp
}
else if (Farbe = "Silber")
{
    MsgBox Silber ist keine erlaubte Farbe.
    return
}
else
{
    MsgBox Diese Farbe wurde nicht erkannt.
    ExitApp
}