if (Ausdruck)

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

if (Ausdruck)

Bemerkungen

Eine Ausdrucks-if-Anweisung, deren erstes Zeichen nach dem "if" eine runde Startklammer ist, unterscheidet sich von einer Traditions-if-Anweisung wie If GefundeneFarbe <> Blau. In der Regel setzt man den ganzen Ausdruck in runde Klammern. Allerdings wäre auch so etwas wie if (x > 0) and (y > 0) möglich. Darüber hinaus kann man die runde Startklammer komplett weglassen, wenn das erste Element nach dem Wort "if" ein Funktionsaufruf oder ein Operator wie "not" oder "!" ist.

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
}