![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование времени [D7, WinXP]
NaRuTo © (2008-01-16 16:12:00)У меня возникла проблема! При проигрывании мызыки я хочу чтобы моя программа показывала время песни, но я не знаю как, у меня есть секунды как преобразовать их в минуты и секунды, я пробовал FormatFloat('00:00',G), но почему то показываются только секунды, больше 60 секунд. Если знаете подскажите как?
Ильдар (2008-01-20 12:59:00) [1]Вот пример как это сделать через BassPlayer
sec:=BassPlayer1.Position div 1000;
if sec<10 then wrid.Caption:='0:0'+inttostr(sec)
else begin wrid.Caption:='0:'+inttostr(sec); min:=0; end;
If Sec>59 then // если секунд больше 60-ти, то...
begin
Min:= Sec div 60; // ...высчитываем минуты...
Sec:= Sec mod 60; // ...а за секунды возьмем остаток
wrid.Caption:= IntToStr(Min) + ':' + IntToStr(Sec); // запишем это в нормальном виде
If Sec<10 then wrid.Caption:= IntToStr(Min) + ':0' + IntToStr(Sec); // если остаток получился от 1-ого до 9-ти, то секунды запишем, как "01"-"09" (допустим, не 4:2, а 4:02)
If Sec=0 then wrid.Caption:= IntToStr(Min) + ':00'; // если отстаток равен нулю, то и секунд - "00" (4:00)
end;
Kenny (2008-01-17 12:15:00) [2]Fromat('%d : %d', [sec div 60, sec mod 60]);
DVM (2008-01-16 17:00:00) [3]Деление в школе проходил?