Instructions conditionnelles - R�f�rence du Langage

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!")