Einzelnen Beitrag anzeigen

Benutzerbild von Sir Rufo
Sir Rufo

Registriert seit: 5. Jan 2005
Ort: Stadthagen
9.454 Beiträge
 
Delphi 10 Seattle Enterprise
 
#12

AW: Timer läuft ab Mitternacht rückwärts

  Alt 1. Sep 2015, 17:21
Wozu wird denn ein Timer überhaupt benötigt?

Wenn ich wissen möchte, wieviel Zeit vergangen ist zwischen dem Zeitpunkt x und y, dann berechne ich das einfach. Dazu benötige ich keinen Timer und zum Zeitpunkt der Abfrage ist der Wert zuverlässig genau.
Delphi-Quellcode:
TStopWatch = record
private
  FStartedAt, FStoppedAt: TDateTime;
  FIsStarted: Boolean;
public
  procedure Start;
  procedure Stop;
  function ElapsedTime : Double;
end;

procedure TStopWatch.Start;
begin
  FStartedAt := Now();
  FIsStarted := true;
end;

procedure TStopWatch.Stop;
begin
  FStoppedAt := Now();
  FIsRunning := False;
end;

function TStopWatch.ElapsedTime: Double;
begin
  if FIsRunning then
    Result := Now() - FStartedAt
  else
    Result := FStoppedAt - FStartedAt;
end;
Kaum macht man's richtig - schon funktioniert's
Zertifikat: Sir Rufo (Fingerprint: ‎ea 0a 4c 14 0d b6 3a a4 c1 c5 b9 dc 90 9d f0 e9 de 13 da 60)
  Mit Zitat antworten Zitat