Vous voudrez souvent modifier le d�roulement de votre script en fonction d'une condition ou d'une s�rie de conditions. Est-ce un nombre plus grand qu'un autre ? Ou, une cha�ne contient-elle une certaine valeur ?
Les conditions sont �valu�es comme True (Vraie) (Diff�rente de z�ro) ou False (Fausse) (Egale � z�ro). Les conditions utilisent g�n�ralement des op�rateurs de comparaison comme ==, <>, >=.
Les instructions de comparaison suivante sont disponibles dans AutoIt:
Ses instructions sont similaires et d�cident quel code ex�cuter en fonction des conditions donn�es. Voici un exemple d'une condition If qui fait appara�tre un message box suivant la valeur d'une variable.
#include <Constants.au3>
Local $iNumber = -20
If $iNumber > 0 Then
MsgBox($MB_SYSTEMMODAL, "Example", "$iNumber �tait positif!")
ElseIf $iNumber < 0 Then
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait n�gatif!")
Else
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait z�ro.")
EndIf
L'instruction Select est tr�s similaire, mais est g�n�ralement utilis�e dans des cas ou vous voulez tester un grand nombre de conditions au lieu de lire un grand nombre de blocs de type If/ElseIf. Exemple :
#include <Constants.au3>
Local $iNumber = 30
Select
Case $iNumber > 1 And $iNumber <= 10
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 1")
Case $iNumber > 10 And $iNumber <= 20
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 10")
Case $iNumber > 20 And $iNumber <= 30
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 20")
Case $iNumber > 30 And $iNumber <= 40
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 30")
Case $iNumber > 40
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 40")
EndSelect
L'instruction Switch est tr�s similaire � l'instruction Select, mais elle est g�n�ralement utilis�e dans des situations o� la m�me expression est test�e selon diff�rentes valeurs possibles.
Exemple :
#include <Constants.au3>
Local $iNumber = 30
Switch Int($iNumber)
Case 1 To 10
MsgBox($MB_SYSTEMMODAL, "Example", "$iNumber �tait plus grand que 1")
Case 11 To 20
MsgBox($MB_SYSTEMMODAL, "Example", "$iNumber �tait plus grand que 10")
Case 21 To 30
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 20")
Case 31 To 40
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 30")
Case Else
MsgBox($MB_SYSTEMMODAL, "Exemple", "$iNumber �tait plus grand que 40 ou au moins �gal � 0")
EndSwitch
Dans chacune de ces structures, la premi�re condition qui est vraie provoque l'ex�cution du groupe d'instructions qu'elle contr�le. Toutes les conditions qui suivent et leurs instructions associ�es sont ignor�es.
Une instruction Ternary peut �tre utilis�e quand il y a un choix binaire simple � faire; il �vite la surcharge des structures associ�es aux autres instructions conditionnelles.
#include <Constants.au3>
MsgBox($MB_SYSTEMMODAL, "Result: 1=1", (1 = 1) ? "True!" : "False!")
MsgBox($MB_SYSTEMMODAL, "Result: 1=2", (1 = 2) ? "True!" : "False!")