Wenn ich es schon schaffen würde
3234567890 korrekt aufzuteilen, dann könnte ich auch ans kürzen denken
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;