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/)
-   -   WindowsMessage bei Tageswechsel? (https://www.delphipraxis.net/171631-windowsmessage-bei-tageswechsel.html)

Codewalker 16. Nov 2012 09:33

WindowsMessage bei Tageswechsel?
 
Hallo zusammen.

Gibt es eine Windows-Message wenn jemand
  1. Das Datum manuell ändert
  2. Mitternacht vorbei geht und dadurch das Datum auf den nächsten Tag wechselt
Ich möchte ungerne mit einem Timer pollen für ein Ereignis das(fast) immer nur einmal pro Tag auftritt.

himitsu 16. Nov 2012 09:49

AW: WindowsMessage bei Tageswechsel?
 
1 ja (häng dich einfach mal an TApplicationEvent.OnMessage und schau nach was kommt, oder such im forum danach)
2 natürlich nein (Windows versendet so schon zuviele Messages ... wäre ja Schlimm, wenn es sinnlos auch noch bei jeder Kleinichkeit sowas machen würde, nur in der Hoffnung jemand "könnte" es gebrauchen)


Delphi-Quellcode:
Timer.Intervall := Round((1 - TimeOf(Now)) * MSecsPerDay);
Timer.Enabled := True;

...
OnTimer:
Timer.Enabled := False; // und/oder Intervall setzen
= Mitternacht
Oder wenn man eh einen Timer im Programm hat, der irgendwas regelmäig macht, dann dort mit rein :roll:

Codewalker 16. Nov 2012 13:42

AW: WindowsMessage bei Tageswechsel?
 
Okay, hab ich befürchtet. Die Rechnung für den Timer ist aber elegant kurz, das hilft schonmal bei Problem 2. Die Message liefere ich noch nach :-)

Bei Änderung von Datum und/oder Uhrzeit kommt: WM_TIMECHANGE = 0x1E (dezimal 30)

DeddyH 16. Nov 2012 13:50

AW: WindowsMessage bei Tageswechsel?
 
Übersetzt: "Fensterbotschaft Zeitänderung", das sollte sich schnell im MSDN finden lassen ;)

[edit] Ah, schon selbst gefunden, ich hatte das Edit nicht bemerkt [/edit]


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