Ich lasse einen Timer laufen der alle 500 Sekunden mit folgender Funktion an 2 Labeln eine Zeit übergibt:
Delphi-Quellcode:
function FormatTime(ZeitDifferenz:UInt64): String;
var
iSekunden,iMinuten,iStunden:UInt64;
begin
Zeitdifferenz:=Ceil(ZeitDifferenz div 1000);
iSekunden:=ZeitDifferenz mod 60;
ZeitDifferenz:=trunc(ZeitDifferenz / 60);
iMinuten:=ZeitDifferenz mod 60;
ZeitDifferenz:=trunc(ZeitDifferenz / 60);
iStunden:=ZeitDifferenz mod 24;
ZeitDifferenz:=trunc(ZeitDifferenz / 24);
result:=IntToStr(ZeitDifferenz)+'d, '+IntToStr(iStunden)+'h, '+IntToStr(iMinuten)+'m, '+IntToStr(iSekunden)+'s';
end;
Leider springen die Sekunden an einigen Stellen schnell von einer zur Anderen, also nicht so gleichbleibend wie man es sich wünschen würde.
Wenn ich die Interval-Zeit auf 100ms reduziere dann geht es vernünftig, aber ich will so wenig Prozessorzeit wie möglich verschwenden dafür.