Einzelnen Beitrag anzeigen

shmia

Registriert seit: 2. Mär 2004
5.508 Beiträge
 
Delphi 5 Professional
 
#5

Re: Uptime der eigenen Anwendung in Minuten

  Alt 8. Feb 2008, 16:15
Wenn man eine Zeit messen möchte, sollte man nicht irgendeinen Zähler per Timer erhöhen, denn das kann grössere Abweichungen (bis zu 20%) geben.
Wenn Windows oder deine Anwendung voll ausgelastet sind, kommen die Timer-Ereignisse verzögert oder zeitweise gar nicht.

So wird's gemacht:
Delphi-Quellcode:
TForm1 = class(Tform)
private
  FStartup : TDateTime;
end;

procedure TForm1.FormCreate();
begin
  FStartup := Now; // wie merken uns die Startzeit
end;


function TimeDiffToStr(timediff: TDateTime): string;
var
   h,n,s,z: Word;
begin
   DecodeTime(timediff,h,n,s,z);
   if h > 0 then
      Result := Format('%d:%.2d:%.2d',[h,n,s])
   else
      Result := Format('%.2d:%.2d',[n,s]);
end;

// Timer-Event, dass jede Sekunde die Anzeige aktualisiert
procedure TForm1.TimerTimer();
var
  timediff : TDateTime;
begin
  timediff := now-FStartup;
  Label1.Caption := 'Uptime: '+TimeDiffToStr(timediff);
end;
Andreas
  Mit Zitat antworten Zitat