![]() |
Re: Countdown funktioniert nicht richtig?!
Zitat:
Zitat:
Delphi-Quellcode:
keinen Sinn.
DateTimePicker1.Time := DateTimePicker2.Time;
Und zwar aus folgendem Grunde. DateTimePicker1 wird für das aktuelle Datum genutzt (mehr nicht!) DateTimePicker2 wird für die aktuelle Uhrzeit genutzt (mehr nicht!) Also ist es folglich unsinnig, die Zeit vom 1 auf den 2 zuzuweisen! |
Re: Countdown funktioniert nicht richtig?!
Dann versuch es mal so:
Delphi-Quellcode:
DateTimePicker1.Time := trunc(DateTimePicker1.Date) + frac(DateTimePicker2.Time);
|
Re: Countdown funktioniert nicht richtig?!
Zitat:
Allerdings ist mir gerade aufgefallen, das der Countdown an sicht immer eine Sekunde zu wenig zählt. BSP: Countdown endet um 00:00:00 und jetzt haben wir es 23:59:55 das macht ja eine Differenz von 5 Sekunden. Allerdings wird angezeigt "Nur noch 4 Sekunden". Das ist ansich ja nicht das Problem, das Problem ist, das ich 2x die Nachricht (ShowMessage) erhalte! EDIT: Trick 17 mit selbstüberlistung. Ich zähle einfach Sekunden+1. Allerdings habe ich dann immernoch 2 Nachrichten! Hier der Code:
Delphi-Quellcode:
procedure TForm2.Timer3Timer(Sender: TObject);
VAR EndDatum : TDateTime; Aktuell : TDateTime; Dazwischen : Integer; Tage, Stunden, Minuten, Sekunden : Integer; BEGIN // Countdown DateTimePicker1.Time := trunc(DateTimePicker1.Date) + frac(DateTimePicker2.Time); EndDatum := DateTimePicker1.DateTime; Aktuell := Now; Dazwischen := SecondsBetween(Aktuell, EndDatum); Tage := Dazwischen div (60*60*24); Dazwischen := Dazwischen - (Tage * 60 * 60 * 24); Stunden := Dazwischen div (60*60); Dazwischen := Dazwischen - (Stunden * 60 * 60); Minuten := Dazwischen div 60; Dazwischen := Dazwischen - ( Minuten * 60); Sekunden := Dazwischen; Form1.Label4.Font.Color := clred; Form1.Label4.Caption := Format('%d Tage, %d Stunden, %d Minuten & %d Sekunden bis ' + Edit5.Text + '!', [Tage, Stunden, Minuten, Sekunden+1]); IF (Tage <= 0) AND (Stunden<=0) AND (Minuten<=0) AND (Sekunden<=0) THEN BEGIN IF CheckBox10.Checked THEN BEGIN sndPlaySound(PChar(ExtractFilePath(ParamStr(0)) + 'Wecker.wav'),SND_ASYNC); END; ShowMessage('Ihr Countdown ist nun beendet! '+ (Edit5.text)); Form1.Label4.Hide; CheckBox9.Checked := false; CheckBox10.Checked := false; sndPlaySound(nil,0); END; END; |
Re: Countdown funktioniert nicht richtig?!
begin, end
|
Re: Countdown funktioniert nicht richtig?!
EDIT: Hab den Fehler gefunden! ShowMessage als letztes setzten :wall:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:17 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