| Autor |
Beitrag |
Der Michel
      
Beiträge: 38
|
Verfasst: 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
|
Verfasst: 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? 
|
|
elundril
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: 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
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: 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
Moderiert von BenBE: 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
      
Beiträge: 3747
Erhaltene Danke: 123
Windows Vista, Ubuntu
Delphi 7 PE "Codename: Aurora", Eclipse Ganymede
|
Verfasst: 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
      
Beiträge: 8721
Erhaltene Danke: 191
Win95, Win98SE, Win2K, WinXP
D1S, D3S, D4S, D5E, D6E, D7E, D9PE, D10E, D12P, DXEP, L0.9\FPC2.0
|
Verfasst: 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.
|
|
|