Thema: Delphi TStopwatch

Einzelnen Beitrag anzeigen

hathor
(Gast)

n/a Beiträge
 
#9

AW: TStopwatch

  Alt 14. Aug 2015, 22:22
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

Geändert von hathor (14. Aug 2015 um 22:36 Uhr)
  Mit Zitat antworten Zitat