Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi millisekunden -> minuten, sekunden [erledigt] (https://www.delphipraxis.net/39024-millisekunden-minuten-sekunden-%5Berledigt%5D.html)

Aenogym 27. Jan 2005 16:31


millisekunden -> minuten, sekunden [erledigt]
 
hi ihr,

ich habe eine bestimmte anzahl an millisekunden. aus diesem wert möchte ich jetzt die minuten und sekunden errechnen (also von 85000 zu 01:25).
mein problem ist, dass die umrechnung möglichst schnell von statten gehen sollte. ich könnte mir das nur mit einer schleife vorstellen, die solange 60000 von den millisekunden abzieht und minuten+1 rechnet, bis es weniger als 60000 sind und danach das gleiche quasi mit sekunden. nur ist das relativ langsam :?

also habt ihr eine möglichst schnelle methode für mich?

dankeschön schön mal,
Aenogym

edit: :wall: man sollte auch richtig suchen.
so geht's:

Delphi-Quellcode:
function MSToMinutesSeconds(Millisecs: double): string;
const MilliSecondsPerDay : integer = 86400000;
var
   Time : TDateTime;
   Hour, Min, Sec, MSec : Word;
begin
   // In Tage umrechnen
   Time := MilliSecs/MilliSecondsPerday;
   // Splitten
   DecodeTime(Time, Hour, Min, Sec, mSec);
   // ausgeben
   result := Format('%2.2d:%2.2d', [Min, Sec]);
end;

Gentleman 27. Jan 2005 16:43

Re: millisekunden -> minuten, sekunden [erledigt]
 
wenn ich richtig überlegt habe dann müsste es rechnerisch in etwa so gehen:

Delphi-Quellcode:
procedure TForm1.Button1Click(Sender: TObject);
var
  min, sec, tsec, rest: Integer;
begin
  tsec:= 85000;
  min:= tsec div 60000;
  rest:= 85000 - (60000 * min);
  sec:= rest div 1000;
  label1.Caption:= inttostr(min) + ':' + inttostr(sec);
end;


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:55 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz