Beispiel für längere Zeiten:
Delphi-Quellcode:
procedure MM(s:String); Begin Form2.Memo1.Lines.Add(s); end;
function MSecToTime(mSec: Int64): string;
var dt : TDateTime;
begin
dt := mSec / MSecsPerSec / SecsPerDay;
Result := Format('%d days, %s', [trunc(dt), FormatDateTime('hh:nn:ss', frac(dt))]); //Tage Stunden Minuten Sekunden
end;
function MSecToTime2(mSec: Int64): string;
var dt : TDateTime;
begin
dt:= mSec / MSecsPerSec / SecsPerDay;
Result:= Format('%d days, %s', [Trunc(dt),
FormatDateTime('hh:nn:ss.z', Frac(dt))]) ; //incl. tausendstel sec
end;
procedure TForm2.Button1Click(Sender: TObject);
var
aMessungGes : TStopWatch;
begin
aMessungGes:= TStopWatch.Create;
aMessungGes.Start;
Sleep(2500); // Beispiel
aMessungGes.Stop;
MM('Zeitmessung Gesamt (s): ' +
IntToStr(Round(aMessungGes.ElapsedMilliseconds/1000))); //sinnlos !!!
MM('Zeitmessung Gesamt (ms): ' + IntToStr(aMessungGes.ElapsedMilliseconds));
MM('Zeitmessung: '+ MSecToTime(aMessungGes.ElapsedMilliseconds));
MM('Zeitmessung: '+ MSecToTime2(aMessungGes.ElapsedMilliseconds));
end;
Ergebnis:
Zeitmessung Gesamt (s): 2
Zeitmessung Gesamt (ms): 2500
Zeitmessung: 0 days, 00:00:02
Zeitmessung: 0 days, 00:00:02.500