Page 1 sur 1
[R] Boucles.
Posté : sam. 07 juil. 2012 04:34
par Miniull
Bonjour.
J'étudie en ce moment l'Autoit mais j'ai rencontrer un problème : Les boucles.
Je n'ai pas vraiment compris comment cela fonctionnais et j'aimerais si possible qu'une personne m'éclaire a ce sujet.
J'ai lus le tutoriel sur le Site Du Zéro mais malgré ça, je n'y arrive pas.
Si une personne pourrais me venir en aide pour m'expliquer plus clairement... Merci a vous.
Cordialement.
Re: [..] Boucles.
Posté : sam. 07 juil. 2012 08:52
par Arkenix
Bonjour,
Comme tu as pu le voir il y à plusieurs style de Boucle.
Je pense que beaucoup d'entre nous t'expliquerons certainement mieux que moi.
Mais voici avec mes mots quelques explications.
La Boucle "While / Wend"
Cette boucle effectue le code entre "While" Et "Wend", pour y sortir, elle attend soit un exitloop, soit plus simplement un exit.
La boucle "Do / Until"
Celle ci ressemble un peu au while, car elle peux se terminer par un exitloop / exit aussi
Mais elle a la particularitée d'attendre des paramètres pour se terminer.
Exemple :
Code : Tout sélectionner
Do
$Variable += 1
Msgbox(0,"Exemple","Bonjour je suis le message N° "&$Variable)
Until $Variable = 3
Dans mon exemple nous allons donc effectuer en boucle une incrémentation de $Variable par 1 (on ajoute 1 a chaque fois)
Et ont affiche un message.
Pour sortir de la boucle on attend dons que $Variable soit égale à 3.
Boucle For / Next
Cette boucle permet d'effectuer des action un nombre de fois défini.
Exemple :
Code : Tout sélectionner
For $Variable = 1 To 3 step 1
Msgbox(0,"Exemple","Bonjour je suis le message N° "&$Variable)
Next
Re: [..] Boucles.
Posté : sam. 07 juil. 2012 09:17
par mikell
Miniull a écrit :J'ai lus le tutoriel sur le Site Du Zéro mais malgré ça, je n'y arrive pas.
Le tutoriel SdZ de timmalos est clair, pas la peine que nous on te répète ce qu'il a déjà écrit
Donc il faut que tu précises ton souci : tu n'arrives pas à quoi faire exactement ?
Comprendre à quoi sert une boucle ? comment ça se fabrique ces bêtes-là ? qu'est-ce qu'il faut y mettre dedans ?
Si tu as fait un essai de script qui ne marche pas, poste-le ici et on t'expliquera ce qui ne va pa, pourquoi ça ne va pas et ce qu'il faut faire pour que ça marche
En effet c'est beaucoup plus simple (pour nous et pour toi) de t'aider en s'appuyant sur un exemple plutôt que de te refaire tout un cours où tu risques de te noyer une 2ème fois

Re: [..] Boucles.
Posté : sam. 07 juil. 2012 09:28
par Arkenix
Je rejoint mikell sur ce point
Je me permet de link tout de même ceci, qui explique assez bien les fondements d'AutoIt en vidéos (Anglais) :
http://www.youtube.com/view_play_list?p ... 9B801D0DE6
Re: [..] Boucles.
Posté : sam. 07 juil. 2012 10:03
par Tynug
Salut,
Pour bien comprendre les boucles en autoIT, il faudrait déjà que l'on puisse savoir si tu as déjà eu l'occasion de rencontrer des boucles dans
d'autres langages de programmation

(Beurk)
Ce qui serait bien ça serait de comprendre les boucles dans un langage dit "naturel".
Par exemple : "
Faire du sport
Jusqu'à je n'ai plus de courage
Ce qui correspond à notre bon vieux
Do du sport
Until je n'ai plus de courage ( cf : F1 )
Après que tu maîtrises bien les boucles dans ce fameux langage naturel appelé "français", tu es normalement plus à l'aise pour comprendre et maîtriser les boucles en autoIT ( la touche F1 t'explique beaucoup de choses )
Si je peux te donner un conseil c'est :
► Afficher le texte
Entraîne-toi avec le langage naturel, fais du pseudo-code ( langage entre le langage naturel et le code informatique ) et après fais-toi plaisir en autoIT !!
Je ne sais pas si ça peux t'aider, donc voila bon "courage" et à bientot
Tynug
Re: [..] Boucles.
Posté : sam. 07 juil. 2012 11:10
par corrs78
mikell a écrit :Miniull a écrit :J'ai lus le tutoriel sur le Site Du Zéro mais malgré ça, je n'y arrive pas.
Le tutoriel SdZ de timmalos est clair, pas la peine que nous on te répète ce qu'il a déjà écrit
Donc il faut que tu précises ton souci : tu n'arrives pas à quoi faire exactement ?
Comprendre à quoi sert une boucle ? comment ça se fabrique ces bêtes-là ? qu'est-ce qu'il faut y mettre dedans ?
Si tu as fait un essai de script qui ne marche pas, poste-le ici et on t'expliquera ce qui ne va pa, pourquoi ça ne va pas et ce qu'il faut faire pour que ça marche
En effet c'est beaucoup plus simple (pour nous et pour toi) de t'aider en s'appuyant sur un exemple plutôt que de te refaire tout un cours où tu risques de te noyer une 2ème fois

