[R] Sortie de boucle
Règles du forum
- Merci de consulter la section "Règles du forum" et plus particulièrement "Règles et Mentions Légales du site autoitscript.fr" avant d'écrire un message.
Re: [..] Sortie de boucle
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 ?
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 ?
- blacksoul305
- 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
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 :
_IsPressed
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
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
Re: [..] Sortie de boucle
J'ai éditer mon dernier post et je pense que cela permettra un _IsPressed
- blacksoul305
- 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
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 :
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.
► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
Re: [..] Sortie de boucle
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 ?
- blacksoul305
- 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
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à :
EDIT : Si tu veux garder l'histoire de la message box pour l'utilisateur, alors tu fais comme ça :
Dans ce cas de figure là, soit l'utilisateur quitte à par le biais de la touche échap, soit il quitte quand on lui demande.
Code : Tout sélectionner
#include <Misc.au3>
Do
; ton programme ici
Until _IsPressed("1B")► Afficher le texte
Étudiant en 2ème année de Licence Informatique.
Re: [..] Sortie de boucle
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.
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.
- blacksoul305
- 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
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 !
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.
Re: [R] Sortie de boucle
Merci encore =)

