[R] Sortie de boucle

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
exemptya
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 30 mai 2012 18:59
Status : Hors ligne

Re: [..] Sortie de boucle

#21

Message par exemptya »

Merci pour ta réponse rapide et très organisée =)
Je souhaiterais partir sur une sortie de boucle par l'appuie d'une touche.

Edit :
La boucle tourne sans arrêt peut-on afficher une MsgBox juste 10 sec signalant à l'utilisateur qu'il peut quitter le script pendant ce temps imparti ?
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Sortie de boucle

#22

Message par blacksoul305 »

D'accord, donc ça se précise, on devrait en voir le bout.

Donc maintenant, deux systèmes différents avec leurs qualités et leurs défauts :

HotKeySet :

Les HotKeySet sont une manière radicale et plus qu'efficace en ce qui concerne la détection d'une touche pressée, le problème étant que déjà tu ne peux pas faire appelle à des arguments dans tes fonctions (car cette commande appelle une fonction que tu as créé) et aussi, cela monopolise la touche choisie. Je m'explique, admettons qu'ici on prenne la touche échap. Tu es sur un jeu qui est en plein écran et qu'il faut quitter en allant dans les menus par le biais de la touche échap. Dès que tu appuieras sur la touche échap, cela donnera directement le focus à ton programme et va donc appeler la fonction associée à ton hot key.

_IsPressed :

Contrairement aux HotKey, cette fonction ne monopolise pas le touche, aucun soucis pour ton jeu donc. Par contre au niveau du script elle nécessite une include (Misc.au3) et les touches sont en hexa (je crois), tu as vu que "1B" était en fait "échap". Cette commande doit être utilisée dans une condition, et doit être traitée régulièrement car sinon on détecte pas l'appuie de la touche.

EDIT : Voici les codes d'exemple :

HotKey :
► Afficher le texte
_IsPressed
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
exemptya
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 30 mai 2012 18:59
Status : Hors ligne

Re: [..] Sortie de boucle

#23

Message par exemptya »

J'ai éditer mon dernier post et je pense que cela permettra un _IsPressed
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Sortie de boucle

#24

Message par blacksoul305 »

Je viens de lire ton édite. Oui cela est possible, par contre le fait d'utiliser une MsgBox interrompt le script tant que celle-ci n'a pas reçu de réponse. A condition de mettre un timeout :
► Afficher le texte
Code légèrement plus compliqué. Soit tu quittes quand on le demande, c'est à dire toute les 10 secondes, soit tu quittes avec échap.
Étudiant en 2ème année de Licence Informatique.
exemptya
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 30 mai 2012 18:59
Status : Hors ligne

Re: [..] Sortie de boucle

#25

Message par exemptya »

Donc la le programme je le met après le $n+=1 ? Et si j'appuie sur échap pdt les 3 sec le programme se stop ? J'ai tout compris ?
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [..] Sortie de boucle

#26

Message par blacksoul305 »

Disons qu'à chaque fois j'te donne un exemple, mais c'est juste pour te montrer qu'il y a de l'action. Si ton programme consiste à dire tout le long : "clique là, clique ici" alors tu le mes là :

Code : Tout sélectionner

#include <Misc.au3>

Do
; ton programme ici
Until _IsPressed("1B")
EDIT : Si tu veux garder l'histoire de la message box pour l'utilisateur, alors tu fais comme ça :
► Afficher le texte
Dans ce cas de figure là, soit l'utilisateur quitte à par le biais de la touche échap, soit il quitte quand on lui demande.
Étudiant en 2ème année de Licence Informatique.
exemptya
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 30 mai 2012 18:59
Status : Hors ligne

Re: [..] Sortie de boucle

#27

Message par exemptya »

Génial ça fonctionne =) Merci beaucoup pour ton aide.
J'ai conscience que mon programme est bancale et je tenterais d'y apporter des améliorations plus tard, je trouvais que pour commencer c'était suffisant. Histoire de prendre en main quelques actions standard.

J'aimerais plus tard prendre en compte différents éléments, telles que les différentes page dans un site web ou dans une applications. Je me pencherais sur ce genre de questions lorsque j'aurais l'autoit un peu mieux en main.

Sujet résolu.
Avatar du membre
blacksoul305
Membre émérite
Membre émérite
Messages : 957
Enregistré le : ven. 18 mars 2011 11:49
Localisation : Au pays des programmeurs.
Status : Hors ligne

Re: [R] Sortie de boucle

#28

Message par blacksoul305 »

D'accord. Il est clair que tu ne peux pas tout faire dès le début.

Prends le temps de faire des tests, de faire des recherches et de bien lire la doc, regarder des exemples.

N'oublie pas d'éditer ton premier message et de modifier ton titre avec un [R] à la place de [..].

EDIT : Tu n'as pas oublié, cool !
Étudiant en 2ème année de Licence Informatique.
exemptya
Niveau 2
Niveau 2
Messages : 16
Enregistré le : mer. 30 mai 2012 18:59
Status : Hors ligne

Re: [R] Sortie de boucle

#29

Message par exemptya »

Merci encore =)
Répondre