Qu'entends-tu par "l'action sous condition" ?
C'est très simple, et vous allez vite vous en rendre compte.
Cette logique de l'action sous condition peut etre résumée par la phrase suivante :
"Si j'ai faim, je vais dans le frigo me chercher une banane. Sinon, je mange une glace."
(L'Abus de nourriture est dangereux pour la santé.)
Comment fonctionnent les actions sous condition ?
Un des piliers de la programmation, tout language confondu, est "l'action sous condition".
Cela se présente sous la forme :
Code : Autre1
2
3
4
5
6
7
8
9
| SI (proposition-à-vérifier est vraie ou fausse) ALORS :
...
on fait ça
...
SINON
...
on fait ça
...
FINI |
Toute la profondeur d'un programme est basée sur cette architecture.
En Autoit on a les possibilités suivantes.
If\Then\ElseIf\Else\EndIf
C'est le mode le plus connu, d'ailleurs en AutoIt, ca ressemble drôlement au Basic, vous ne trouvez pas ?

Voila un exemple classique :
Code : Autre1
2
3
4
5
6
7
| If (proposition-à-vérifier est vraie ou fausse) Then
; Actions à effectuer
ElseIf (proposition-à-vérifier-2 est vraie ou fausse) Then
; Actions à effectuer
Else ;Si n'importe quoi d'autre
; Actions à effectuer
EndIf ;on clos la condition |
Ce qui pourrait donner :
Code : Autre1
2
3
4
5
6
7
8
| $note_de_maths = 7.5
If $note_de_maths >= 15 Then
MsgBox(0,"Tutoriel Autoit","Très bien, continue comme ça !")
ElseIf $note_de_maths >= 8 Then
MsgBox(0,"Tutoriel Autoit","Peut mieux faire !")
Else ;Si n'importe quoi d'autre
MsgBox(0,"Tutoriel Autoit","Élève assidu qui se retourne parfois... pour regarder le tableau.")
EndIf ;on clot la condition |
Les opérateurs utilisés ici (= et >=) sont expliqués ci-après.
Select\Case\EndSelect
Un autre mode de programmation, qui n'en est pas moins pratique et intéressant, est la condition par "case".
Je m'explique :
Code : Autre1
2
3
4
5
6
7
8
9
10
11
| ACTIVATION DU MODE SELECTIF
Case n°1 (à activer si proposition-à-vérifier est vraie)
; Actions à effectuer
Case n°2 (à activer si proposition2-à-vérifier est vraie)
; Actions à effectuer
Case n°3 (à activer si proposition3-à-vérifier est vraie)
; Actions à effectuer
;etc.
FIN DU MODE SELECTIF |
Ce qui se traduit par :
Code : Autre1
2
3
4
5
6
7
8
9
10
11
| Select
Case (à activer si proposition-à-vérifier est vraie)
; Actions à effectuer
Case (à activer si proposition2-à-vérifier est vraie)
; Actions à effectuer
Case (à activer si proposition3-à-vérifier est vraie)
; Actions à effectuer
;etc.
EndSelect |
Cette méthode est très utile pour simplifier la lisibilité du texte dans une boucle par exemple.
Switch\Case\EndSwitch
C'est une variante du Select. C'est quasiment la même chose, à l'exception qu'elle est généralement utilisée pour les variations de valeur d'une même variable.
Un exemple tout de suite, un peu plus approfondi pour une fois :
Code : Autre1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
| $var = 30
Switch $var
Case 1 To 10
MsgBox(0, "Exemple", "$var est plus grand que 1 et moins grand que 11")
Case 11 To 20
MsgBox(0, "Exemple", "$var est plus grand que 10 et moins grand que 21")
Case 21 To 30
MsgBox(0, "Exemple", "$var est plus grand que 20 et moins grand que 31")
Case 31 To 40
MsgBox(0, "Exemple", "$var est plus grand que 30 et moins grand que 41")
Case Else
MsgBox(0, "Exemple", "$var est plus grand que 40 ou inférieur ou égal à 0")
EndSwitch |
Ici, on va "switcher" dans la variable $var, pour différents intervalles. En l'occurence, c'est la case 21 To 30 qui va s'activer. Ce mode permet donc de ne tester qu'une variable, mais c'est le plus lisible. On l'utilisera pratiquement toujours lors de la création de GUI que vous verrez dans la partie concernée. En effet, on devra alors verifier les actions faites par l'utilisateur, et une variable contiendra ces informations, variable qu'on testera avec un Switch.
Vous pouvez egalement retenir que certains tests sont plus rapides que d'autres. Rassurez-vous, jamais vous ne le remarquerez, mais si vous voulez programmer 'Paf le chien' par exemple, alors vous devrez commencer à vous inquieter de la rapidité de votre code, et Switch est très bon dans ce domaine.