Comment insérer un compte à rebours dans une boucle d'acquisition?

Résolu
kouby2k3
Messages postés
13
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
28 novembre 2004
- 25 sept. 2004 à 16:28
kouby2k3
Messages postés
13
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
28 novembre 2004
- 1 oct. 2004 à 18:30
Bonjour @ tous,

g un pb pour insérer un compte à rebours dans une fonction qui a pour but d'acquérir les données du port parallèle plus souvent de fois possible.

g bien trouvé la source suivante dans le forum:

****************************************************
public Chrono as long

private sub form_load()
' Un intervalle de 1 seconde
timer1.interval=1000
Chrono=5
end sub

private sub timer1_timer()
' Chaque seconde ce code s'executera
' Si le compte à rebours est terminé
If Chrono=0 then
timer1.enabled=false
form1.show
End If
' on enlève 1 seconde au chrono
Chrono=Chrono-1
Label1.caption=str(Chrono)
end sub
**************************************************

le pb est que cela va surement ralentir l'acquisition du signal tte les 1 secondes (à cause du traitement de la fonction timer1_timer), et de plus, je ne sais pas comment réagit le timer par rapport aux ressources de l'ordi.

Attention, je veux forcement faire un compte à rebours, pour limiter ainsi la fonction d'acquisition (boucle Do/Loop).

Merci d'avance. ;)

koub.

5 réponses

cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
25 sept. 2004 à 16:37
Salut kouby2k3
Les Timer ne sont pas précis et il arrive fréquemment qu'un cycle ne soit pas exécuté, faute de ressource. Ca, on n'y peut rien.

Par contre, une autre solution :
Puisque tu fais une boucle quelque part (...) dans ta fonction d'acquisition, pourquoi ne pas limiter l'acquisition elle-même.
Dim Temps As Date
Temps = Now
Do While Abs(DateDiff("s", Now, Temps)) < 5
... ' ton code d'acquisition
DoEvents
Loop
Avec ce code, tu sortiras du Do-Loop 5 secondes après l'avoir lancé.
Je ne sais pas si ça répond à ta question ...

Vala
Jack
3
kouby2k3
Messages postés
13
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
28 novembre 2004

25 sept. 2004 à 16:57
Merci beaucoup Jack pour ta rapidité,

Ca réponds pas mal du tout à ma question, mais comment puis-je afficher le décomptage dans un label par ex? Car je comprends pas du tout les arguments de la fonction... costaud ;)

@ bientot,

koub.
0
kouby2k3
Messages postés
13
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
28 novembre 2004

25 sept. 2004 à 16:59
a tt hasard:

Label1.Caption = Cstr(Abs(DateDiff("s", Now, Temps)))

dans ma boucle d'acquisition?
0
cs_Jack
Messages postés
14007
Date d'inscription
samedi 29 décembre 2001
Statut
Modérateur
Dernière intervention
28 août 2015
80
26 sept. 2004 à 02:25
Tu crois pas que tu aurais gagné du temps en l'essayant ?
0

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

Posez votre question
kouby2k3
Messages postés
13
Date d'inscription
samedi 8 novembre 2003
Statut
Membre
Dernière intervention
28 novembre 2004

1 oct. 2004 à 18:30
franchement désolé... je suis un boulet par moment...

merci encore de ta réponse...

++, koub.
0