![]() |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Da es ihm nur um Sekunden geht, sollte es aber reichen
|
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Du könntest die momentane Zeit abfragen, und dann einen Timer starten mit dem Intervall 1000-Millisekunden der also ungefähr dann auslöst, wenn der nächste sekundensprung erfolgt. Dann einfach im OnTimerEvent wiederum das Intervall setzen ...
Rein aus Interesse: Ich habe bereits 2 Uhren (Tna+Sidebar) beide zeigen nur die Minute an, und auch die Windowsuhr "ruckelt". Ist es wirlich so schlimm, wenn die Sekundenzeiger nicht perfekt synchron sind? |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Zitat:
Sollten die Ungenauigkeiten zu groß werden, kann man immernoch QP-Counter verwenden und/oder timebased movement. |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Ein Timer mit einem Interval von 1000ms ist "ungenau", denn dann könnte der Sekundenzeiger 1,9883 Sekunden hängen, um danach -hüpf-hüpf- zwei Striche innerhalb von +/-100ms weiterzuhüpfen. Abhilfe: Alle 200ms prüfen.
Du kannst das natürlich auch mit einem Thread lösen, der per sleep(100) die Zeit prüft und nach Sekundenwechsel ein Event auslöst (oder von mir aus eine Message). Falls das keine sportiliche Übung ist, würde ich mir über den sin einers 'echten' Sekundenzeigers mal Gedanken machen. |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Hallo,
für die Anzeige einer Uhr finde ich ist es eigentlich ausreichend mit einem Timer zu arbeiten. Bis bald Chemiker |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Zitat:
Zitat:
Zitat:
|
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Er wollte eine Message, also kann er sich eine basteln. Wir sind doch hier generös, gell? :mrgreen:
Aber Dein Einwand ist korrekt. Edit: Die Lösungsvorschläge erinnern mich langsam an den 'Zahlen negieren' Thread. |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Hallo,
schau mal ![]() |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Zitat:
Pollen ist natürlich genauso "unelegant" wie ein Versenden einer Sekunden-Message an alle Anwendungen. Wenn du das aber ernsthaft vermeiden willst, musst du wohl in die Treiberprogrammierung von Windows einsteigen und das Uhrzeitsystem soweit modifizieren, dass es deinem Programm (!) eine entsprechende hochpriorisierte Message schickt, wenn die Sekunde wechselt. Das läuft mehr oder weniger darauf hinaus, Windows zumindest teilsweise in ein Echtzeitsystem umzubauen, dafür haben manche Firmen mit hochqualifizierten Leuten schon Mann-Jahrzehnte investiert. Sonst würde nämlich immer wieder mal ein I/O das zeitgenaue Absenden der Message ebenso wie den Empfang blockieren. Ich schätze dass der Aufwand durchaus im Bereich von Mio EUR liegt. Ob das eine genaue Sekundenanzeige wert ist? Ich würde mir eine Funkuhr kaufen (nicht jede hat so eine genaue Sekundenanzeige!). Gruss Reinhard PS die Erfahrungen mit Echtzeit und Windows zeigen, dass man eine genaue Sekundensoftware besser ganz aus Windows mit seinen Messages herausnimmt und nur auf der Echtzeitebene behandelt. |
Re: gibt es eine Message bei Uhrzeit Änderung (jede Sekunde)
Ein Timer auf 1000m macht sich nicht so gut, für die sekundengenaue Darstellung, da so ja mal eine Sekunde übergangen werden kann (Timer, GetTickCount und Co. arbeiten ja ungenau).
Aber ein Timer auf 100 oder 200 MS verbraucht erstmal nicht viele Systemresoursen und für das menschliche Gefühl, fällt eine Verzögerung von diesen Zeiten kaum auf. |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:38 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz