Entwickler-Ecke
Delphi Language (Object-Pascal) / CLX - Uhrzeit
Supernova - So 18.01.04 16:47
Titel: Uhrzeit
wie kann ich eine Uhr erstellen die sich jede Sekund aktualiesiert !!!
tomtom62 - So 18.01.04 17:32
Meinst Du so etwas ?
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9:
| Timer1.Interval:=1000; Timer1.enabled:=true;
procedure TForm1.Timer1Timer(Sender: TObject); begin
label1.caption:=timetostr(now);
end; |
MSCH - So 18.01.04 20:46
Timer fressen aber Resourcen, sind leider nicht unbegrenzt verfügbar,
Hier ein Beispiel mit einem Thread, der nur dann ausgeführt wird, wenn das System im Leerlauf ist:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57:
| unit sbpZeit;
interface
uses Classes, ComCtrls;
type TStatusBarPanelZeit = class(TThread) private Panel: TStatusPanel; procedure UpdatePanel; virtual; protected procedure Execute; override; public Constructor Create(aPanel:TStatusPanel); end;
TStatusBarPanelDatum = Class(TStatusbarPanelZeit) private procedure UpdatePanel; override; end;
implementation
uses SysUtils;
constructor TStatusBarPanelZeit.Create; begin Inherited Create(true); Panel:=aPanel; FreeOnTerminate:= true; Priority:= tpIdle; Resume; end;
procedure TStatusBarPanelZeit.Execute; begin while not terminated do Synchronize(UpdatePanel);end;
procedure TStatusBarPanelZeit.UpdatePanel; begin Panel.Text:= TimeToStr(now);end;
procedure TStatusBarPanelDatum.UpdatePanel; begin Panel.Text:= DateToStr(now);end;
end. |
im Hauptprogramm muss sich eine TStatuspanel mit min. 3 Panels befinden.
Dann, vieleicht in der OnCreate() des Haptfensters:
Delphi-Quelltext
1: 2:
| TStatusBarPanelZeit.Create(Statusbar.Panels[1]); TStatusBarPanelDatum.Create(Statusbar.Panels[2]); |
viel spass
grez
msch
Anonymous - So 18.01.04 22:12
Naja, selbst wenn Timer viele Ressourcen verbrauchen (was ich bezweifle) sehe ich keinen Sinn darin, direkt einen Thread dafür zu missbrauchen. So wie mir das aussieht, würde dein Thread ggf. auch das Panel viel zu oft updaten. (=>100% CPU-Auslastung)
Entwickler-Ecke.de based on phpBB
Copyright 2002 - 2011 by Tino Teuber, Copyright 2011 - 2026 by Christian Stelzmann Alle Rechte vorbehalten.
Alle Beiträge stammen von dritten Personen und dürfen geltendes Recht nicht verletzen.
Entwickler-Ecke und die zugehörigen Webseiten distanzieren sich ausdrücklich von Fremdinhalten jeglicher Art!