Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > Мультимедиа
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 29.06.2007, 16:32
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
Стрелка Label у винампа

Здрасте форумяне помогите пожалуйста решить такую проблему :
Помогите зделать текст в Lable двигающимся как имена треков у винампа?
Ответить с цитированием
  #2  
Старый 30.06.2007, 14:50
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Кидаешь на форму один TLabel, и один TTimer. У таймера свойство Interval выставляешь на 1.
В обработчке события таймера пишешь:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Left:=label1.Left-1;
if label1.Left=-1 then
label1.Left:=655
end;

end.
Всё.
Ответить с цитированием
  #3  
Старый 30.06.2007, 15:15
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

И ещё поставь обязательно у формы на которую ты кидаешь Label свойство AutoSize в false
Ответить с цитированием
  #4  
Старый 30.06.2007, 19:38
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

МОЙ ПРОШЛЫЙ КОД НЕПРАВИЛЬНЫЙ
ПРАВИЛЬНЫЙ КОД ЗДЕСЬ:
procedure TForm1.Timer1Timer(Sender: TObject);
begin
label1.Left:=label1.Left-1;
if label1.Left=-label1.Width then
label1.Left:=Form1.Width
end;
end.
Ответить с цитированием
  #5  
Старый 30.06.2007, 19:40
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

Мне кажеться немножко не верный подход.
Исходники в DelphiWorld видел, там смысл в том, что Label не двигаеться, а последняя буква Caption'a перемещаеться в начало и т.д. Тоже по таймеру.
Ответить с цитированием
  #6  
Старый 30.06.2007, 19:46
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
По умолчанию

Вот в принципе и все, у таймера ставишь 1000 интервал.
Код:
label1.Caption:=Copy(label1.Caption, length(label1.Caption),1) + copy(label1.Caption, 1 , length(label1.Caption)-1);
З.Ы. В DelphiWorld по-другому было реализовано, а так легче всего мне кажется.

Последний раз редактировалось Burka, 30.06.2007 в 19:48.
Ответить с цитированием
  #7  
Старый 30.06.2007, 22:54
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

А мне кажется что у меня пример намного понятнее и удобнее
Ответить с цитированием
  #8  
Старый 30.06.2007, 22:56
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Ладно, не будем ссориться, у нас у каждого удобный пример, главное что Label движется как у Winamp'a
Ответить с цитированием
  #9  
Старый 30.06.2007, 22:56
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

И главное что человеку помогли, я правильно говорю?
Ответить с цитированием
  #10  
Старый 01.07.2007, 00:31
Burka Burka вне форума
Начинающий
 
Регистрация: 10.06.2007
Сообщения: 163
Репутация: 10
Плохо Бее

Winny, мдя.
1) В винампе Label не движется! если присмотришься то это видно, что там реализовано как у меня.
2) Мой исходник занимает одну строчку, а у тебя 3
3) Что не понятного в перемещении последнего символа в начало строки?

З.Ы, имхо вообще надо все делать универсальным.
Ответить с цитированием
  #11  
Старый 01.07.2007, 12:57
Аватар для Sharky
Sharky Sharky вне форума
Активный
 
Регистрация: 20.03.2007
Сообщения: 202
Репутация: 10
По умолчанию

спосибо вам огромное за помощь
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 04:40.


 

Сайт

Форум

FAQ

RSS лента

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2023

ВКонтакте   Facebook   Twitter