Page 1 sur 1
[..] Boucle et bouton
Posté : mar. 14 avr. 2015 16:15
par Impecitron
Bonjour, bonsoir, j'ai fais un script, avec GUI, et enfait, le souci, c'est que je veux créer une boucle quand on appuie sur un bouton, et arrêter la boucle quand on appuie sur le bouton à côté, mais la boucle enpêche d’appuyer sur le bouton !

J'ai plus le code, mais j'aimerai que vous me donniez les astuces, car ça me fait tout le temps ...
Merci,
Impecitron
Re: [..] Boucle et bouton
Posté : mar. 14 avr. 2015 17:13
par orax
http://autoitscript.fr/forum/viewtopic. ... 582#p93582 (surtout le premier lien pour interrompre une fonction en cours d'exécution)
Re: [..] Boucle et bouton
Posté : mar. 14 avr. 2015 17:19
par walkson
Bonjour,
Dans votre question, il y a quelque chose de pas logique. En effet, la Gui tourne grâce à une boucle qui attend des messages (clic sur bouton). Si vous lancez une deuxième boucle, c'est pour attendre la réalisation de quelque chose (boucle sur des nombres,lecture array, temps défini etc..) et on sort automatiquement de la boucle quand la demande est fini (exitloop)...
Après, pour satisfaire votre demande, il existe plusieurs méthodes. Je vous en propose une mais que je trouve "horrible". Mais ne sachant pas la finalité et en espérant vous avoir compris...
► Afficher le texte
Code : Tout sélectionner
#include <GUIConstantsEx.au3>
#include <WindowsConstants.au3>
Global $Form1 = GUICreate("Form1", 470, 125, 192, 124)
Global $Button1 = GUICtrlCreateButton("marche", 86, 16, 129, 33)
Global $Button2 = GUICtrlCreateButton("arret", 254, 16, 129, 33)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
MsgBox(0,"","Marche",2)
While 1
$nMsg = GUIGetMsg()
If $nMsg = $Button2 Then ExitLoop
Sleep(100)
WEnd
ContinueCase
Case $Button2
MsgBox(0,"","Arret",2)
EndSwitch
WEnd