Je voudrais juste dire que j'ai recherché sur google juste avant de venir je suis tombé sur une fonction pour justement arrêter un while automatique, sauf que sa ne marche pas pour un Do.
Case $Begin
if $row <> "" AND $row <> 0 AND $row < 5 Then
Do
Sleep(1000)
$time = $time-1
GUICtrlSetData($BeginWorker,$time&"sec")
Until($time = 0)
GUICtrlSetData($BeginWorker,"Go!")
Do
; Compteur de temps écoulé
if $sec_laps < 59 Then
$sec_laps=$sec_laps+1
elseif $sec_laps == 59 Then
$sec_laps=0
$m_laps=$m_laps+1
EndIf
; Pour les minutes
if $m_laps == 59 Then
$m_laps=0
$h_laps=$h_laps+1
EndIf
if $stop_car <> 1 Then
if $s_car > 0 Then
$s_car=$s_car-1
ElseIf $s_car == 0 Then
if $m_car > 0 Then
$m_car=$m_car-1
$s_car=59
EndIf
EndIf
if $m_car == 0 Then
if $h_car > 0 Then
$h_car=$h_car-1
$m_car=59
$s_car=59
EndIf
EndIf
EndIf
if $h_car == 0 AND $m_car == 0 AND $m_car == 0 Then
$stop_car = 1
Endif
; Pour la vigueur
if $time_vigueur < 12 Then
$time_vigueur = $time_vigueur+1
elseif $time_vigueur == 12 Then
GUICtrlSetData($Vigueur,GUICtrlRead($Vigueur)-10)
$time_vigueur = 0
endif
GUICtrlSetData($TimeLapsed,$h_laps&"h "&$m_laps&"min "&$sec_laps&"sec")
GUICtrlSetData($TimeOutil,$h_car&"h "&$m_car&"min "&$s_car&"sec")
Sleep(1000)
Until($stopDo = 1)
Elseif $row == "" Then
MsgBox(64,"Information","Veuillez écrire le nombre d'outil que vous possédez.")
Elseif $row == 0 Then
MsgBox(64,"Information","Veuillez n'avez plus d'outil pour faire les métiers.")
Elseif $row > 4 Then
MsgBox(64,"Information","A moins que tu est CS il est pas possible d'utiliser d'affiler plus de 4 outils.")
EndIf
Et un bouton tout simple quand la personne clique dessus pour arrêter le do ( logiquement sauf que sa ne marche pas )
Case $Stop
$stopDo = 1
MsgBox(64,"Information","Le compteur à bien été stopper")
Les variables sont bien définis de coté la je vais pas tout afficher le code se serais trop long, juste que n'arrive pas a arrêter cette fichu boucle. Et donc ben le programme ne peut pas être fermée.
Cordialement,
Michael.
Modifié en dernier par mica2727 le dim. 06 oct. 2013 00:08, modifié 3 fois.
Et j'ai bien compris Mikell, que une fois entrée dans la boucle elle va se répété, donc n'y aurais t'il pas une fonction directement à mettre dans un Do, pour savoir si un bouton à été presser ?
C'est bon j'ai trouver
Suffit de rester appuyer 1sec sur le bouton ( ou même ailleur )