Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi [erledigt] Zeit-Format (https://www.delphipraxis.net/12247-%5Berledigt%5D-zeit-format.html)

Hansa 23. Nov 2003 20:17


[erledigt] Zeit-Format
 
Hi,

wo liegt hier der Fehler:

Delphi-Quellcode:
Label2.Caption := 'Zeit : ' + Format ('hh.nn',[TimeToStr (time)]);
Angezeigt wird aber nur "hh.nn". Und hierbei werden die Sekunden mit angezeigt:
Delphi-Quellcode:
Label2.Caption := 'Zeit : ' + TimeToStr (time);
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 ?

Chewie 23. Nov 2003 20:23

Re: Zeit-Format
 
Schreib mal statt Format FormatDateTime.

Sanchez 23. Nov 2003 20:26

Re: Zeit-Format
 
hi,

Versuchs doch mal mit FormatDateTime anstatt Format

grüße, daniel

[EDIT]Einer is immer schnelle :cry: [/EDIT]

sharkx 23. Nov 2003 20:34

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

Hansa 23. Nov 2003 20:47

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 ?

alcaeus 23. Nov 2003 20:50

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.

Touchdown 23. Nov 2003 21:27

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).

Hansa 24. Nov 2003 00:00

Re: Zeit-Format
 
Ich glaube kaum, daß der Timer Ärger macht. Aber wer weiß, es sieht jetzt so aus:
Delphi-Quellcode:
procedure TForm1.UhrTimer(Sender: TObject);
begin
  Label2.Caption := 'Zeit : ' + FormatDateTime ('hh:mm',time);
  if SecondOf (time) = 0 THEN
    Uhr.Interval := 60000;
end;
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: :

Code:
INLINE ($CD/$28);
Damit frage ich angeblich die Systemzeit ab. 8)

Luckie 24. Nov 2003 05:48

Re: [erledigt] Zeit-Format
 
Nur leider kann das
Delphi-Quellcode:
if SecondOf (time) = 0 THEN
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.


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