Wenn du es mit Timer sonst nicht so übertreibst, warum nicht einfach einen 300000er-Timer?
Also das du mit "div" nicht weit kommst, kannst'e dir wohl denken, oder?
Du könntest/mütest dir den letzen Wert merken und warten bis sich das Ergebnis ändert.
Und mit "/" erst recht (bei all den Threads bezüglich dem "Vergleichen" bei Fließkommazahlen
)
Wenn du gegen einen internen Zähler prüfst, welcher nur an einer Stelle,
in diesem Timerereignis, geändert wird, dann kann man mit =0 arbeiten, wen man z.B. gegen die Unrzeit prüft, dann sieht das ganz anders aus, da ma dort nicht unbedingt genau diesen Moment treffen muß.
Sowas kann man z.b. in einem Timer mit einem Intervall von 1 Sekunde bis 1 Minute (wenn "div y" wehr als eine Minute) ... je nach genauigkeit
Delphi-Quellcode:
X := Trunc(TimeOf(Now) * MinsPerDay) div 5;
if X <> LastX then begin
LastX := X;
// mach was, zu jeder vollen 5. Minute (5, 10, 15, ...)
end;
// oder wenn man mehreres in Minutenintervallen prüfen will
X := Trunc(TimeOf(Now) * MinsPerDay);
if X div 5 <> LastX1 then begin
LastX1 := X div 5;
// mach was, zu jeder vollen 5. Minute (0, 5, 10, 15, ...)
end;
if X div 10 <> LastX2 then begin
LastX2 := X div 10;
// mach was, zu jeder vollen 10. Minute (0, 10, 20, 30, ...)
end;
Es hat sogar den Vorteil, daß es nicht vom Startzeitpunkt des timer abhängt. (5 Minuten können da ja auch 3, 8, 13, 18 usw. sein)