[R] Problème pour sortir d'une boucle

Aide et conseils concernant AutoIt et ses outils.
Règles du forum
.
Répondre
jesusip200
Niveau 3
Niveau 3
Messages : 46
Enregistré le : mar. 16 juin 2009 01:36
Status : Hors ligne

[R] Problème pour sortir d'une boucle

#1

Message par jesusip200 »

Bonjours, j'ai un petit problème dans cette partit du script :

Code : Tout sélectionner

While 1
if $temps + 125 = @Hour*60 + @MIN then
$temps = @Hour*60 + @MIN
target()
endif
sleep(30000)
WEnd
 
Une foi le script commencer il est impossible de l'arrêter même si j'appuie sur le X de la fenêtre.

Si quelqu'un c'est la commande a rajouter SVP cars impossible de trouver.
Modifié en dernier par jesusip200 le mar. 01 déc. 2009 13:44, modifié 1 fois.
Avatar du membre
matwachich
Membre émérite
Membre émérite
Messages : 986
Enregistré le : lun. 19 oct. 2009 04:04
Localisation : Algérie
Status : Hors ligne

Re: [..] Problème pour sortir d'une boucle

#2

Message par matwachich »

Le truc, c'est que t'as pas fais la gestion des évènements de ta GUI, surtout l'evenement GUI_EVENT_CLOSE

tu pourait faire ca: (pour ne plus l'oublié, créer tes GUI avec KODA, il met la gestion de la fermeture de la fenetre automatiquement dans la boucle)

Code : Tout sélectionner

While 1
$event = GUIGetMsg()
    Switch $event
        Case $GUI_EVENT_CLOSE
            Exit(0)
        EndSwitch
if $temps + 125 = @Hour*60 + @MIN then
$temps = @Hour*60 + @MIN
target()
endif
sleep(30000)
WEnd
mais ton sleep de 30sec ne le permet pas (car l'evenement de fermeture sera testé que toutes les 30sec!!!)

Alors, fais ca:

Code : Tout sélectionner

Opt("GUIOnEventMode", 1)
GUISetOnEvent($GUI_EVENT_CLOSE, "_quiter")

While 1
if $temps + 125 = @Hour*60 + @MIN then
$temps = @Hour*60 + @MIN
target()
endif
sleep(30000)
WEnd


Func _quiter()
Exit 0
EndFunc
Sortons VW du coté obscure! - La curiosité est un vilain défaut! Cliquez ici
jesusip200
Niveau 3
Niveau 3
Messages : 46
Enregistré le : mar. 16 juin 2009 01:36
Status : Hors ligne

Re: [..] Problème pour sortir d'une boucle

#3

Message par jesusip200 »

Ok merci beaucoup pour ta réponse.
Répondre