Autor Beitrag
Der Michel
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 38



BeitragVerfasst: Mi 04.12.02 12:27 
Hallo,

gibt es eine Message o.ä. die Windows raussendet wenn sich das Datum ändert, sprich wenn die Uhr von 23:59:59 auf 00:00:00 springt?
Man könnte natürlich auch einen Timer einbauen der jede Sekunde die Funktion Date() aufruft und prüft ob sich etwas geändert hat, aber geht das nicht auch anders?

Gruß, Michel
Luckie
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.12.02 19:34 
Meines Wissens nicht. Denn wenn man das dann konsequent durchziehen würde, würde das bedeuten, dass Windows auch jede Sekunde eine Message schickt - und zwar von sich aus (nicht dass das jemand mit einem Timer verwechselt). Und warum sollte das Windows tun? :roll:
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 22.11.07 12:32 
Und wie kann man dann sowas am ressourcenfreundlichsten rausfinden?

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 22.11.07 12:45 
Mit "Adaptivem Polling" ;-)

Beispiel:
Es ist 13:37.
Der nächste Datumswechsel ist in 10:23 HH:MM.
Folgerung des Programmes: Es lohnt sich nicht früher als in 5 Stunden noch mal nachzufragen.

Es ist 18:45.
Der nächste Datumswechsel ist noch 5:15 HH:MM entfernt.
Folgerung des Programmes: In 5 Stunden nachzufragen könnte ggf. etwas knapp werden, fragen wir in 4 nach.

Es ist 22:42.
Der nächste Datumswechsel ist in 1:18 HH:MM.
Folgerung: Halbstündlich abfragen.

Es ist 23:17:42.
Der nächste Datumswechsel ist in 42:18 MM:SS.
Folgerung: Alle 15 Minuten abfragen ...

Und wenn Du dann so knapp 2 Minuten vorher bist, kannste auf nen Sekundenintervall übergehen ...

Damit hast Du statt bis zu 86400 Abfragen nur rund 500 (je nach Art der Vorgehensweise sogar NOCH weniger).

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 22.11.07 12:52 
Ahh verstehe! Beim Programmstart einfach mal gucken wie lange noch Zeit bis mitternacht ist und dann immer gucken bei jedem Timer event wie lange nach bis mitternacht und gegebenenfalls das Interval ändern.

Cool, danke!

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 22.11.07 13:15 
Jep. Und beim Ändern des Intervals beachten, dass Du gegebenenfalls den Clock Skew ;-) ausgleichen musst. Bei meinem Beispiel war das übertrieben, aber sollte nur zeigen, dass Du damit rechnen solltest, dass die Computer-Uhr ggf. nicht regelmäßig geht.

Ferner gibt es von Windows ein Event (IIRC), wenn jemand die Systemuhr explizit umstellt. Dieses solltest Du ggf. auch mit Auswerten; sofern es wirklich genau werden sollte :P

Moderiert von user profile iconBenBE: Kleinen Schreibfehler korrigiert. Es heißt Clock Skew und nicht Screw ;-)

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.


Zuletzt bearbeitet von BenBE am Do 22.11.07 18:12, insgesamt 1-mal bearbeitet
elundril
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 3747
Erhaltene Danke: 123

Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
BeitragVerfasst: Do 22.11.07 16:38 
was meinst du mit Clock Screw und nicht regelmäßig gehen? das die uhr manchmal n paar sekunden überspringt??

lg elundril

_________________
This Signature-Space is intentionally left blank.
Bei Beschwerden, bitte den Beschwerdebutton (gekennzeichnet mit PN) verwenden.
BenBE
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 8721
Erhaltene Danke: 191

Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
BeitragVerfasst: Do 22.11.07 18:11 
Jain. Die Uhrenquarze bei Computern sind (zumeist) Billigprodukte und damit extrem auch Temperaturabhängig (Lernt man in Microcontrollertechnik und PC-Technik). Daher läuft eine PC-Uhr je nach Umgebungstemperatur unterschiedlich schnell.

Diese Varianz ist zwar auf realen Systemen meist <~+-1Min, sollte aber nicht ganz vernachlässigt werden, wenn man seinen Timer einrichtet.

@Clock Skew: Gibt sogar schon wissenschaftliche Untersuchungen zu dem Thema, die belegen, dass man mit dieser Unregelmäßigkeit sogar einzelne Computer identifizieren kann.
Vgl. events.ccc.de/congre.../events/1513.en.html

_________________
Anyone who is capable of being elected president should on no account be allowed to do the job.
Ich code EdgeMonkey - In dubio pro Setting.