Jeg vil da mene at dit første indlæg giver dig et resultat du kan bruge til at regne videre, men du siger ikke noget om hvad det er du skal bruge forskellen til?
-------- function GetTissumInSec(Sum1,Sum2 : string) : double;
function GetSumSec(Sum : string) : double; var i : integer; SL : TStringList; begin result:=0; SL:=TStringList.Create; ExtractStrings([':'],[],PAnsiChar(Sum),SL); for i:=0 to SL.Count-1 do result:=result+StrToIntDef(SL[i],0)*power(60,2-i); end;
begin result:=GetSumSec(Sum2)-GetSumSec(Sum1); end; ---------
eks.: procedure TForm1.Button1Click(Sender: TObject); var sum1,sum2 : string; tidsum : double; begin sum1:='23:10:15'; sum2:='24:10:14'; tidsum:=GetTissumInSec(sum1,sum2);
function SecToTime(Sec: integer): string; var H, M, S: string; ZH, ZM, ZS: integer; begin ZH := Sec div 3600; ZM := Sec div 60 - ZH * 60; ZS := Sec - (ZH * 3600 + ZM * 60) ; H := IntToStr(ZH) ; if Length(H) = 1 then H:='0'+H; M := stringreplace(IntToStr(ZM),'-','',[rfReplaceAll]) ; if Length(M) = 1 then M:='0'+M; S := stringreplace(IntToStr(ZS),'-','',[rfReplaceAll]) ; if Length(S) = 1 then S:='0'+S; Result := H + ':' + M + ':' + S; end;
Her er en lidt kortere udgave af din SecToTime function
function SecToTime(Sec: integer): string; begin Sec:=Abs(Sec); Result:=Format('%.*d', [2, Sec div 3600]); Result:=Result+':'+Format('%.*d', [2, (Sec mod 3600) div 60]); Result:=Result+':'+Format('%.*d', [2, Sec mod 60]); end;
Martinlind, jeg skal ikke bruge dage men timer minutter sekunder og så skal der jo alligevel omregnes fra dage til timer
mange tak kroning
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.