[Tuto] Les Boucles

Espace contenant des tutoriels divers concernant AutoIt.
Règles du forum
.

Tutoriel "La programmation avec Autoit" : https://openclassrooms.com/fr/courses/1 ... vec-autoit
Répondre
codename44
Niveau 4
Niveau 4
Messages : 65
Enregistré le : sam. 22 déc. 2007 15:46
Status : Hors ligne

[Tuto] Les Boucles

#1

Message par codename44 »

Les boucles
Qu'est-ce qu'une boucle ?

Les boucles permettent de répéter une même action plusieurs fois, en écrivant qu'une seule fois la procédure.
3 genres de boucles s'offrent à vous, plusieurs critères permettent de choisir la plus adaptée à votre cas.
Boucle de type "Pour" (For - Next) :

Cette boucle s'utilise lorsque le nombre de fois que nous devons parcourir la boucle est DETERMINE.
Que ce soit une constante, ou une valeur contenue dans une variable, si ce nombre est accessible par le programme alors cette boucle est la plus adaptée.

Fonctionnement :

Cette boucle fonctionne à l'aide d'un compteur qui utilise une variable généralement apellée $i
For $i = <valeur de départ> To <valeur d arrivée> Step <pas>
 
    ;Actions à effectuer
 
Next
Exemple :
For $i = 0 To 10 Step 1
 
    msgbox(0,"Tutorial", $i)
 
Next
Ceci nous affichera : 0,1,2,3,4,5,6,7,8,9,10 successivement.
Si on avait mis step 2, on aurait eu : 0,2,4,6,8,10

Exemple :
Compte à rebours :

$depart = InputBox("Tutorial", "Entrez un nombre :")
 
For $i = $depart To 1 Step -1
    msgbox(0,"Tutorial", $i)
Next
msgbox(0,"Tutorial", "ZERO !")
Boucle de type "Tant que" :


Cette boucle s'utilise quand le nombre de fois que l'action doit être effectuée est inconnu. Si la proposition est fausse dès le départ, la boucle ne se lance pas.
Cette boucle n'a pas besoin de compteur pour fonctionner, la boucle est simplement effectuée tant que la condition reste vraie.
Tant que (condition est vraie)

     On effectue ces actions

Fin
Ce qui se traduit en autoit par :
While (proposition est vraie)
 
    ;Actions à effectuer
 
WEnd
 
Exemple :

Imaginons que la variable $quitter prenne la valeur 1 quand l'utilisateur décide de quitter le programme.
While ( $quitter <> 1 )
 
    ;Actions du programme
 
WEnd
 
Astuce :
Pour faire une boucle sans fin, on peut declarer une boucle tant-que de la manière suivante :
While 1
 
    ;action à répéter sans fin
 
WEnd
On peut également retrouver la boucle "Pour" de cette manière :
$i = <valeur de départ>
While ($i <> <valeur d arrivée>)
 
    ;actions à effectuer
 
    $i = $i + <pas>
WEnd
Boucle "Faire-jusqu'à.."

Cette boucle répete une action jusqu'à ce que la condition à atteindre devienne vraie.
Elle est utilisée lorsque le nombre de fois que l'action doit être effectuée est inconnu, mais que l'action doit être effectuée AU MOINS une fois.
Do
 
    ;actions à effectuer
 
Until (proposition)
Quand proposition devient VRAI alors la boucle s'arrete
si la proposition est vraie dès le premier passage, l'action s'effectue quand même une fois. En effet la vérification ne se fait qu'à la fin de la boucle.

Exemple :
On veut demander un mot de passe à l'utilisateur pour lancer le programme.
Tant qu'il se trompe on lui redemande le mot de passe. On ne sait donc pas combien de fois l'utilisateur va se tromper
Une boucle while ne convient pas car l'action doit être effectuée au moins une fois.
Do
    $pass = "mot de passe"
    $input = InputBox("Tutorial", "Entrez le mot de passe :")
 
    If ($input <> $pass) Then
        MsgBox(0,"Tutorial", "Mauvais mot de passe !")
    Else
        MsgBox(0,"Tutorial", "Le mot de passe est correct !")
    EndIf
 
Until ($input = $pass)
Répondre