[Czas] Zamiana liczby z przecinkiem na czas

0

Witajcie!
Potrzebuje zamienic liczbe np. 22,21452 minut/godzin na cos takiego
pozostalo 22 minuty/godzin xx sekund/minut xx sekund. Jak sie do tego zabrac?
Myslalem o czyms takim, setna czesc pomnozyc przez 0,6 i wyjdzie ilosc sekund/minut, ale jak to zrobic w delphi?

0

W pierwszej kolejności pomnóż przez 60/3600 zależnie od tego, czy to są minuty czy godziny.
Następnie po kolei:
h:=t div 3600; // gdzie h to liczba godzin, t to wyżej uzyskany czas
m:=(t mod 3600) div 60; // m - liczba minut
s:=t mod 60; //s - liczba sekund

0

Dzieki za pomoc, ale probowalem podobnie z div t mam zdefiniowane jako liczba Extended i domyslam sie ze przez to wyskakuje blad przy kompilacji:
Operator not applicable to this operand type

var
dane_do_sciagniecia:Extended;
predkosc_sciagania:Extended;
t:Extended;
begin
predkosc_sciagania:=StrToFloat(Edit2.Text)*1024;
dane_do_sciagniecia:=StrToFloat(Edit1.Text)*1024;
t:=dane_do_sciagniecia/predkosc_sciagania;
t:=t/60;
h:=t div 3600;
m:=t(t mod 3600) div 60;
s:=t mod 60;
Edit3.Text:=FloatToStr(t);
end;

Potrzebuje miec mozliwosc dokonywania operacji na duzych liczbach, wiec Extended musi zostac... Moze w tym miejscu gdzie zaczyna rozdzielac godzin, min i sek zmienic t z Extended na Integer? Da sie tak?

1 użytkowników online, w tym zalogowanych: 0, gości: 1