Delphi-PRAXiS
Seite 1 von 3  1 23      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   Millisekunden in Sekunden umrechnen (https://www.delphipraxis.net/200129-millisekunden-sekunden-umrechnen.html)

DieDolly 22. Mär 2019 13:40


Millisekunden in Sekunden umrechnen
 
Ich komme gerade leider nicht drauf. Aber wie rechnet man in Delphi Millisekunden nach Sekunden um, sodass ich alles einzeln habe?
Aus 3699 wird dann beispielsweise 3 [sekunden] 699 [ms]

Ob das der richtige Weg ist?

Delphi-Quellcode:
 MSDouble := AMSSeconds / 1000;
 H := AMilliSeconds div 3600000;
 M := AMilliSeconds mod 3600000 div 60000;
 S := AMilliSeconds mod 3600000 mod 60000 div 1000;
 MS := Frac(MSDouble);

Sherlock 22. Mär 2019 13:52

AW: Millisekunden in Sekunden umrechnen
 
Vergiss nicht zu kürzen!
zB ist es schneller
Delphi-Quellcode:
sec := (mssec div 1000) mod 60
zu rechnen.

Sherlock

DieDolly 22. Mär 2019 13:57

AW: Millisekunden in Sekunden umrechnen
 
Wenn ich es schon schaffen würde 3234567890 korrekt aufzuteilen, dann könnte ich auch ans kürzen denken :lol:

Stattdessen ist bei 2147483647 Ende.

Uwe Raabe 22. Mär 2019 14:14

AW: Millisekunden in Sekunden umrechnen
 
Ich würde das so machen:
Delphi-Quellcode:
uses
  System.SysUtils, System.TimeSpan;
var
  span: TTimeSpan;
begin
  span := TTimeSpan.FromMilliseconds(3234567890);
  Writeln(Format('%d [Std] %d [Min] %d [Sek] %d [ms]', [span.Hours, span.Minutes, span.Seconds, span.Milliseconds]));
end;

Delphi.Narium 22. Mär 2019 15:54

AW: Millisekunden in Sekunden umrechnen
 
Zitat:

Zitat von DieDolly (Beitrag 1428408)
Wenn ich es schon schaffen würde 3234567890 korrekt aufzuteilen, dann könnte ich auch ans kürzen denken :lol:

Stattdessen ist bei 2147483647 Ende.

Das Ende liegt daran, dass der Ausgangswert größer als Max(Integer) ist, sprich: Da läuft was über. Mindestens LongInt nehmen, brauchst Du auch negative Zahlen? Wenn nein, dann nimm was vorzeichenloses.

Sekunden = Ausgangswert / 1000 ohne Rest
Millisekunden = Der Rest, der beim / abgeschnitten wird.
Delphi-Quellcode:
function Rechnemal(const Alles : Int64; var Sekunden : Int64; var Milli : Int64) : Boolean;
begin
  Sekunden := Ales DIV 1000;
  Milli   := Alles MOD 1000;
  Result  := (Sekunden + Milli) = Alles;
end;

DieDolly 3. Apr 2019 11:08

AW: Millisekunden in Sekunden umrechnen
 
Zitat:

bekomme aber trotzdem eine Fehlermeldung. Haben Sie eine andere Lösung?
Es wäre hilfreich zu erwähnen, was für eine Fehlermeldung erscheint.

Schokohase 3. Apr 2019 11:11

AW: Millisekunden in Sekunden umrechnen
 
Zitat:

Zitat von DieDolly (Beitrag 1429417)
Zitat:

bekomme aber trotzdem eine Fehlermeldung. Haben Sie eine andere Lösung?
Es wäre hilfreich zu erwähnen, was für eine Fehlermeldung erscheint.

Das ist Kreativ-SPAM und soll nur den Link in der Signatur bewerben ... das ist jetzt der dritte Neuzugang der so agiert

DieDolly 3. Apr 2019 11:12

AW: Millisekunden in Sekunden umrechnen
 
Den Link habe ich gar nicht gesehen.

Schokohase 3. Apr 2019 11:13

AW: Millisekunden in Sekunden umrechnen
 
Zitat:

Zitat von DieDolly (Beitrag 1429419)
Den Link habe ich gar nicht gesehen.

Aber er ist da und nun verweist die DELPHI-Praxis auf diesen Link womit auch die Reputation/das Ranking für diesen Link steigt ...

DieDolly 3. Apr 2019 11:14

AW: Millisekunden in Sekunden umrechnen
 
Ich bin ja noch immer für eine verschärfte Registrierung. Mindestens Captcha.


Alle Zeitangaben in WEZ +1. Es ist jetzt 16:24 Uhr.
Seite 1 von 3  1 23      

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