Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Общие вопросы Delphi
Регистрация

Восстановить пароль

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 12.09.2008, 19:26   #1
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию при восспроизведении progressbar и label1 не работают

привет. у меня проблема при восспроизведении progressbar и label1 не работают , кажется всё правильно может вы найдёте ошибку:


Код:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
   Progressbar1.Max := MediaPlayer1.Length;
   progressbar1.Position := MediaPlayer1.position;
//èçìåíèòü ñ÷åò÷èê âðåìåíè
 if sec < 59
  then Inc(sec)
 else
  begin
   sec := 0;
   Inc(min);
  end;
 //âûâåñòè âðåìÿ âîñïðîèçâåäåíèÿ
 Label2.Caption := IntToStr(min) + ':';
 if sec < 10 then
  Label2.Caption := Label2.Caption + '0' + IntToStr(sec)
 else
Label2.Caption := Label2.Caption + IntToStr(sec);

//åñëè âîñïðîèçâåäåíèå òåêóùåé êîìïîçèöèè íå çàâåðøåíî
 if MediaPlayer1.Position < MediaPlayer1.Length
  then Exit;
//âîñïðîèçâåäåíèå òåêóùåé êîìïîçèöèè çàêîí÷åíî
 Timer1.Enabled := False;
 MediaPlayer1.Stop;

 if ListBox1.ItemIndex < ListBox1.Count - 1 then
  begin
   ListBox1.ItemIndex := ListBox1.ItemIndex + 1;
   Play;
  end;

 if (ListBox1.ItemIndex = ListBox1.Count - 1) and CheckBox1.Checked = True then
  begin
   ListBox1.ItemIndex := 0;
   Play;
  end;
end;
blackstersl вне форума Ответить с цитированием
Старый 12.09.2008, 19:47   #2
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Цитата:
//если воспроизведение текущей композиции не завершено
Перед тем, как копировать ваш код, переключитесь на русский, тогда будут нормальные комменты.
Цитата:
progressbar и label1 не работают
Что значит "не работают"? Подробнее, пжлст...
Label2 (а не label1 !) в приведенном примере должна работать нормально, особенно ежели добавить Application.ProcessMessages.
mihali4 вне форума Ответить с цитированием
Старый 12.09.2008, 20:14   #3
blackstersl
Форумчанин
 
Аватар для blackstersl
 
Регистрация: 23.08.2008
Сообщений: 374
По умолчанию

Воспроизводит трек но не показует прогрес
Цитата:
особенно ежели добавить Application.ProcessMessages.
если можете обьесните как и куда добавить

Последний раз редактировалось blackstersl; 12.09.2008 в 20:21.
blackstersl вне форума Ответить с цитированием
Старый 12.09.2008, 20:25   #4
mihali4
*
Старожил
 
Регистрация: 22.11.2006
Сообщений: 9,201
По умолчанию

Перед
//если воспроизведение текущей композиции не завершено
mihali4 вне форума Ответить с цитированием
Старый 12.09.2008, 20:30   #5
Sibedir
Тот ещё
Старожил
 
Аватар для Sibedir
 
Регистрация: 14.11.2007
Сообщений: 2,242
По умолчанию

И еще кое что. В процедуру Play добавте код:
Код:
  bt := Now;
, где bt - глобальная переменная типа TDateTime.
А в обработчике TForm1.Timer1Timer вместо
Цитата:
Код:
 if sec < 59
  then Inc(sec)
 else
  begin
   sec := 0;
   Inc(min);
  end;
 //âûâåñòè âðåìÿ âîñïðîèçâåäåíèÿ
 Label2.Caption := IntToStr(min) + ':';
 if sec < 10 then
  Label2.Caption := Label2.Caption + '0' + IntToStr(sec)
 else
Label2.Caption := Label2.Caption + IntToStr(sec);
напишите
Код:
Label2.Caption := FormatDateTime('nn:ss', Now - bt);
Sibedir вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
label1 blackstersl Общие вопросы Delphi 3 11.09.2008 17:21
label1 in panel blackstersl Общие вопросы Delphi 1 09.09.2008 19:20
ProgressBar Makarov Компоненты Delphi 3 04.02.2008 22:42
ProgressBar Rahim1993 Общие вопросы Delphi 10 20.01.2008 21:28
Работают сообща Хs-You Общие вопросы Delphi 3 21.08.2007 08:45