Ich würde nicht das Intervall des Timers benutzen, um auf einen bestimmten Zeitpunkt zu "warten". Nimm lieber einen TDateTime Wert und prüfe jede Sekunde ob seit jetzt und der letzten Aktualisierung eine bestimmte Zeit vergangen ist.
Der Vorteil von TDateTime Werten liegt darin, dass die
RTL jede Menge nützliche Funktionen bietet, mit denen du z.B. formatierte Strings direkt in Datum-und Zeitwerte konvertieren kannst.
Delphi-Quellcode:
type
TForm1 = class(TForm)
Timer1: TTimer;
procedure Timer1Timer(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
LetzeAktualisierung: TDateTime;
public
{ Public-Deklarationen }
end;
var
Form1: TForm1;
implementation
uses DateUtils;
{$R *.dfm}
procedure TForm1.Timer1Timer(Sender: TObject);
begin
If SecondsBetween(Now, LetzteAktualisierung) >= 3600 then
begin
DoSomething;
LetzteAktualisierung := Now;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
LetzteAktualisierung := 0;
end;
end.
Dani H.
At Least I Can Say I Tried