Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi auf bestimmte Uhrzeit reagieren. (https://www.delphipraxis.net/62465-auf-bestimmte-uhrzeit-reagieren.html)

n0b0dy 5. Feb 2006 07:48


auf bestimmte Uhrzeit reagieren.
 
guten morgen @all,

ich möchte, dass mein Programm auf eine bestimmte Uhrzeit reagiert....

habe auch schon paar threads dazu im forum gefunden, aber nichts klappt so wirklich:

in einem Timer mache ich das in etwa so:

Delphi-Quellcode:
procedure TFrmMain.TmrAlarmTimer(Sender: TObject);
begin
  { Im Edit steht dann soetwas: 08:46:00 }
  if Now > StrToTime(EdtAlarmTime.Text) then
    ShowMessage('Alarm');
end;
irgendwie zeigt er schon bei jedem Timerdurchlauf dieses "Alarm" :?
Des weiteren möchte ich, dass er nicht die Sekunden beachtet...Also reicht völlig, wenn ich im Edit zB "08:46" eingebe....

ich weiß, dass das schon öfter diskutiert wurde, aber ich kriegs einfach net. hab so viele Varianten schon ausprobiert....nun bin ich am verzweifeln :gruebel:

Bye

PierreB 5. Feb 2006 07:59

Re: auf bestimmte Uhrzeit reagieren.
 
Delphi-Quellcode:
procedure TFrmMain.TmrAlarmTimer(Sender: TObject);
begin
  { Im Edit steht dann soetwas: 08:46:00 }
  if StrToTime(EdtAlarmTime.Text) = Now then
    ShowMessage('Alarm');
end;

n0b0dy 5. Feb 2006 08:33

Re: auf bestimmte Uhrzeit reagieren.
 
ich würde es aber im nur im 10Sek takt überprüfen lassen... und dann genau diese zeit zu treffen ist ja eher unmöglich. und wenn ich mit > arbeite zeigt er immer alarm...ich versteh net warum das net geht...

das bsp da eben ging bei mir auch net... zeigt einfach kein alarm.. :cry:

PierreB 5. Feb 2006 08:37

Re: auf bestimmte Uhrzeit reagieren.
 
Stell mal im Objektinspektor beim Timer die Eigenschaft Interval auf 500.

dataspider 5. Feb 2006 08:41

Re: auf bestimmte Uhrzeit reagieren.
 
Hi,

Zitat:

arbeite zeigt er immer alarm...ich versteh net warum das net geht...
Das liegt daran, dass Now eine TDateTime ist.
Und für Delphi ist halt 05.02.2006 09:42:00 auch grösser als 06:00:00 Uhr.
Also sollte man von Now nur die Zeit extrahieren und nicht vergessen, den Timer dann auch zu Disablen.

Cu, Frank

n0b0dy 5. Feb 2006 08:42

Re: auf bestimmte Uhrzeit reagieren.
 
achsooo. das muss man erstmal wissen. jo dann ists klar. dann werd ichs wohl hinbekommen. DANKE!!

[EDIT]
habe nun statt "Now" "Time" genommen und nun klappt alles bestens :)
[/EDIT]

JWeis 6. Feb 2006 14:06

Re: auf bestimmte Uhrzeit reagieren.
 
hättest können auch

Delphi-Quellcode:
var mydatetime : datetime;
...
Mydatetime:= date + EdtAlarmTime.Text

machen.

Angel4585 6. Feb 2006 14:23

Re: auf bestimmte Uhrzeit reagieren.
 
Also ich habe sowas mal Programmiert:

Ein Thread der im OnExecute folgendes drin hat:

Delphi-Quellcode:
while not Terminated do
 begin
 if Now > FAlarmDateTime then
  begin
  Synchronize(tfMain.AlertProzedur);
  Self.Suspend;
  end;
 Sleep(200);
 end;
EDIT: Beendet wird er von ausserhalt, FAlamDateTime wird nämlich vom Hauptprogramm aus manuell neu gesetzt (Erinnerungsfunktion für Termine usw.)

Robert Marquardt 6. Feb 2006 14:39

Re: auf bestimmte Uhrzeit reagieren.
 
Das ist aber ein boeser Thread. Erst mal verschwendet er CPU-Zyklen im Ueberfluss und dann beendet er sich nicht.

Angel4585 6. Feb 2006 14:42

Re: auf bestimmte Uhrzeit reagieren.
 
das war auch nur so aus dem Kopf heraus.. Sleep mach ich gleich mal mit rein..

(klickt mal auf den Link in meiner Sig und sagt wir ihr das findet.. ich könnt mich kaputt lachen bei solchen Bannern)


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