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

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

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

Восстановить пароль
Повторная активизация e-mail

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

Ответ
 
Опции темы Поиск в этой теме
Старый 26.07.2010, 15:20   #1
Elfist
 
Регистрация: 26.07.2010
Сообщений: 6
По умолчанию окончание ScrollBar

Подскажите! Нужно зделать так:

При окончании ScrollBar (т.е когда он доходит до значения max) нужно прибавить к ListBox1.ItemIndex еденицу (Listbox.itemIndex+1; )

Но не получаеться определить конец ScrollBar
параметр Max определяеться программно т.е она постоянно меняеться.
max:=Bass_ChannelGetLength;

Думаю что можно зделать так,но незнаю какой обработчик отвечает за окончанме ScrollBar

Код:
if ScrollBar1.Что-то=Bass_channelGetLength then
ListBox1.itemIndex:=ListBox1.ItemIndex+1;
P.S Используеться библеотека Bass 2.4 .Смысл этого: По окончании трека начать проигрывать следующий трек.

Надеюсь доступно пояснил.
Elfist вне форума Ответить с цитированием
Старый 26.07.2010, 15:23   #2
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

а не пробовал свойство Position? Если
Код:
if ScrollBar1.Position=Bass_channelGetLength then
ListBox1.itemIndex:=ListBox1.ItemIndex+1;
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 26.07.2010, 15:34   #3
Elfist
 
Регистрация: 26.07.2010
Сообщений: 6
По умолчанию

Пробовал,но через каждую одну секунду трек начинает проигрываться заного(т.е играет только одну секунду)

и ещё обнаружил такой фак.
псле этой строки

Код:
if ScrollBar1.Position=Bass_channelGetLength then
ListBox1.itemIndex:=ListBox1.ItemIndex+1;
Идёт строка

Код:
PlayItem(ListBox1.ItemIndex);
Это функция воспроизведения выбранного элемента в ListBox1

Если эту строку опустить,то всё прекрасно работает и переключаеться на следующую песню(но соответственно не воспроизводиться) а если строка существует,то каждую секунду песня проигрываеться заного.
Как бы её прикрутить что бы она срабатывала только когда positon достигает максимум?

Последний раз редактировалось Stilet; 26.07.2010 в 15:53.
Elfist вне форума Ответить с цитированием
Старый 26.07.2010, 16:05   #4
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

А это всё случайно не в обработке таймера???
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 26.07.2010, 16:24   #5
Elfist
 
Регистрация: 26.07.2010
Сообщений: 6
По умолчанию

Да Scrollbar работает через таймер
Elfist вне форума Ответить с цитированием
Старый 26.07.2010, 16:31   #6
DIgorevich
Погулять вышел
Участник клуба
 
Аватар для DIgorevich
 
Регистрация: 17.05.2010
Сообщений: 1,573
По умолчанию

Ну тогда естественно песня будет начинаться каждый раз, когда срабатывает таймер )))). Надо хотя бы так написать:
Код:
if ScrollBar1.Position=Bass_channelGetLength then
begin
ListBox1.itemIndex:=ListBox1.ItemIndex+1;
PlayItem(ListBox1.ItemIndex);
end;
Никогда не знаешь, где тебе повезет... (Фрай)
DIgorevich вне форума Ответить с цитированием
Старый 26.07.2010, 16:35   #7
Elfist
 
Регистрация: 26.07.2010
Сообщений: 6
По умолчанию

Работает!! Спасибо огромное.Теперь буду знать
Elfist вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В тех словах, которые оканчиваются сочетанием букв “ing”, заменить это окончание на “ed”. Sh@rky Паскаль, Turbo Pascal, PascalABC.NET 8 20.12.2015 18:23
Окончание слова, в зависимости от числа. Bonio Помощь студентам 4 27.02.2010 19:40
ScrollBar Rebel123 Общие вопросы Delphi 2 19.07.2009 11:35
[Delphi] Правильное окончание слова Derol Помощь студентам 2 01.06.2009 07:50
Окончание сессии Neymexa Свободное общение 32 17.02.2009 13:45