Einzelnen Beitrag anzeigen

DevidEspenschied

Registriert seit: 7. Sep 2006
Ort: Berlin
444 Beiträge
 
Delphi 12 Athens
 
#1

TStatusBar fortlaufend und ressourcensparend aktualisieren

  Alt 9. Mai 2008, 14:32
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 ?
Devid
  Mit Zitat antworten Zitat