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

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

Вернуться   Форум программистов > Delphi программирование > Мультимедиа в Delphi
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 30.03.2012, 11:26   #1
Dialog108
 
Регистрация: 30.03.2012
Сообщений: 7
По умолчанию Плейлист

при добавлении файлов через диалог
Код:
	if not OpenDialog1.Execute then Exit;
  For Index:=0 To OpenDialog1.Files.Count-1 Do  
    ListBox1.Items.Add(extractFileName(OpenDialog1.Files.Strings[Index]));
      end;
в листбоксе как положено отображается только название трека, но путь до него программно сохраняется, проблем с воспроизведением нет

при перетаскивании трека
Код:
  Count := DragQueryFile(Msg.Drop, DWord(-1), FileName, SizeOf(FileName));
  for c := 0 to count - 1 do
  begin
    DragQueryFile(Msg.Drop, i,filename, SizeOf(filename) );
    ListBox1.items.add(extractFileName(string(filename)));
  end;
  DragFinish(Msg.Drop);
отображается имя файла, но путь затирается видимо, и файл не воспроизводится, если во втором слуае убрать екстракт, то всё ок, но мне то над чтобы только название файла было...

поможете?

Последний раз редактировалось Dialog108; 30.03.2012 в 18:28.
Dialog108 вне форума Ответить с цитированием
Старый 30.03.2012, 12:01   #2
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

Код:
ListBox1.items.add(extractFileName(filename));
Покажите как воспроизводите,не само воспроизведение а как передается имя файла на воспроиведение
Кольша вне форума Ответить с цитированием
Старый 30.03.2012, 12:15   #3
Dialog108
 
Регистрация: 30.03.2012
Сообщений: 7
По умолчанию

воспроизвожу через басс...

Код:
i := ListBox1.ItemIndex;
	if i >= 0 then
  	f := PChar(listbox1.Items[i]);
    if BASS_ChannelPlay(channel,false) then bass_channelstop(channel);
    Channel := BASS_StreamCreateFile(FALSE, f, 0, 0, 0);
	if channel <> 0 then
	begin
  le := BASS_ChannelGetLength(Channel, BASS_POS_BYTE);
  jvtrackbar1.Max:=le;
   BASS_ChannelPlay(channel, False)
Dialog108 вне форума Ответить с цитированием
Старый 30.03.2012, 12:54   #4
robt
Заблокирован
 
Регистрация: 21.06.2010
Сообщений: 77
По умолчанию

Цитата:
Сообщение от Dialog108 Посмотреть сообщение
в листбоксе как положено отображается только название трека, но путь до него программно сохраняется
нихрена у тебя ничего програмно не сохраняется
кури азбуку про текущую папку
robt вне форума Ответить с цитированием
Старый 30.03.2012, 12:58   #5
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

robt,+1 У ВАС же только имена файлов в listbox, а не пути к ним,для таких целей советую listview использовать
Кольша вне форума Ответить с цитированием
Старый 30.03.2012, 18:27   #6
Dialog108
 
Регистрация: 30.03.2012
Сообщений: 7
По умолчанию

ага, спасибо...
Реализовал вобщем через 2 листбокса.. в один, невидимый выводится путь, в другой только название.. и индекс второго присваивается первому.. и т.д..

Кто может дать ссылку на русскоязычную справку по Listview, или написать куски кода, для добавления в итемс и в сабитемс определенной строки?
Dialog108 вне форума Ответить с цитированием
Старый 30.03.2012, 18:37   #7
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

а вместо невидимого не создать TStringList просто?
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Старый 30.03.2012, 18:39   #8
Кольша
Далеко не
Участник клуба
 
Аватар для Кольша
 
Регистрация: 11.08.2011
Сообщений: 1,512
По умолчанию

или listview могу помочь с кодом если надо!

вот на PS писал на скорую руку=)
Вложения
Тип файла: rar Плейлист.rar (1.8 Кб, 21 просмотров)

Последний раз редактировалось Stilet; 30.03.2012 в 19:02.
Кольша вне форума Ответить с цитированием
Старый 30.03.2012, 20:03   #9
Dialog108
 
Регистрация: 30.03.2012
Сообщений: 7
По умолчанию

Цитата:
Сообщение от Пепел Феникса Посмотреть сообщение
а вместо невидимого не создать TStringList просто?
мм.. чёт вообще не нашёл такого

Цитата:
Сообщение от Кольша Посмотреть сообщение
или listview могу помочь с кодом если надо!

вот на PS писал на скорую руку=)
ага, спасибо... нужно будет разобраться...
что за процедура аддфайл?

и ещё...
по аналогии с вашей программой сделал
Код:
addfile(listview1,extractfilename(OpenDialog1.Files.Strings[Index]),OpenDialog1.Files.Strings[Index]);
дальше пробую воспроизвести
Код:
	f := PChar(listview1.Selected.SubItems.GetText);
    Channel := BASS_StreamCreateFile(FALSE, f, 0, 0, 0);
	if channel <> 0 then
   BASS_ChannelPlay(channel, False);
но ничего не выходит...


может всётаки справочка есть русскоязычная? :D
Dialog108 вне форума Ответить с цитированием
Старый 30.03.2012, 20:13   #10
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

это класс а не компонент.
отвыкайте от формошлепства.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
drag and drop c# katbka Помощь студентам 1 05.03.2012 05:09
drag and drop digital-stream Общие вопросы Delphi 2 11.07.2011 18:26
drag and drop kelty Помощь студентам 0 11.09.2009 23:00
Нужна помощь (Drag-And-Drop & Drag-Abd-Dock)) Arkuz Общие вопросы Delphi 1 18.04.2009 00:15
Drag and Drop Xardas Общие вопросы Delphi 8 20.01.2008 23:09