Einzelnen Beitrag anzeigen

Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.062 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Restzeit von einen Countdown

  Alt 28. Nov 2005, 05:04
Hallo Sven,
bei mir laufen auch die ersten Sekunden normal.
Was passiert denn in dem Programm?:
1) Bei Button1Click werden die Stunden, Minuten, Sekunden aus den Edit Feldern geholt,
in TDateTime umgewandelt. Das Ergebnis wird zum aktuellen Datum.Zeit addiert und in
endtime gespeichert.
Dann wird der Timer auf ein Intervall von 1/2 Sekunde gestellt und enabled auf true gesetzt.
Also sollte Timer1Timer jede 1/2 Sekunde aufgerufen werden.
2) Bei Timer1Timer wird dann die Differenz zwischen endtime und aktueller Zeit, also die Restzeit
in Stunden, Minuten, Sekunden umgewandelt und in die Edit Felder gestellt.
Wenn nun die ersten Sekunden bei Dir schneller ticken, dann fallen mir nur zwei mögliche Ursachen ein
(a) der Timer läßt sich in den ersten Sekunden etwas mehr Zeit
(b) die Uhr geht falsch.
Bedenke :
Das Programm zählt nicht die hh,mm,ss runter sondern berechnet bei jedem Timer Event die Restzeit neu.
Vielleicht solltest Du mit dem QueryPerformanceCounter arbeiten. Ist etwas aufwendiger, sollte aber exakter laufen.
Gruß, Klaus
  Mit Zitat antworten Zitat