Hallo zusammen,
ich habe auf einer Form ein DateTimePicker, einen Button und einen Timer gestellt.
In den Objekteigenschaften:
DateTimePicker.Format = HH:mm:ss
DateTimePicker.DateMode = DmUpDown
Ziel ist ein einfacher Countdown:
Zeit eingeben, auf START drücken und wenn Zeit bei NULL angekommen ist, ShowMessage ausgeben.
Das mit dem Rückwärtszählen funktioniert bereits einwandfrei, nur übernimmt DateTimePicker nicht die vom Benutzer eingestellte Zeit sondern die beim Programmstart aktuelle.
Delphi-Quellcode:
// === Press START =============================================================
procedure TForm1.Button1Click(Sender: TObject);
begin
// = Start Timer
Timer1.Enabled := true;
end;
// === Countdown Timer =========================================================
procedure TForm1.Timer1Timer(Sender: TObject);
begin
// = DateTimePicker -1 s
DateTimePicker1.DateTime := IncSecond(DateTimePicker1.DateTime, -1);
If DateTimePicker1.DateTime*86400 <= 0 then
begin
ShowMessage('countdown abgelaufen');
timer1.Enabled := false;
end;
end;
Wie bringe ich DateTimePicker dazu, die vom Benutzer eingestellte Zeit als .DateTime Wert zu verwenden?