Timer dans boucle

Résolu
jbbordas87 Messages postés 49 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 2 mars 2006 - 27 sept. 2005 à 10:25
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 - 27 sept. 2005 à 17:13
bonjours, je suis nouveau dans la programmation en VB. Je doit faire
une aquisition tout les X temps. Xest un parramettre entrez en option
par l'utilisateur.



Voila comment ca ce passe:



l'utilisateur clique sur un bouton(surveillance) et une fois cliquer le
timer doit se mettre en route. Tout les x temps je doit faire
l'aquisition de nouvelle donner.



Mon probleme est que je ne voit pas comment integrer mon timer a
l'action du bouton, de plus je ne vois pas comment integrer le timer
dans ma boucle pour qu'il fasse l'acquisition tout les X temps.





Merci d'avance de bien vouloir m'éclairer car malgrer se que j'ai deja
lue sur le forum a propos des timer j'arrive toujours pas a me
depatouiller.
A voir également:

6 réponses

cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
27 sept. 2005 à 10:52
Bonjour,
Pas besoin de boucle si tu utilises un timer car celui-ci va tout les X temps executer les instructions qui sont dans son événement Timer. Tu places dans cet événement ce que tu veux voir exemple ci-dessous

Voici un exemple simple ci-dessous. Toute les 5 secondes un message va s'afficher et incrémenter une variable qui indique le nombre de fois que ton timer executera tes instructions.

Tu as besoin d'un button1 et d'un timer1 pour l'exemple

<8---------------------------------------------------------

Dim compteur As Integer


Private Sub Command1_Click()


Timer1.Enabled = True

End Sub


Private Sub Form_Load()


compteur = 1
Timer1.Interval = 5000

End Sub


Private Sub Timer1_Timer()


MsgBox "message numéro " & compteur
compteur = compteur + 1

End Sub

--------------------------------------------------------->8


Si la réponse te conviens merci de l'accepter
3
jbbordas87 Messages postés 49 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 2 mars 2006
27 sept. 2005 à 11:22
merci beaucoup pour ta reponse.

Mais tant qu'a faire j'en ai une autre petite toujours sur ce meme timer(si il faut un autre sujet dit le moi)



voila j'aimerais que l'orsque je reclique sur commande 1 le timer s'arrette.

j'ai penser faire un teste avec une variable que jappelrais OK



Private Sub Command1_Click()



If ok =1 Then

Timer1.Enabled = True
ok =2



Else


Timer1.Enabled = False

ok = 1

End Sub




Private Sub Form_Load()



ok =1

compteur = 1
Timer1.Interval = 5000

End Sub




Private Sub Timer1_Timer()


MsgBox "message numéro " & compteur
compteur = compteur + 1

End Sub







et la le timer ne marche meme plus!!! pourquoi???



encors merci pour ta reponse de tout a l'heure
0
jbbordas87 Messages postés 49 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 2 mars 2006
27 sept. 2005 à 11:28
oups désoler en faite j'ai comprit mon erreur, j'avait pas bien affecter mon timer: je m'explique



voila pour des raison de rapiditer j'avait mis mon timer a 10 seconde dale la fonction From_Load.



mais j'avait pas changer au niveau des proprieter ( bar d'outils a
droite en bas.) D'ailleur je ne comprend pas pourquoi c'est ce
paramettre qu'il prend et pas l'autre?





merci quand meme
0
cs_Willi Messages postés 2375 Date d'inscription jeudi 12 juillet 2001 Statut Modérateur Dernière intervention 15 décembre 2018 22
27 sept. 2005 à 11:57
De rien sinon ta variable OK déclare la en type Boolean (Vrai ou Faux) c'est plus adapté à ta situation de démarrage/arret
Un conseil pr les varaibles nommes les en insérant un préfixe qui permet de déterminer quel type de variable on traite.
Pour ta variable de démarrage/arret si tu la déclare en boolean nomme la "bTimer" par exemple
Pour les chaines de caractère place un "s" en préfixe, pour les integer un "i", les long un "l", les date "dt", les doubles "dbl"....
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
jbbordas87 Messages postés 49 Date d'inscription mardi 27 septembre 2005 Statut Membre Dernière intervention 2 mars 2006
27 sept. 2005 à 13:36
Merci du conseil je vais l'apliquer de suite sinon tu sais pourquoi si
je change que le paramettre Timer1.Interval=..... le timer n'est pas
changer???



Pour le changer je doit le faire dans les options du timer et vue que
je doit recuperer se paramettre grace a un fichier ca me serais utils
de savoir comment je peux changer la valeur du timer sans paser par
l'outil de develloppement



merci
0
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
27 sept. 2005 à 17:13
Salut !

au lieu de mettre une variable globale 'ok' tu peux inverser la propriété de ton timer comme cela :


Timer1.Enabled = Not Timer1.Enabled

pour le timer.interval quand tu le change il n'est pris en compte que la prochaine fois qu'il passe dessus par exemple si ton timer est à 10sec et que tu lui met 0.5secondes alors il passera à 0.5secondes une fois qu'il aura terminer ses 10secondes.

Au fait fais attention au messages box dans les timer c'est pas une bonne idée.. tu peux facilement planter ton appli comme ça

bonne prog

Deluka.
0
Rejoignez-nous