Sprachreferenz - Konditionelle Ausdrücke

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