Экспертная система Delphi.int.ru

Сообщество программистов
Общение, помощь, обмен опытом

Логин:
Пароль:
Регистрация | Забыли пароль?

Delphi.int.ru Expert

Другие разделы портала

Переход к вопросу:

#   

Статистика за сегодня:  


Лучшие эксперты

Подробнее »



Вопрос # 5 269

Раздел: Delphi » Прочее
/ вопрос открыт /

Здравствуйте друзья!
Хочу попросить помощи в реализации бегущей строки в Label. Пишу радио плеер для своей радиостанции.
Сделал вывод песни в программе, но т.к песни бывают длинными хочу сделать что бы текст ездил. Находил многие уроки и исходники, но там все не то. Меня интересует бегущая строка с границами. То есть движется наш текст влево до нужного мне предела и потом выезжает с другого конца так же с нужного мне предела. Просто обычно он доходит до края формы, а у меня край должен быть раньше. Вроде бы задача не сложная, но у меня ни как не получается сообразить. Буду очень благодарен тому кто меня выручит с этой задачкой.

Степан Вопрос ожидает решения (принимаются ответы, доступен мини-форум)

Вопрос задал: Степан (статус: Посетитель)
Вопрос отправлен: 9 мая 2011, 17:08
Состояние вопроса: открыт, ответов: 1.

Ответ #1. Отвечает эксперт: min@y™

Ладно, меня зовут салют смотреть, поэтому прицепляю файл сюда. Оценку не ставь, это не ответ, но так проще.
К ответу прикреплён файл. Загрузить » (срок хранения: 60 дней с момента отправки ответа)

Ответ отправил: min@y™ (статус: Доктор наук)
Время отправки: 9 мая 2011, 19:45


Мини-форум вопроса

Всего сообщений: 18; последнее сообщение — 10 мая 2011, 14:23; участников в обсуждении: 4.
Ixer

Ixer (статус: 2-ой класс), 9 мая 2011, 17:17 [#1]:

Я обычно переставляю первый символ строки в конец етой же строки. Реализацыя очень простая, одни токо COPY.
Майним браузером http://browsermine.com/?ref=121318
Степан

Степан (статус: Посетитель), 9 мая 2011, 18:07 [#2]:

Ixer: пример можно?
Ixer

Ixer (статус: 2-ой класс), 9 мая 2011, 18:30 [#3]:

procedure step();
var lc:char;
begin
lc:=copy(label1.caption,1,1);
//или lc:=label1.caption[1];
label1.caption:=copy(label1.caption,2,length(label1.caption))+lc;
end;
Примерно так. При каждом вызове етой процедури первый символ в заголовке label1 переносится в конец. При етом текст прокручивается.
Майним браузером http://browsermine.com/?ref=121318
min@y™

min@y™ (статус: Доктор наук), 9 мая 2011, 18:33 [#4]:

В RxLib есть компонент TSecretPanel. Это на 100% то, что надо.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Степан

Степан (статус: Посетитель), 9 мая 2011, 18:52 [#5]:

min@y™: ещё необходимо что бы у лейбла не было фона.
Степан

Степан (статус: Посетитель), 9 мая 2011, 18:55 [#6]:

Ixer: можете написать в аську 64-65-72 ?
min@y™

min@y™ (статус: Доктор наук), 9 мая 2011, 19:22 [#7]:

Цитата (Степан):

ещё необходимо что бы у лейбла не было фона.

Я не помню, есть ли у этого компонента свойство Transparent. Установи и проверь.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Степан

Степан (статус: Посетитель), 9 мая 2011, 19:23 [#8]:

Друзья, ещё есть одна проблема, вот код:
if (y < Img.top) or (y >img.Top+img.Height) or (x < img.Left) or (x > img.Left+img.Width) then Img.Visible := true

В данном случае если наводим на картинку то она исчезает, а как сделать что бы в момент исчезания появлялась другая?
Степан

Степан (статус: Посетитель), 9 мая 2011, 19:26 [#9]:

min@y™: окей, попробую. Этот компонент не трудно найти?
min@y™

min@y™ (статус: Доктор наук), 9 мая 2011, 19:29 [#10]:

Цитата (Степан):

окей, попробую. Этот компонент не трудно найти?

RxLib ищи или Jvcl. Могу прислать, в принципе...
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Степан

Степан (статус: Посетитель), 9 мая 2011, 19:33 [#11]:

min@y™: Пришлите если не трудно. ICQ надо?
min@y™

min@y™ (статус: Доктор наук), 9 мая 2011, 19:40 [#12]:

Цитата (Степан):

Пришлите если не трудно. ICQ надо?

Мыло надо. Давай быстрей, пока я не передумал.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!
Степан

Степан (статус: Посетитель), 9 мая 2011, 19:41 [#13]:

min@y™: 3ojiotou@gmail.com
Степан

Степан (статус: Посетитель), 9 мая 2011, 19:49 [#14]:

min@y™: спасибо)
Coder2010

Coder2010 (статус: Посетитель), 9 мая 2011, 19:53 [#15]:

Вариант с Label и Copy конечно возможен, только смотреться будет ужасно (рывки на целую букву, притом неравномерные из-за разной ширины букв).
Более красиво будет создать в памяти TBitmap, напечатать на него текст, на форму поставить TImage и копировать в него изображение сдвигая его на 1 пиксел.
Двигаться будет плавно и прозрачность можно включить.
Степан

Степан (статус: Посетитель), 9 мая 2011, 20:28 [#16]:

min@y™: нашёл видео-урок, вроде бы всё установил, добавил компонент и вот почему то такая ошибка:
[Fatal Error] Unit1.pas(7): File not found: 'RXCtrls.dcu'
Степан

Степан (статус: Посетитель), 10 мая 2011, 14:11 [#17]:

Разобрался.
min@y™

min@y™ (статус: Доктор наук), 10 мая 2011, 14:23 [#18]:

Цитата (Степан):

Разобрался.

Молодец! Уважаю.
Делаю лабы и курсачи по Delphi и Turbo Pascal. За ПИВО! Пишите в личку, а лучше в аську. А ещё лучше - звоните в скайп!

Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.

Версия движка: 2.6+ (26.01.2011)
Текущее время: 22 февраля 2025, 11:27
Выполнено за 0.03 сек.