Page 1 sur 1

[R] Pause Boucle et Redémarrage

Posté : dim. 08 mars 2009 17:52
par JOols
Bonjour à tous, nouvel utilisateur d'AutoIt, n'ayant pas de connaissances poussés dans ce nouveau langage, je sollicite votre aide. Voila mon soucis, j'aimerais pouvoir lancer une séquence à l'aide d'une touche du clavier, la mettre en pause avec une nouvelle touche, puis redémarrer la séquence à l'aide de la première...

Voila pour le moment ce que j'ai réussi à faire avec le peu de connaissances que j'ai :

Code : Tout sélectionner

while 1
send ("a")
Sleep (500)
WEnd
 
Pour le moment, j'ai donc, au lancement du script un "a" qui s'affiche toutes les demi-secondes, en boucle indéfinie...
Ce que je souhaiterai au final, c'est que le script ne se lance pas instantanément, en pause au départ...

Exemple :
-En cliquant sur F11, la boucle de "a" se lance indéfiniment comme ci dessus
-En cliquant sur F12, la boucle s'arrête
-En cliquant de nouveau sur F11, la boucle redémarre...

Je sais que ça peut paraître basique, mais je débute vraiment, et j'ai cherché un bon moment mais chaque fois que je trouve un sujet qui traite du problème, renvoi vers la doc, et pour un novice, c'est vraiment compliqué à intégrer... je comprend assez bien les mécanismes, mais la syntaxe est un peu ardue...
Bref, je vous remercie d'avance pour votre aide, même si ce n'est qu'un lien vers les bases... Bonne soirée à tous

Re: Pause Boucle et Redémarrage

Posté : dim. 08 mars 2009 17:55
par SurPriseS
Salut,
Un début de réponse : HotKeySet

Mais sinon regarde comment présenter un post avant de te faire taper sur les doigts ;)

Re: [..] Pause Boucle et Redémarrage

Posté : dim. 08 mars 2009 19:38
par JOols
Pardon, j'avais regardé, mais je n'avais pas bien compris pour les balises, désolé... Merci beaucoup pour ton renseignement vers HotKeyset... aprés quelques essais, voila ce que j'obtiens :

Code : Tout sélectionner

Global $start

HotKeySet("{F11}", "StartLoop"); [color=#40BF00]Quand F11 est pressée, la boucle démarre[/color]
HotKeySet("{F12}", "QuitLoop"); [color=#40BF00]Quand F12 est pressée, la boucle s'arrête[/color]
HotKeySet("{ESC}", "_Quit") ; [color=#40BF00]Quand Echap est pressée, le script s'arrête[/color]

While 1
    If $start Then ;[color=#40BF00] Démarre la boucle [/color]
        Send("a"); [color=#40BF00]envoie un a[/color] 
        Sleep(1000); [color=#40BF00]pause de 1 Seconde[/color]
                 
        
    EndIf
    
WEnd

Func StartLoop()
    $start = 1 ; 
EndFunc   ;[color=#40BF00]==>démarre la boucle[/color]

Func QuitLoop()
    $start = 0 ; 
EndFunc   ;[color=#40BF00]==>quitte la boucle[/color]

Func _Quit()
    Exit
EndFunc   ;[color=#40BF00]==>_Quitte le script[/color]
Le lancement de la boucle fonctionne, par contre et c'est logique vu que je cale au niveau des conditions, puisque je ne comprend plus trop ce que je fais (dur dur pour un nOob), l'arrêt censé se faire avec (F12) ne fonctionne pas... j'arrive pas à trouver la solution...
Une suite de réponse?

Re: [..] Pause Boucle et Redémarrage

Posté : dim. 08 mars 2009 19:48
par SurPriseS
Test avec une autre touche que F12...
► Afficher le texte
Avec F10 sa fonctionne avec F12, non...

Re: [..] Pause Boucle et Redémarrage

Posté : dim. 08 mars 2009 19:54
par JOols
Effectivement, ça fonctionne bien à présent :wink: , merci beaucoup SurPrises, je vais pas avoir la curiosité de demander pourquoi F12 n'a pas le droit de jouer avec ses petites copines, c'est déjà assez compliqué comme ça. En tout cas merci beaucoup et a bientôt pour d'autres soucis j'espère.

[Problème Résolu pour ma part]

Re: [..] Pause Boucle et Redémarrage

Posté : dim. 08 mars 2009 20:00
par Iste
ben c'est marqué dans la doc, touche reservé a windauz