![]() |
DateTimePicker - Eingegebene Zeit wird nicht übernommen?
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:
Wie bringe ich DateTimePicker dazu, die vom Benutzer eingestellte Zeit als .DateTime Wert zu verwenden?
// === 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; |
AW: DateTimePicker - Eingegebene Zeit wird nicht übernommen?
Zitat:
|
AW: DateTimePicker - Eingegebene Zeit wird nicht übernommen?
Delphi-Quellcode:
var
t:TTime; begin DateTimePicker1.DateTime := IncSecond(DateTimePicker1.DateTime, -1); Showmessage(DateTimeToStr(DateTimePicker1.Time) +'-'+ FloatToStr(DateTimePicker1.Time)); t := Frac(DateTimePicker1.Time); Showmessage(DateTimeToStr(t) +'-'+ FloatToStr(t)); end; |
AW: DateTimePicker - Eingegebene Zeit wird nicht übernommen?
Ok, das mit der Bedingung habe ich vermutlich falsch gemacht, das muss ich noch anschauen.
Aber ich komme ja gar nicht soweit, weil wenn der Benutzer im DateTimePicker z.B. 10 Sekunden einstellt, wird nach Drücken auf START komischerweise nicht die vom Benutzer eingestellte Zeit übernommen und verrechnet, sondern der beim Programmstart aktuelle Zeitstempel. Das ist meine eigentliche Frage, danke trotzdem für den Hinweis! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:15 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz