DJ_FleX
Messages postés29Date d'inscriptionsamedi 1 novembre 2003StatutMembreDernière intervention 8 février 2007
-
28 oct. 2006 à 12:23
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 2014
-
28 oct. 2006 à 18:43
Bonjour,
J'ai un timer qui me sert a passer d'une tache a une autre suivant la durée de celles-ci.
Mais je n'arrive pas a récupérer le temps qui s'écoule afin que je puisse affiché le temps écoulé et le temps restant.
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 28 oct. 2006 à 12:43
Salut,
tu ne peux pas récupérer sa valeur, il faut donc en avoir deux, voici un petit exemple :
* pour cela, ouvre un nouveau projet, place sur la Form 2 timer et 1 Label puis colle ce code
Option Explicit
Dim i As Long
Private Sub Form_Load()
i = 1
Label1.Height = 495
Label1.Width = 1935
Timer1.Interval = 10000
Timer1.Enabled = True
Timer2.Enabled = True
Timer2.Interval = 1000
End Sub
Private Sub Timer1_Timer()
' ton code pour ce que tu as faire
Timer2.Enabled = False
End Sub
Private Sub Timer2_Timer()
Label1.WordWrap = True
Label1.Caption = "Temps accompli : " & i & _
" s. Temps restant : " & (Timer1.Interval / 1000) - i & " s."
i = i + 1
End Sub
--Mortalino-- Colorisation automatique
T'auras plus qu'à adapter !
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 28 oct. 2006 à 15:00
Oui, désolé, je n'avais pas fait attention à la rubrique. Je ne suis pas en dotnet.
Mais je pense que c'est facilement adaptable.
En gros, le but, c'est d'avoir un deuxieme timer qui connait la valeur du premier timer, tu comptes avec le second chaque seconde, et arrivé à expiration du 1er timer, tu arrêtes le second
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
mortalino
Messages postés6786Date d'inscriptionvendredi 16 décembre 2005StatutMembreDernière intervention21 décembre 201118 28 oct. 2006 à 17:54
Salut,
il me semblait que cette API (et donc son équivalent en dotnet : System.Environment.TickCount) ne calculait que le temps passé depuis l'ouverture de windows.
Me trompe-je ? (jamais utilisé)
@++
<hr width="100%" size="2" />
--Mortalino--
Le mystérieux chevalier, "Provençal, le Gaulois"
/DIV>
cs_casy
Messages postés7741Date d'inscriptionmercredi 1 septembre 2004StatutMembreDernière intervention24 septembre 201440 28 oct. 2006 à 18:43
GetTickCount comptabilise le nombre de millisecondes depuis le lancement de Windows. Précision +-/1ms
Elle est utiliser pour faire des mesures de temps relativement précises (ex: durée d'execution d'une procedure) en mémorisant la valeur au début de la mesure, à la fin de la mesure et en faisant la différence.
Pour une mesure plus précise, il faut utiliser QueryPerformanceCounter, mais elle ne fonctionne pas sur tous les processeurs. Précision <1ms en fonction de processeur, en général de l'ordre de 100ns
Pour info, la mesure avec la fonction Timer (pas le controle) n'est pas précise, elle a une résolution de 18.2ms autant dire qu'elle est juste à +/-20ms.
---- Sevyc64 (alias Casy) ---- # LE PARTAGE EST NOTRE FORCE #