Compte a rebour et chronométre

Résolu
cs_nico1610 Messages postés 395 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 19 juin 2009 - 9 juin 2005 à 15:26
cs_nico1610 Messages postés 395 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 19 juin 2009 - 9 juin 2005 à 19:12
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.
A voir également:

3 réponses

cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
9 juin 2005 à 17:36
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
cs_franckydeluka Messages postés 228 Date d'inscription mardi 5 avril 2005 Statut Membre Dernière intervention 4 janvier 2008 1
9 juin 2005 à 16:36
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.
0
cs_nico1610 Messages postés 395 Date d'inscription jeudi 26 août 2004 Statut Membre Dernière intervention 19 juin 2009 1
9 juin 2005 à 19:12
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' !!
0
Rejoignez-nous