Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi timer frage formatdatetime nach x minuten reagieren (https://www.delphipraxis.net/52144-timer-frage-formatdatetime-nach-x-minuten-reagieren.html)

slm 24. Aug 2005 13:31


timer frage formatdatetime nach x minuten reagieren
 
hallo leute

ich hab diesen code

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if tlist.Items.Strings[0] = formatdatetime ('',now) then button1.click;
end;



wie krieg ich es hin das es nach x minuten reagiert

hab das versucht

now+1

das geht aber nicht

kann mir jemand helfen

mfg slm

shmia 24. Aug 2005 13:42

Re: timer frage formatdatetime nach x minuten reagieren
 
Zitat:

Zitat von slm
ich hab diesen code

procedure TForm1.Timer1Timer(Sender: TObject);
begin
if tlist.Items.Strings[0] = formatdatetime ('',now) then button1.click;
end;

wie krieg ich es hin das es nach x minuten reagiert
hab das versucht
now+1
das geht aber nicht

Now + 1.0 ergibt Morgen (gleiche Uhrzeit)
Now + 0.5 ergibt Jetzt + 12 Stunden (=0.5 Tage)
Now + 13 * (1/24/60) ergibt Jetzt in 13 Minuten

tigerman33 24. Aug 2005 13:52

Re: timer frage formatdatetime nach x minuten reagieren
 
Schau mal in der Hilfe in die Unit DateUtils. Da stehen eine Menge Routinen zum Umgang mit Zeit-/Datumswerten drin.

slm 24. Aug 2005 14:29

Re: timer frage formatdatetime nach x minuten reagieren
 
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if tlist.Items.Strings[0] = formatdatetime ('',now) then button1.click;
end;


wenn ich ('',now +1 (1/24/60)) mache passiert garnichts

verstehe ich das richtig das die zeit nie eintrifft

shmia 24. Aug 2005 14:42

Re: timer frage formatdatetime nach x minuten reagieren
 
Zitat:

Zitat von slm
wenn ich ('',now +1 (1/24/60)) mache passiert garnichts
verstehe ich das richtig das die zeit nie eintrifft

Du formatierst nicht richtig.
Lies mal die Hilfe zu FormatDateTime !
FormatDateTime('hhnn', [now +1 (1/24/60)]) liefert die Uhrzeit eine Minute in der Zukunft als String.

ABER!!
deine Vorgehensweise, einen Zeitpunkt über einen String zu vergleichen ist falsch!
Ich weiss nicht, was du vorhast, aber das Grundprinzip eines Countdowns geht so:
1.) man möchte, dass in 10 Minuten der "Wecker klingelt"
2.) man rechnet den Zielzeitpunkt aus: Fziel := Now + 10.0 * (1/24/60) und speichert das in einer Variablen
3.) man lässt jede Sekunde einen Timer feuern und schaut nach, ob die Zielzeit schon erreicht ist
Delphi-Quellcode:
if Now >= Fziel then
   WeckerKlingeln;
4.) zusätzlich kann man die Restzeit in Minuten & Sekunden anzeigen sowie mit einem Progressbar die Restzeit darstellen.
Nach diesem Prinzip habe ich eine komplette DEmo-Anwendung in der Schublade.
Wenn du den Sourcecode willst, dann sag' Bescheid.

slm 24. Aug 2005 14:55

Re: timer frage formatdatetime nach x minuten reagieren
 
@shmia

dank dir werds

mal versuchen

kannst du bitte noch die demo online stellen

mfg slm

dfried 24. Aug 2005 14:57

Re: timer frage formatdatetime nach x minuten reagieren
 
Wenn du keine Ausgabe der "Restzeit" brauchst, so würde ich lieber gleich den Timer-Intervall auf die "Restzeit" festlegen, dann ist das system nicht so belastet, weil jede sekunde gekuckt werden muss ob die Zeit schon um ist!!!

Gruß
Daniel

shmia 24. Aug 2005 15:19

Re: timer frage formatdatetime nach x minuten reagieren
 
Zitat:

Zitat von dfried
Wenn du keine Ausgabe der "Restzeit" brauchst, so würde ich lieber gleich den Timer-Intervall auf die "Restzeit" festlegen, dann ist das system nicht so belastet, weil jede sekunde gekuckt werden muss ob die Zeit schon um ist!!!

Die Systembelastung ist sehr gering; auf meinem Rechner (2.8GHz) bleibt die CPU-Zeit nach einer Stunde auf 0:00:00.
Hier die Demo-Anwendung:
http://www.delphipraxis.net/internal...ct.php?t=62090


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:59 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