Online
Registriert seit: 26. Nov 2003
Ort: Halle/Saale
4.343 Beiträge
Delphi 11 Alexandria
|
AW: Uhrzeit Rest Min und Sec
1. Dez 2013, 18:49
Hier mal eine alte Funktion von mir als kleine Anregung.
Das kannst Du sicher noch etwas umbauen...
Delphi-Quellcode:
function DateTimeDurationString(DT: TDateTime; DifFlag, NullFlag, HourFlag, SecondFlag: Boolean): String;
var
Tage, Hour, Min, Sec, MSec: Word;
N, Dif: TDateTime;
S: String;
begin
S := '';
if DifFlag then
begin
N := Now;
if DT > N then
Dif := DT - N
else
Dif := 0;
end
else
begin
if DT > 0 then
Dif := DT
else
Dif := 0;
end;
if (Dif <> 0) or (NullFlag) then
begin
Tage := Trunc(Dif);
DecodeTime(Dif, Hour, Min, Sec, MSec);
if (Tage = 0) or (HourFlag) then
begin
if Hour > 0 then
begin
if SecondFlag then
S := FormatDateTime('hh:nn:ss', Dif) + ' h'
else
S := FormatDateTime('hh:nn', Dif) + ' h';
end
else
if Min > 0 then
begin
if SecondFlag then
S := FormatDateTime('nn:ss', Dif) + ' min'
else
S := FormatDateTime('n', Dif) + ' min';
end
else
begin
if SecondFlag then
S := FormatDateTime('ss', Dif) + ' sec'
else
S := '< 1 min';
end;
end;
if Tage > 0 then
begin
if Dif - Tage = 0 then
S := ''
else
if S <> '' then
S := ', ' + S;
if Tage = 1 then
S := '1 Tag' + S
else
S := IntToStr(Tage) + ' Tage' + S;
end;
end
else
S := '';
Result := S;
end;
|
|
Zitat
|