![]() |
[erledigt] Zeit-Format
Hi,
wo liegt hier der Fehler:
Delphi-Quellcode:
Angezeigt wird aber nur "hh.nn". Und hierbei werden die Sekunden mit angezeigt:
Label2.Caption := 'Zeit : ' + Format ('hh.nn',[TimeToStr (time)]);
Delphi-Quellcode:
Es geht mir darum, zu jeder vollen Minute die Uhrzeit neu anzuzeigen. Hierzu habe ich noch einen Timer auf 60 Sek. eingestellt. Der läuft aber nicht synchron mit der Uhr. Wenn ich nun das Intervall reduziere, kostet das nicht unnötig Ressourcen ?
Label2.Caption := 'Zeit : ' + TimeToStr (time);
|
Re: Zeit-Format
Schreib mal statt Format FormatDateTime.
|
Re: Zeit-Format
hi,
Versuchs doch mal mit FormatDateTime anstatt Format grüße, daniel [EDIT]Einer is immer schnelle :cry: [/EDIT] |
Re: Zeit-Format
Es kommt halt auch auf die Uhrzeit an, in der du den Timer aktivierst!
Wenn der Timer um 15:03:10 aktiviert wird, ein deleay von 60 Sec. so erscheint die nächste Uhrzeit auf deinem Label erst um 15:04:10. Aktiviere halt erst den Timer zur vollen Minute, sprich um 15:03:00 |
Re: Zeit-Format
Thx,
FormatDateTime wars. Bleibt nur noch die Frage, was der Timer kostet ? Warum soll ich den 60 mal aulösen, wenn ich ihn eigentlich nur einmal die Minute brauche ? |
Re: Zeit-Format
Also, eigentlich kannst du den Timer mit Intervall = 1 sec laufen lassen, bis es genau hh:mm:00 ist. danach brauchst du nur mehr das intervall auf 1 minute setzen, und die zeitangabe wird ziemlich genau.
|
Re: Zeit-Format
Also ich würde mir da auch Gedanken und die Performace machen, besser wäre ein Zeiger auf die Systemzeit (ohne zu Wissen ob dies möglich ist).
|
Re: Zeit-Format
Ich glaube kaum, daß der Timer Ärger macht. Aber wer weiß, es sieht jetzt so aus:
Delphi-Quellcode:
Sobald eine volle Minute erreicht ist, setze ich eben das Intervall des Timers auf 1 Min. Im OI ist allerdings 1000, also eine Sek. eingestellt !! Diese Einstellung gilt so lange, bis die erste Minute voll ist. Und der Vollständigkeit halber für ASM-Liebhaner :lol: :
procedure TForm1.UhrTimer(Sender: TObject);
begin Label2.Caption := 'Zeit : ' + FormatDateTime ('hh:mm',time); if SecondOf (time) = 0 THEN Uhr.Interval := 60000; end;
Code:
Damit frage ich angeblich die Systemzeit ab. 8)
INLINE ($CD/$28);
|
Re: [erledigt] Zeit-Format
Nur leider kann das
Delphi-Quellcode:
in die Hose gehen. WM_TIMER Nachrichten habe die niedrigste Priorität im System. Ist deine Anwendung / das System ausgelastet könne auch schon mal ein paar WM_TIMER Nachrichten verloren gehen bzw. verspätet ankommen. Und wenn du Pech hast, läufst du mehrere male über die Null drüber.
if SecondOf (time) = 0 THEN
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:43 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