AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Restzeit von einen Countdown

Ein Thema von Deadinpac · begonnen am 23. Nov 2005 · letzter Beitrag vom 28. Nov 2005
Antwort Antwort
Seite 2 von 2     12   
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#11

Re: Restzeit von einen Countdown

  Alt 24. Nov 2005, 06:49
Ich verstehe nicht genau was du meinst. Ich dachte er zählte vor meinem Korrekturpost so:
Code:
00:13:03 - 00:13:02 - 00:13:01 - 00:13:00 - 00:12:60 - 00:12:59 - 00:12:58
und dann hast du geschrieben
Zitat von Deadinpac:
ne jetzt zählt er so 0 -1 59 ^^
Also habe ich angenommen, dass er so zählt:
Code:
00:13:03 - 00:13:02 - 00:13:01 - 00:13:00 - 00:12:59 - 00:12:58 - 00:12:57
Und so ist das ja ok, oder?

Grüße
Faux
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#12

Re: Restzeit von einen Countdown

  Alt 24. Nov 2005, 19:56
Moin,

ne mom zählt er so 00:13:01 - 00:13:-1 - 00:12:59

und vorher hat er so gezählt 00:13:01 - 00:13:-1 - 00:12:58

Aber ihr könnt euch selber überzeugen

wenn ihr es dann besser versteht was ich meine

Aber ned erschrecken wenn da noch ein paar variabeln sind die noch ned benutzt sind die muss ich noch rausnehmen

MFG
Sven
Angehängte Dateien
Dateityp: zip schoolwarstimer_106.zip (304,2 KB, 16x aufgerufen)
Sven Grimm
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#13

Re: Restzeit von einen Countdown

  Alt 24. Nov 2005, 20:43
so müßte es funktionieren

Delphi-Quellcode:
var endtime:TDateTime;

procedure TMain.Button1Click(Sender: TObject);
begin
   endtime:=Now+EncodeTime(StrToInt(Edit1.Text),StrToInt(Edit2.Text),
                                 StrToInt(Edit3.Text),0);
   Timer1.Interval:=500; // nicht 1000
   Timer1.Enabled:=true;
end;

procedure TMain.Timer1Timer(Sender: TObject);
var hh,mm,ss,ms:word; timetoend:TDateTime;
begin
   timetoend:=endtime-Now;
   if timetoend<0 then timetoend:=0;
   DecodeTime(timetoend,hh,mm,ss,ms);
   Edit1.Text:=IntToStr(hh);
   Edit2.Text:=IntToStr(mm);
   Edit3.Text:=IntToStr(ss);
   if timetoend>0 then exit;
   Timer1.enabled:=false;
   ShowMessage('Deine Zeit ist abgelaufen.');
end;
  Mit Zitat antworten Zitat
Benutzerbild von faux
faux

Registriert seit: 18. Apr 2004
Ort: Linz
2.044 Beiträge
 
Turbo Delphi für Win32
 
#14

Re: Restzeit von einen Countdown

  Alt 24. Nov 2005, 21:06
Zitat von Deadinpac:
Moin,
ne mom zählt er so 00:13:01 - 00:13:-1 - 00:12:59
und vorher hat er so gezählt 00:13:01 - 00:13:-1 - 00:12:58
Aber ihr könnt euch selber überzeugen
wenn ihr es dann besser versteht was ich meine
Aber ned erschrecken wenn da noch ein paar variabeln sind die noch ned benutzt sind die muss ich noch rausnehmen
MFG
Sven
Denke mal, du hast die Variablen nicht inizialisiert, oder?
Faux Manuel
Wer weiß, dass er nichts weiß, weiß mehr, als der der nicht weiß, dass er nichts weiß.
GoTrillian
  Mit Zitat antworten Zitat
Deadinpac

Registriert seit: 8. Aug 2003
Ort: Oberreute
74 Beiträge
 
Delphi 2007 Enterprise
 
#15

Re: Restzeit von einen Countdown

  Alt 25. Nov 2005, 20:11
Zitat von faux:
Zitat von Deadinpac:
Moin,
ne mom zählt er so 00:13:01 - 00:13:-1 - 00:12:59
und vorher hat er so gezählt 00:13:01 - 00:13:-1 - 00:12:58
Aber ihr könnt euch selber überzeugen
wenn ihr es dann besser versteht was ich meine
Aber ned erschrecken wenn da noch ein paar variabeln sind die noch ned benutzt sind die muss ich noch rausnehmen
MFG
Sven
Denke mal, du hast die Variablen nicht inizialisiert, oder?
@ Faux

Ich habe ja nicht deine variabeln benutzt ich hab sie eben abgeändert wie ich sie brauche.

@ Amateurprofi

Ja dein Code geht auch

Nur was mir aufgefallen ist nach den man auf Start klickt laufen die ersten beiden sekunden zu schnell ab und erst dann läuft er normal.

MFG
Sven
Sven Grimm
  Mit Zitat antworten Zitat
Amateurprofi

Registriert seit: 17. Nov 2005
Ort: Hamburg
1.041 Beiträge
 
Delphi XE2 Professional
 
#16

Re: Restzeit von einen Countdown

  Alt 28. Nov 2005, 04:04
Hallo Sven,
bei mir laufen auch die ersten Sekunden normal.
Was passiert denn in dem Programm?:
1) Bei Button1Click werden die Stunden, Minuten, Sekunden aus den Edit Feldern geholt,
in TDateTime umgewandelt. Das Ergebnis wird zum aktuellen Datum.Zeit addiert und in
endtime gespeichert.
Dann wird der Timer auf ein Intervall von 1/2 Sekunde gestellt und enabled auf true gesetzt.
Also sollte Timer1Timer jede 1/2 Sekunde aufgerufen werden.
2) Bei Timer1Timer wird dann die Differenz zwischen endtime und aktueller Zeit, also die Restzeit
in Stunden, Minuten, Sekunden umgewandelt und in die Edit Felder gestellt.
Wenn nun die ersten Sekunden bei Dir schneller ticken, dann fallen mir nur zwei mögliche Ursachen ein
(a) der Timer läßt sich in den ersten Sekunden etwas mehr Zeit
(b) die Uhr geht falsch.
Bedenke :
Das Programm zählt nicht die hh,mm,ss runter sondern berechnet bei jedem Timer Event die Restzeit neu.
Vielleicht solltest Du mit dem QueryPerformanceCounter arbeiten. Ist etwas aufwendiger, sollte aber exakter laufen.
Gruß, Klaus
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 07:20 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz