Boucle evenement + evenement automatique

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Boucle evenement + evenement automatique

Message par Thyphoon »

Je voudrais savoir si c'est bien comme ça qu'il faut faire.
Mon programme doit verifier des infos tout les x temps ! Mais je ne peux pas utiliser les threads car j'ai plein de variable a utilisé lors de cette verification.
Voilà ce que j'ai programmé !

Code : Tout sélectionner

Repeat
If ElapsedMilliseconds()>time
  ClearGadgetItemList(#Tableau)
  Check(numero.s)
  time=ElapsedMilliseconds()+50000
EndIf
Delay(10)
  EventID.l = WindowEvent()
  Select EventID
    Case #PB_Event_Menu ; Un élément du menu a été sélectionné
      Select EventMenuID()
        Case 1
             choix1();
        Case 2
             choix2();

      EndSelect
  EndSelect
Until EventID = #PB_EventCloseWindow
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

fais une recherche sur les timer
(SetTimer_)

Dri ;)
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Dr. Dri a écrit :fais une recherche sur les timer
(SetTimer_)

Dri ;)
merci beaucoup j'ai trouvé ça !

Code : Tout sélectionner

Procedure TimerProc(hwnd.l, uMsg.l, idEvent.l, dwTime.l) 
     Select uMsg 
         Case #WM_TIMER 
             Select idEvent 
                 Case 1 
                     Debug "--------------------1 seconde" 
                     ; Ici, le code à executer toutes les secondes 
                 Case 2 
                     Debug "0.2 secondes" 
                     ; Ici, le code à executer toutes les 200 millisecondes 
                 Case 3 
                     Debug "-------------------------------------------3 secondes" 
                     ; Ici, le code à executer toutes les 3 secondes 
             EndSelect 
     EndSelect 
EndProcedure 


If OpenWindow (0, 100, 100, 100, 100, #PB_Window_SystemMenu , "" ) 
    Handle = WindowID (0) 
     
     SetTimer_ (Handle, 1, 1000, @TimerProc()) ; envoie un evenement toutes les 1000 millisecondes 
     SetTimer_ (Handle, 2, 200, @TimerProc()) ; envoie un evenement toutes les 200 millisecondes 
     SetTimer_ (Handle, 3, 3000, @TimerProc()) ; envoie un evenement toutes les 3000 millisecondes 
     
     Repeat 
     Until WaitWindowEvent () = #PB_Event_CloseWindow 
EndIf 
Question est ce que je peux passer ce que je veux comme variable dans la procedure TimerProc ou bien c'est comme pour les Threads ?
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

T'es pas obligé de passer par une procédure callback... tu peux recevoir l'évennement #WM_TIMER

Dri ;)
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Dr. Dri a écrit :T'es pas obligé de passer par une procédure callback... tu peux recevoir l'évennement #WM_TIMER

Dri ;)
Je crois que j'ai compris merci beaucoup ! je vais faire des tests !
Et question idiote si on veut arrêter un timer on fait comment ?
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

KillTimer_()

Dri ;)
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Ok je suis trop nul merci !! c'est genial....en plus j'ai l'impression que ça marche ...
:lol:
Dr. Dri
Messages : 2527
Inscription : ven. 23/janv./2004 18:10

Message par Dr. Dri »

Thyphoon a écrit :Ok je suis trop nul merci !! c'est genial....en plus j'ai l'impression que ça marche ...
:lol:
Je décline toute responsabilité en cas de non fonctionnement

Dri :P :lol:
Avatar de l’utilisateur
Thyphoon
Messages : 2706
Inscription : mer. 25/août/2004 6:31
Localisation : Eragny
Contact :

Message par Thyphoon »

Merci beaucoup .... :o) c'est le pied !!! :D
Si ça interesse quelqu'un je fais un programme qui permet de suivre son colispost ! Il me reste juste a faire l'interface, et un système de configuration, mais la routine pour aller interroger le site de la poste fonctionne. :D
Comme ça je peux aller gueuler a la poste lorsqu'un colissimo suivi est marqué arrivé dans votre boite aux lettres et que c'est pas le cas... :P
Répondre