Timer dans boucle [Résolu]

Messages postés
49
Date d'inscription
mardi 27 septembre 2005
Dernière intervention
2 mars 2006
- - Dernière réponse : cs_franckydeluka
Messages postés
228
Date d'inscription
mardi 5 avril 2005
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.
Afficher la suite 

6 réponses

Meilleure réponse
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
3
Merci
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

Dire « Merci » 3

Quelques mots de remerciements seront grandement appréciés. Ajouter un commentaire

Codes Sources 97 internautes nous ont dit merci ce mois-ci

Messages postés
49
Date d'inscription
mardi 27 septembre 2005
Dernière intervention
2 mars 2006
0
Merci
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
Messages postés
49
Date d'inscription
mardi 27 septembre 2005
Dernière intervention
2 mars 2006
0
Merci
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
Messages postés
2382
Date d'inscription
jeudi 12 juillet 2001
Dernière intervention
15 décembre 2018
0
Merci
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"....
Messages postés
49
Date d'inscription
mardi 27 septembre 2005
Dernière intervention
2 mars 2006
0
Merci
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
Messages postés
228
Date d'inscription
mardi 5 avril 2005
Dernière intervention
4 janvier 2008
0
Merci
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.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.