bonjour,
comment est ce que je pourrai faire pour savoir combien de temp qu'il reste avant que le timer se "declanche" ?
Version imprimable
bonjour,
comment est ce que je pourrai faire pour savoir combien de temp qu'il reste avant que le timer se "declanche" ?
Code:
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 programmeCode:
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:
1
2
3
4
5
6
7
8 onTimer inc (compteur) if (compteur >50) then begin action... compteur=0; end;