Einzelnen Beitrag anzeigen

nytaiceman

Registriert seit: 15. Dez 2005
Ort: Schweiz, Bern
58 Beiträge
 
Delphi XE3 Professional
 
#1

DateTimePicker - Eingegebene Zeit wird nicht übernommen?

  Alt 13. Jul 2012, 13:26
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?
Einfach ist nur einfach, wenn Einfach auch einfach ist!
Vermeintlich einfache Workarounds führen irgendwann zu Problemen!
  Mit Zitat antworten Zitat