Einzelnen Beitrag anzeigen

SirTwist

Registriert seit: 28. Sep 2006
196 Beiträge
 
Delphi XE Professional
 
#5

Re: Zeitenberechnungs-Unit, bitte um Tests

  Alt 30. Mai 2007, 13:58
Wenn Du mit Zeiten rechnen willst, würde ich von Dezimalzahlen Abstand nehmen! Diese sind zu ungenau.

Ich habe mal eine Zeiterfassungs-Anwendung geschrieben und dabei alles in Minuten umgerechnet und diese als Integer-Wert abgespeichert. Alternativ kann man das auch mit Sekunden so machen.

Dann brauchte ich noch vier Funktionen:
Delphi-Quellcode:
function MinToTime(min: Integer): TTime;
function TimeToMin(t: TTime): Integer;
function StrToMin(str: String): Integer;
function MinToStr(min: Integer): String;
Das reicht eigentlich schon aus.

Beispiel:
Delphi-Quellcode:
function MinToTime(min: Integer): TTime;
begin
  result := EncodeTime(min div 60, min mod 60, 0);
end;

function TimeToMin(t: TTime): Integer;
var h, m, s, ms: Word;
begin
  DecodeTime(t, h, m, s, ms);
  result := h * 60 + m;
end;

function MinToStr(min: Integer): String;
begin
  result := Format('%d:%2.2d', [min div 60, min mod 60]);
end;
  Mit Zitat antworten Zitat