Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2005.06.29;
Скачать: CL | DM;

Вниз

Упростить конструкцию   Найти похожие ветки 

 
нехочу называться   (2005-06-08 22:15) [0]

Помогите упростить конструкцию:

 mp:=mediaplayer1.Position;
 hi:=Trunc(mp/25/60/60);
 mi:=Trunc(mp/25/60-(hi*60));
 si:=Trunc(mp/25-(mi*60));
 h:=IntToStr(hi);
 m:=IntToStr(mi);
 s:=IntToStr(si);
 if Length(h)=1 then h:="0"+h;
 if Length(m)=1 then m:="0"+m;
 if Length(s)=1 then s:="0"+s;
 Label1.Caption:=h+":"+m+":"+s;


 
Alx2 ©   (2005-06-08 22:20) [1]

Да вроде и так просто.

Разве что чуток короче будет так:

Label1.Caption:=TimeToStr(mediaplayer1.Position/2160000);


 
нехочу называться   (2005-06-08 22:21) [2]

=)

Спасибо.


 
Alx2 ©   (2005-06-08 22:24) [3]

Заработало хоть? (самому интересно :) )


 
нехочу называться   (2005-06-08 22:31) [4]

Как ни странно =)
С первого раза скомпилировалось и работает как надо.


 
Virgo_Style ©   (2005-06-08 22:47) [5]

нехочу называться   (08.06.05 22:31) [4]

Кажется, Position может выдаваться в кадрах или миллисекундах в зависимости от не помню чего. Так было бы надежнее - возможно, где-то будет не 25 кадров в секунду...


 
Юрий Зотов ©   (2005-06-09 00:03) [6]

> Помогите упростить конструкцию:

Ставим TimeFormat=tfHMS. Если верить справке, то после этого никакие вспомогательные переменные не нужны, а весь приведенный код заменяется одним оператором:

with MediaPlayer1 do
 Label1.Caption := Format("%2.2d:%2.2d:%2.2d",
   [Position and $FF, Position and $FF00 shr 8, Position and $FF0000 shr 16]);


 
нехочу называться   (2005-06-09 00:31) [7]

Юрий Зотов ©   (09.06.05 00:03) [6]
Или справка врет или одно из двух. Но Ваш вариант показывает:
00:00:00 = a:b:c
где а постоянно увеличивается со скоростью кадров в сек. до 250, а потом увеичивается b на 1 и снова а. b до 20 я подождал, потом надоело =)


 
Юрий Зотов ©   (2005-06-09 02:32) [8]

> нехочу называться   (09.06.05 00:31) [7]

Идея кода обязана работать - она настолько элементарна, что не работать буквально не может. Нужно просто повнимательнее посмотреть справку по TimeFormat и внести поправки. Вероятнее всего, нужно использовать другое значение TimeFormat.



Страницы: 1 вся ветка

Текущий архив: 2005.06.29;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.037 c
3-1116494268
Victor!
2005-05-19 13:17
2005.06.29
ADOQuery медленно работает по сети?


14-1117603804
BiN
2005-06-01 09:30
2005.06.29
С Днем Защиты Детей, что ли


11-1101734167
Anton_R
2004-11-29 16:16
2005.06.29
Большой размер до Minimize


14-1117691481
boriskb
2005-06-02 09:51
2005.06.29
Америка форева!


14-1117675849
Dyakon_Frost
2005-06-02 05:30
2005.06.29
Геометрия на плоскости