Les conditions (If, elseif, else...)

    Publicités

Users Who Are Viewing This Thread (Total: 0, Members: 0, Guests: 0)

Leplayze

Frite...euse (jeu de mot)
V
Ancien staff
Dec 4, 2009
12,649
5
1,303
30
www.youtube.com
merci d'avance a bouh2 pour ce tuto magnifique!

Bonjour,

Les conditions sont surement la chose la plus utilisé en programmation. Cela permet au programme de faire un test d'égalité et de dire si c'est vrai ou non.
Cela permet tout simplement de contrôler un programme (si ça alors tu fais ça sinon tu fais ça)

I. Qu'est qu'une condition ?

C'est un test d'égalité, de supériorité ou d'infériorité de 2 termes. Le programme retourne vrai (true ou encore la valeur 1) si la condition est vrai sinon elle retourne faux (false ou encore la valeur 0)
En français on dirais par exemple :

Code:
SI 2 EGALE 1 PLUS 1 ALORS ...


En AutoIt on dirais :

Code:
If (2 = 1+1) Then ...


Il y a 4 test de condition possible :
-L'égalité (x = y)
-La différence (x <> y)
-L'infériorité (x < y)
-La supériorité (x > y)

Le programme retourne si la condition est vrai ou fausse.

Prenons exemple avec x = 1 et y = 3

(x = y) retourne faux (false)
(x <> y) retourne vrai (true)
(x < y) retourne vrai (true)
(x > y) retourne faux (false)

II. If (...) Then

If Then se traduit en français par Si...Alors. Il test une condition et exécute un code si elle est vrai
On délimite le If par un EndIf

Code:
local $i = 2
If ($i = 2) Then
MsgBox(0,"Message","Condition " & ($i = 2))
Endif


Note : On voit bien que le programme retourne true en affichant la condition

On peut aussi écrire sur une ligne

Code:
local $i = 2
If ($i = 2) Then MsgBox(0,"Message","Condition " & ($i = 2))


Cela évite des codes trop chargé et inutile


III. If (...) Then...ElseIf(...)Else

If (...) Then...ElseIf(...)Else se traduirais par "Si Alors Sinon Si Sinon"
ElseIf permet de refaire une condition en prenant compte de la première.
Else n'a pas de condition, si les conditions précédentes sont toutes fausse on passe sur else

Code:
local $i = 2
If ($i = 3) Then
MsgBox(0,"Message","Condition vrai " & ($i = 2))
ElseIf (2 < $i)
MsgBox(0,"Message","Condition vrai " & (2 < 1))
Else
MsgBox(0,"Message","Aucune condition vrai")
Endif


Note : On peut mettre autant de ElseIf que l'on souhaite

V. And/Or/Not

On peut aussi mettre plusieurs conditions dans une seule grâce au mot clef And.

Au lieu de faire :

Code:
local $x = 1, $y = 2
If ($x = 1) Then
If ($y = 2) Then
MsgBox(0,"Message","($x = 1) = " & ($x = 1) & " ET ($y = 2) = " & ($y = 2))
EndIf
EndIf


On écrit :

Code:
local $x = 1, $y = 2
If ($x = 1)And ($y = 2)Then
MsgBox(0,"Message","($x = 1) = " & ($x = 1) & " ET ($y = 2) = " & ($y = 2))
EndIf


Le mot clef Or lui permet de passer si une des conditions est vrai

Au lieu d'écrire :

Code:
local $x = 2, $y = 2
If ($x = 1)Then
MsgBox(0,"Message","($x = 1) = " & ($x = 2) & " OU ($y = 2) = " & ($y = 2))
EndIf
If ($y = 2)Then
MsgBox(0,"Message","($x = 2) = " & ($x = 1) & " OU ($y = 2) = " & ($y = 2))
EndIf


On écrit :

Code:
local $x = 2, $y = 2
If ($x = 1) Or ($y = 2) Then
MsgBox(0,"Message","($x = 2) = " & ($x = 1) & " OU ($y = 2) = " & ($y = 2))
EndIf


Ce qui allège tout aussi le code

Note : On peut bien sûr faire des combinaisons de And et de Or

L'opérateur Not inverse la valeur (surtout utilisé pour 1/0 et true/false)

Exemple :

Code:
$isTrue = Not False
If ($isTrue) Then
MsgBox(0,"Message", "$isTrue vaut " & $isTrue & " NOT $isTrue vaut " & Not $isTrue)
EndIf


IV. Select...case

Select permet de faire plusieurs conditions. Cela allège encore une fois le code et fais plus propre

Code:
$var = 0
$var2= ""

Select
Case $var = 1
MsgBox(0, "", "La 1er condition est vrai")
Case $var2 = "test"
MsgBox(0, "", "La 2e condition est vrai")
Case Else
MsgBox(0, "", "Aucune condition vrai")
EndSelect


EndSelect délimite la fin du select

VI. Switch...case

Le switch test l'égalité plusieurs fois de la même variable

Code:
$i = 23
Switch $i
Case 6 To 11
$msg = "i est entre 6 et 11"
Case 12 To 17
$msg = "i est entre 12 et 17"
Case 18 To 21
$msg = "i est entre 18 et 21"
Case 23
$msg = "i vaut 23"
Case else
$msg = "Aucune cas"
EndSwitch

MsgBox(0, Default, $msg)


Note : Le mot clef Default permet d'appeler l'argument par défaut d'une fonction

Voilà c'est tout ce que vous devez savoir sur les conditions