Hallo,
ich habe in einer Delphi-Anwendung eine normale StatusBar mit verschiedenen Panels eingerichtet und habe diese mit Daten befüllt. Die ständig veränderbaren Daten möchte ich nun fortlaufend ressourcensparend aktualisieren - dies wären etwa:
- die aktuelle Uhrzeit
- das aktuelle Datum
- die vergangene Zeit dem Windows-Start
- die Statustasten NumLock, CapsLock und ScrollLock
Ich habe zwar einen Weg, um das ganze fortlaufend zu aktualisieren, dennoch frage ich mich, ob es nicht doch eine effektivere Methode gibt. Meine Methode sieht folgendermaßen aus:
Neben der Deklaration der Statusbar füge ich die TTimer-Komponente zum Hauptformular hinzu und erstelle für das OnTimer-Ereignis die Timer1Timer-Prozedur. Letztere ruft wiederum die Prozedur UpdateStatusBar auf, welche auch in FormCreate einmalig aufgerufen wird.
Delphi-Quellcode:
VAR StatusBar1 : TStatusBar;
Timer1: TTimer;
PROCEDURE TMainForm.FormCreate(Sender: TObject);
BEGIN
UpdateStatusBar;
END;
PROCEDURE TMainForm.Timer1Timer(Sender: TObject);
BEGIN
UpdateStatusBar;
END;
PROCEDURE TMainForm.UpdateStatusBar;
BEGIN
{hier werden die einzelnen StatusBar-Panels mit aktuellen Inhalten gefüllt}
END;
Was haltet ihr von dieser Implementation ?