En effet, ça ne peut pas être plus limpide. On va avoir du mal à t'aider si tu ne nous soumet pas un problème concret.
Re: [..] Boucles.
Posté : sam. 07 juil. 2012 14:20
par mikell
Tynug a écrit :Par exemple : " Faire du sport Tant que j'ai du courage
Ce qui correspond à notre bon vieux Do du sport Until j'ai du courage
La preuve : déjà une confusion
En effet pour cet exemple, la boucle Do devrait être :
Do du sport
Until je n'ai plus de courage (Until = "jusqu'à...")
Explication de cette confusion : dans la boucle While ("tant que..."), si dès le départ tu n'as pas de courage, tu ne feras pas de sport
Dans la boucle Do, même si dès le départ tu n'as pas de courage tu feras quand même du sport une fois avant d'atteindre le Until et de sortir de la boucle
Tu réalises maintenant l'extrême importance des exemples ?

Re: [..] Boucles.
Posté : dim. 08 juil. 2012 13:01
par Sea
Tien j'avais fais ce tuto il y à bien longtemps... (d'ailleurs faudrait que je recommence mes tuto xD)
http://ptifou.78.free.fr/pdf/%5b7%5dBoucles.pdf
tu en trouveras d'autre ici =>
http://ptifou.78.free.fr/pdf/
Re: [..] Boucles.
Posté : dim. 08 juil. 2012 14:26
par mikell
Et allez, rebelote
Ne *pas* télécharger le tut mentionné dans le post précédent, la définition de la boucle
Do y est complètement fausse
Re: [..] Boucles.
Posté : dim. 08 juil. 2012 15:15
par legend
je me souviens pas que j'ai utilisé Do ... until dans un programme autoit, While 1 ... wend avec un exitloop te permet de faire la vérification dans la ligne que tu choisis, que ce soit dans le début (comme un simple While) ou la fin (comme un simple Do) ou au milieu (ce qui le rend plus pratique)
Re: [..] Boucles.
Posté : dim. 08 juil. 2012 16:00
par mikell
legend a écrit : While 1 ... wend avec un exitloop te permet de faire la vérification dans la ligne que tu choisis, que ce soit dans le début (comme un simple While) ou la fin (comme un simple Do) ou au milieu (ce qui le rend plus pratique)
Et si tu es arrivé à comprendre ce que cette phrase veut dire, c'est que tu n'as absolument pas besoin d'aide

Re: [..] Boucles.
Posté : dim. 08 juil. 2012 19:09
par Miniull
Je me suis bien creusé la tête et j'ai fini par comprendre. Merci de votre aide.
Maintenant, je m'attaque au fonctions et aux GUI's, je sens que je vais galérer. :lol:
Re: [R] Boucles.
Posté : lun. 09 juil. 2012 10:31
par Tynug
Excusez-moi pour la grosse confusion de mon post précédent.
Je n'ai même pas réagi en écrivant n'importe quoi comme ça.
Re: [R] Boucles.
Posté : lun. 09 juil. 2012 19:51
par legend
@mikell : j'avais pas envie de re-dire ce que t'a cité :p
j'ai juste oublié de citer qu'il faut utiliser exitloop avec un If.
exemple :
Code : Tout sélectionner
MsgBox (0, "", "ce script va lire du texte jusqu’a ce qu'il ne contient que des lettres (au moins 3)")
While 1
$text = InputBox ("", "nom d'utilisateur")
if StringRegExp ($text, "^[a-z]{3}[a-z]*$") then ExitLoop ; disons que StringRegExp ($text, "^[a-z]{3}[a-z]*$") est la condition "au moins 3lettres"
WEnd