Vergleicht eine Variable mit einem Wert und gibt den Befehl/die Befehle an, die auszuführen sind, wenn das Ergebnis True (wahr) ist. Wenn es mehrere Befehle sind, schließen Sie sie in einem Block zusammen (geschweifte Klammern).
IfEqual, var, value (entspricht: if var = value)
IfNotEqual, var, value (entspricht: if var <> value) (!= kann anstelle von <> benutzt werden)
IfGreater, var, value (entspricht: if var > value)
IfGreaterOrEqual, var, value (entspricht: if var >= value)
IfLess, var, value (entspricht: if var < value)
IfLessOrEqual, var, value (entspricht: if var <= value)
If var ; Wenn var leer ist oder den Wert 0 hat, wird sie als FALSE (falsch) bewertet, andernfalls als TRUE.
Siehe auch: IfInString
| var | Der Name der Variablen. |
| value | Der Wert. Ein buchstabengetreuer String, eine Zahl oder Variablenreferenz (z. B. %var2%). Wenn Sie var mit einem leeren String vergleichen möchten, kann Value weggelassen werden. |
Wenn var und value beide rein numerisch sind, werden sie als Zahlen verglichen, andernfalls als Strings (d. h. die aplphabetische Reihenfolge bestimmt, ob var größer, gleich oder kleiner als value ist).
Wenn ein If oder ein ELSE mehrere Zeilen umfaßt, müssen diese eingeklammert werden. Beispiel:
if count <= 0
{
WinClose Unbenannt - Editor
MsgBox Keine Punkte vorhanden.
}
Wenn zu If oder Else nur eine Zeile gehört, sind die Klammern optional.
Nur wenn der "command-name-Stil" verwendet wird, darf ein weiterer Befehl in der gleichen Zeile wie das If... erscheinen. Die folgenden Zeilen sind zulässig:
IfEqual, x, 1, Sleep, 1 IfGreater, x, 1, EnvAdd, x, 2
Die folgenden sind dagegen ungültig:
if x = 1 Sleep 1 IfGreater, x, 1, x += 2
Der One True Brace (OTB) style darf nicht mit dieser Art von if-Vergleichen benutzt werden, sondern nur mit expression-ifs.
In diesem Zusammenhang prüft der Vergleich "if var [not] between LowerBound and UpperBound", ob eine Variable zwischen zwei Werten liegt, und "if var [not] in value1,value2" prüft, ob der Inhalt einer Variablen Teil einer Liste von Werten ist.
IF (Ausdruck), StringCaseSense, Zuweisung (:=), if var in/contains MatchList, if var between, IfInString, Blöcke, Else
if counter >= 1
Sleep, 10
if counter >=1 ; Wenn ein IF mehrere Zeilen umfaßt, klammern Sie diese ein:
{
WinClose, Untitled - Notepad
Sleep 10
}
if MyVar = %MyVar2%
MsgBox Die Inhalte von MyVar und MyVar2 sind identisch.
else if MyVar =
{
MsgBox, 4,, MyVar ist leer. Weiter?
IfMsgBox, No
Return
}
else if MyVar <> ,
MsgBox Der Wert in MyVar ist kein Komma.
else
MsgBox Der Wert in MyVar ist ein Komma.
if Done
MsgBox Die Variable Done ist weder leer noch 0.