Oft wirst du dir wünschen, dass dein Skript abhängig vom Ergebnis einer oder mehrerer Bedingungen unterschiedlich reagiert. Ist eine Zahl größer als eine andere? Beinhaltet ein String einen bestimmten Teil-String?
Bedingungen (Konditionen) werden als true (wahr, non-zero, nicht-null) oder false (falsch, zero, Null) dargestellt. Bedingungen nutzen im Allgemeinen Vergleichsoperatoren wie z.B. ==, <>, >=.
Folgende konoditionelle Ausdrücke sind in AutoIt verfügbar:
Beide sind ähnlich und entscheiden, welcher Code ausgeführt wird, je nachdem was die Evaluierung der Bedingung ergibt. Hier ein Bsipiel eine If-Abfrage , die eine Message Box zeigt, wenn eine Variable größer als 10 ist.
$var = 20
If $var > 10 Then
MsgBox(0, "Beispiel", "$var war größer
als 10!")
Else
MsgBox(0, "Beispiel", "$var war kleiner als 10")
EndIf
Im Beispiel ergibt die Überprüfung des Ausdruckes $var > 10 true (wahr), da die Variable in der Tat größer als 10 war. Das veranlasst die If-Abfrage, die obere MsgBox-Zeile auszuführen und "$var war größer als 10!" anzuzeigen.
Eine Select-Abfrage ist sehr ähnlich, aber wird normalerweise nur benutzt, wenn man eine große Zahl von Bedingungen testen möchten. Diese Abfrage ist meist kürzer als eine entsprechende If/Else-Konstruktion, z.B.:
$var = 30
Select
Case $var > 1 AND $var <= 10
MsgBox(0, "Example",
"$var war größer als 1")
Case $var > 10 AND $var <= 20
MsgBox(0, "Example",
"$var war größer als 10")
Case $var > 20 AND $var <= 30
MsgBox(0, "Example",
"$var war größer als 20")
Case $var > 30 AND $var <= 40
MsgBox(0, "Example",
"$var war größer als 30")
Case $var > 40
MsgBox(0, "Example",
"$var war größer als 40")
EndSelect