[R] Boucles.

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
Miniull
Niveau 1
Niveau 1
Messages : 2
Enregistré le : sam. 07 juil. 2012 04:22
Status : Hors ligne

[R] Boucles.

#1

Message 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.
Modifié en dernier par Miniull le dim. 08 juil. 2012 19:34, modifié 1 fois.
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

Re: [..] Boucles.

#2

Message 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.

Code : Tout sélectionner

Until $Variable = 3
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
Modifié en dernier par Tlem le sam. 07 juil. 2012 08:52, modifié 1 fois.
Raison : Suppression de la coloration
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Boucles.

#3

Message 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 :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
Arkenix
Niveau 4
Niveau 4
Messages : 59
Enregistré le : ven. 27 mai 2011 23:42
Status : Hors ligne

Re: [..] Boucles.

#4

Message 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
Projet Autoit : Faire un jeu "Point & Click" > http://www.lecoindaide.com/forum/viewforum.php?f=44
Avatar du membre
Tynug
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 04 juil. 2012 14:29
Status : Hors ligne

Re: [..] Boucles.

#5

Message 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 :evil:
(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
Je ne sais pas si ça peux t'aider, donc voila bon "courage" et à bientot

Tynug
Modifié en dernier par Tynug le lun. 09 juil. 2012 10:32, modifié 1 fois.
Avatar du membre
corrs78
Niveau 5
Niveau 5
Messages : 160
Enregistré le : lun. 13 août 2007 17:38
Localisation : Yvelines
Status : Hors ligne

Re: [..] Boucles.

#6

Message 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 :wink:
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.
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Boucles.

#7

Message 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 :mrgreen:
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 :wink:

Tu réalises maintenant l'extrême importance des exemples ? :mrgreen:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Sea
Niveau 6
Niveau 6
Messages : 219
Enregistré le : ven. 22 juin 2012 18:51
Localisation : France
Status : Hors ligne

Re: [..] Boucles.

#8

Message 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/
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Boucles.

#9

Message par mikell »

Et allez, rebelote :mrgreen:
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
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [..] Boucles.

#10

Message 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)
Avatar du membre
mikell
Spammer !
Spammer !
Messages : 6292
Enregistré le : dim. 29 mai 2011 17:32
Localisation : Deep Cévennes
Status : Hors ligne

Re: [..] Boucles.

#11

Message 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 :wink:
" L'échec est le fondement de la réussite. " (Lao-Tseu )
" Plus ça rate, plus on a de chances que ça marche " (les Shadoks )
Miniull
Niveau 1
Niveau 1
Messages : 2
Enregistré le : sam. 07 juil. 2012 04:22
Status : Hors ligne

Re: [..] Boucles.

#12

Message 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:
Avatar du membre
Tynug
Niveau 1
Niveau 1
Messages : 6
Enregistré le : mer. 04 juil. 2012 14:29
Status : Hors ligne

Re: [R] Boucles.

#13

Message 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.
Avatar du membre
legend
Niveau 7
Niveau 7
Messages : 472
Enregistré le : dim. 26 sept. 2010 12:55
Status : Hors ligne

Re: [R] Boucles.

#14

Message 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
Répondre