bonjour,
comment est ce que je pourrai faire pour savoir combien de temp qu'il reste avant que le timer se "declanche" ?
bonjour,
comment est ce que je pourrai faire pour savoir combien de temp qu'il reste avant que le timer se "declanche" ?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10 Begin ////Dans le OnTimer Last := GetTickCount; end; /////Dans OnClick par exemple///// Begin Temps_Restant := Timer1.Interval-(GetTickCount-Last); //Devrait aller normalement !! end;
non, ca va pas, le probleme je croi c'es que last prend la valeur de gettickcount que quand le timer est fini
Oui mais faut initialiser le last au onCreate de la form
Pcq si ton Timer1.Interval = 30 secondes, la première initialisation de Last sera 30 secondes après l'ouverture du programme
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2 Last := GetTickCount;
NB: le timer n'est pas Précis![]()
oui, je souscris, le timer sous windows est soumis à l'environnement et n'est pas un modèle de précision. Sur une machine sans réseau et avec un os du genre win 2000 (sans tâches de fond particulières), on doit cependant avoir de bons résultats au-dessus de 100ms de précision.
J'entrevois une solution à tester (dans les limites de l'imprécision déjà signalée).
Utiliser un compteur dans l'évenement OnTimer qui déclenche une action toutes les N occurences de l'intervalle du Timer. Un truc du genre
Si la variable compteur est globale il est facile de la tester.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8 onTimer inc (compteur) if (compteur >50) then begin action... compteur=0; end;
Partager