Compte a rebour et chronométre

[Résolu]
Signaler
Messages postés
395
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
-
Messages postés
395
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
-
Comment créer un chronométre et compte à rebour avec les vrais secondes



Car le probleme des timer est de ralentir et de fausser la précision



Je connait GetTickCount mais je n'arrive pas a trouver la solution.

3 réponses

Messages postés
228
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
4 janvier 2008
1
oh là apparement j'ai un peu buggé alors je le refais :

voilà un exemple d'utilisation de l'API GetTickCount :
'tout d'abord tu le déclare
Private Declare Function GetTickCount Lib "kernel32" () As Long

'pour appeler cette fonction tu fais : call(nbrMillisecondes que tu veux attendre)
Private Function Pause(lnbmilliseconds As Long)
Dim wait As Long

wait = GetTickCount + lnbmilliseconds
Do Until GetTickCount >= wait
DoEvents
Loop
End Function

Après il existe la fonction Timer :

Dim PauseTime, Start, Finish, TotalTime
If (MsgBox("Appuie sur Yes pour faire une pause de 5 secondes", 4)) = vbYes Then
PauseTime = 5 ' nombre de secondes que tu veux attendre
Start = Timer
Do While Timer < Start + PauseTime
DoEvents
Loop
Finish = Timer
TotalTime = Finish - Start ' Nombre de secondes que tu as attendu
MsgBox "Paused for " & TotalTime & " secondes"
Else
End
End If



Deluka.
3
Merci

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

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

Messages postés
228
Date d'inscription
mardi 5 avril 2005
Statut
Membre
Dernière intervention
4 janvier 2008
1
voilà un exemple d'utilisation de l'API GetTickCount :

'tout d'abord tu le déclare
Private Declare Function GetTickCount Lib "kernel32" () As Long

'pour appeler cette fonction tu fais : call(nbrMillisecondes que tu veux attendre)
Private Function Pause(lnbmilliseconds As Long)
Dim wait As Long

wait = GetTickCount + lnbmilliseconds
Do Until GetTickCount >= wait
DoEvents
Loop
End Function

Après il existe la fonction Timer :

Dim PauseTime, Start, Finish, TotalTime,i
i=0
If (MsgBox("Appuie sur Yes pour faire une pause de 5 secondes", 4)) = vbYes Then
   PauseTime = 5   ' nombre de secondes que tu veux attendre
   Start = Timer   
   Do While Timer < Start + PauseTime
      DoEvents
   Loop
   Finish = Timer   
   TotalTime = Finish - Start   ' Nombre de secondes que tu as attendu
   MsgBox "Paused for " &amp; TotalTime &amp; " secondes"
Else
   End
End If


<!--FOOTER_START-->




Deluka.
Messages postés
395
Date d'inscription
jeudi 26 août 2004
Statut
Membre
Dernière intervention
19 juin 2009
1
tu m'as donnas donné une idée avec la fonction Sleep : Public Declare
Sub Sleep Lib "kernel32.dll" (ByVal dwMilliseconds As Long) 'Pour fair
patienter le PC

Et ca marchera aussi bien



Merci quand même de ton aide , tu ma donné le Tilt' !!