Sacht mal Jungs, jede Millisekunde? Prüfe 1x pro Minute, bimmle, sobald die aktuelle Zeit GRÖßER als die Weckzeit ist und stell den Wecker dann einfach ab!
Delphi-Quellcode:
Procedure TForm1.WeckerTimer (Sender : TObject);
Begin
If Now > MyWeckZeit Then Begin
Wecker.Enabled := False;
BimmelBim;
End;
End;
Procedure TForm1.btWeckerStellenClick(Sender : TObject);
Begin
MyWeckZeit := Date + StrToTime (edWeckZeit.Text);
End;
Auf der Form ist ein Edit-Feld 'edWeckZeit', ein Timer 'Wecker'. Deklariert ist ein Feld 'MyWeckzeit : TDateTime' und eine Methode 'BimmelBim' die bimmelt.