![]() |
Time wert in Longint umwandel
Hi Leute.
Das Umwandeln von Longint in ein FormatDateTime hab ich
Delphi-Quellcode:
aber nun brauche ich es in umgekeherter Form ( string nach Longint)Function TForm1.Zeit(rTime: LongInt):String; var s: TTime; begin s:= StrToTime(IntToStr(0)+':'+IntToStr(Trunc((rtime/1000)/60))+':'+ Inttostr(Trunc(rtime/1000 ) mod 60)+','+ FloatToStr( rtime mod 1000)); Result:=FormatDateTime('nn:ss:zzz',s); end; und hab keine Ahnung!!! den anfang habe ich, aber dann???? kein Denken mehr
Delphi-Quellcode:
Ich Hoffe Ihr könnt mir helfen?Function TForm1.ZeitToInt(s: String): LongInt var t: TTime; begin t:=StrToTime(s); end; Gruss Alf |
Re: Time wert in Longint umwandel
Vielleicht DecodeTime als Anfang?
|
Re: Time wert in Longint umwandel
Und danach würde ich einige der folgenden Zeichen verwenden: 3,6,0,*, + , (, ). Die letzten beiden sind optional. Der Rest darf mehrfach (ohne Aufpreis!) verwendet werden.
|
Re: Time wert in Longint umwandel
hi
mit DecodeTime hab ich s versucht und kamm nicht weiter, irgendwie ne Denklücke, (min*60,sec*60,msec*1000) und dann alles addieren oder so,komm einfach nicht drauf Zitat:
vielleicht ein bisschen mehr Info währe Hilfreich. Gruss Alf |
Re: Time wert in Longint umwandel
Hallo Alf,
bei den Routinen TimeToStr() und StrToTime() kannst du noch deine speziellen Wünsche einbringen:
Delphi-Quellcode:
Grüße vom marabu
function MsecToStr(msec: cardinal): string;
var h, m, s: cardinal; begin s := msec div 1000; msec := msec mod 1000; m := s div 60; s := s mod 60; h := m div 60; m := m mod 60; Result := TimeToStr(EncodeTime(h, m, s, msec)); end; function StrToMsec(sTime: string): cardinal; var h, m, s, msec: word; begin DecodeTime(StrToTime(sTime), h, m, s, msec); Result := h * 60; Result := ((Result + m) * 60 + s) * 1000 + msec; end; |
Re: Time wert in Longint umwandel
hi Marabu
Frage: Ist die (Function MsecToStr) in etwa die gleiche, wie ich sie in meiner (Function Zeit) verwendet habe? Mir geht es um der Übersichtlichkeit und der schnelleren Berechnung weiss also nicht, ob meine Function sehr rechenintensiv ist z.B. Deine Sieht irgendwie sauberer aus und dadurch vielleicht etws schneller? Trotzdem Danke an alle für die schnelle Hilfe Gruss Alf |
Re: Time wert in Longint umwandel
Hallo Alf,
ich habe nur versucht alles mit Integer-Arithmetik zu erledigen. Außerdem habe ich deine Formatbeschreibung weg gelassen. Die kannst du aber als Konstante FS_TIME = 'nn:ss,zzz' wieder reinbringen und mit TimeToStr(t, FS_TIME) und StrToTime(s, FS_TIME) verwenden. Genaueres dazu findest du in der Online Hilfe. marabu |
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:30 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz