Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi Delay von 12 Stunden? (https://www.delphipraxis.net/3325-delay-von-12-stunden.html)

Rapthor 6. Mär 2003 22:16


Delay von 12 Stunden?
 
Hallo,
womit kann ich ein Programm anweisen eine Pause von 12 Stunden einzulegen, bevor es den nächsten Befehl ausführt?
Nach diesen 12 Stunden will ich nämlich immer einen Check durchlaufen lassen.
Rapthor

Robert 6. Mär 2003 22:27

Delphi-Quellcode:
...
var lTick:LONGINT;
begin
...
lTick:=GetTickCount;
repeat
  Application.ProcessMessages;
until (GetTickCount-lTick>=12*3600*1000);
...
Zur Erklärung: GetTickCount-lTick liefert eine Differenz in Millisekunden der vergangenen Zeit, seitdem lTick auf GetTickCount zugewiesen wurde. Nun läuft die Schleife einfach solange, bis 12 Stunden * 3600 Sekunden je Stunde * 1000 Millisekunden je Sekunde abgelaufen ist - deswegen das Produkt.

ProcessMessages sorgt dafür, dass das Programm derweil alle Fensternachrichten problemlos weiterreicht und verarbeitet.

Daniel B 6. Mär 2003 22:30

Hallo,

hmm, da gibt es mehrere möglichkeiten.
1. Du schreibst Deine exe und lässt die in Windows\Geplante Tasks alle 12 Std. ausführen.
2. Du schnappst Dir die Delay-Funktion von Luckie, ist in der Library.
3. Ein Timer der 12 Std. lang läuft. //43200 Sekunden * 1000 dann in ms.

Grüsse, Daniel :hi:

Luckie 7. Mär 2003 06:16

Also ich würde das über den Taskmanager regeln. Warum soll ein Programm 12 Stunden im Speicher sein, nur um mal für eine Minute was zu machen. :roll:


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