Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Um xxx Uhr Procedure ausführen (https://www.delphipraxis.net/46148-um-xxx-uhr-procedure-ausfuehren.html)

glkgereon 19. Mai 2005 14:32


Um xxx Uhr Procedure ausführen
 
hi

kann ich irgendwie eine Art Timer setzen, der nur darauf wartet das es xxx Uhr ist und dann eine OnTime oder so ausführt?

ein Timer is mir irgendwie zu ressourcenlastig und auch irgendwie "zu blöd".

Aenogym 19. Mai 2005 14:35

Re: Um xxx Uhr Procedure ausführen
 
hi,

prüfe doch in einem extra thread per schleife auf die aktuelle zeit...

edit: der kann auch ruhig niedriger priorität sein. dann prüfst du eben mit ein paar sekunden puffer rundherum ;)

aenogym

glkgereon 19. Mai 2005 14:37

Re: Um xxx Uhr Procedure ausführen
 
um ehrlich zu sein, die sache ist es mir nicht wert dafür nen thread zu machen.
ausserdem: wesentlich besser als ein timer ist es nicht (überhaupt besser?)

barf00s 19. Mai 2005 14:40

Re: Um xxx Uhr Procedure ausführen
 
ein Timer ist dir zu resourcenlastig? ~schmunzel~
das ist unfug - TTimer kapselt auch nur die CreateTimer & Co winapi funktionen.

aber um einen task/process oder was auch immer zu einer bestimmten uhrzeit zu starten brauchst blos in deinem xTimer.OnTimer
zu schaun wie spät es ist.

Delphi-Quellcode:
procedure TfrmMain.xTimerTimer(Sender: TObject);
var
  iHour: word;
  iMinute: word;
  iTemp: word;

begin
  DecodeTime(iHour, iMinute, iTemp, iTemp);
  case iHour of
    00: begin
          case iMinute of
            00: begin
                end;
          end;
        end;
  end;
{
  oder baust dir ne liste zusamm die du hier dann einfach durchiterierst und deren items[index].zeit eigenschaft mit der aktuellen zeit vergleichst
}
end;

Aenogym 19. Mai 2005 14:41

Re: Um xxx Uhr Procedure ausführen
 
es ist genauer (komtm auf priorität an) und ein extra thread ist unabhängig von dienem rpogramm (blockiert diene anwendung also nicht).

wenn dir das einen thread nicht wert ist,d ann nutze doch den timer und prüfe auf die zeit. eben mit ein paar sekunden drumherum.

aenogym

glkgereon 19. Mai 2005 14:47

Re: Um xxx Uhr Procedure ausführen
 
hmm, ok, ich machs mit nem timer. :|

wobei es mir vom prinzip her widerstrebt für eine sache, die einmal zu einem festgelegten zeitpunkt passieren soll, jede sekunde ne dämliche procedure auszuführen :?

Edit:
IDEE!!!

Interval auf die gewünschte Zeit einstellen! *Glücklich bin*

Vjay 19. Mai 2005 15:05

Re: Um xxx Uhr Procedure ausführen
 
Ich weiß ja nicht wie genau der Zeitrahmen ist aber ich prüfe solche Events immer minütlich in nem Timer.

bigg 19. Mai 2005 15:14

Re: Um xxx Uhr Procedure ausführen
 
Alle 10 Sekunden sollte ausreichen.

barf00s 19. Mai 2005 15:17

Re: Um xxx Uhr Procedure ausführen
 
alle wieviel sekunden ers nu letztendlich prüft war ja egal, es ging ja mehr ums prinzip :klugscheiß:

JasonDX 19. Mai 2005 15:19

Re: Um xxx Uhr Procedure ausführen
 
Oder die MSDN-Library durchsuchenSetTimer-Funktion nehmen. Ist eigentlich das, was der Timer verwendet, aber in Kombination mit Subtraktion der jetztigen Zeit von der der "Zielzeit" dürfte das gewünschte Ergebnis erbringen ;)

(Gleiche Idee wie glkgereon eigentlich schon hatte, aber halt ohne Timer ;) )


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:24 Uhr.
Seite 1 von 2  1 2      

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