Начну с того что опишу саму суть моего метода.
Писал давно такое и подзабыл все так что не судите строго если с 1 раза не получится.
И так перейду к делу. Суть метода заключается в том что бы сделать 2 лист бокса в место одного.
1) хранилище ссылок на файлы.
2) для визуального обзора.
Создаем 2 листбока .
я буду использовать в теме имена листбоксов Lst1,Lst2.
I. Синхронизация работы листбокса (где Lst2 - листбокс содержащий ссылки, Lst1 - содержащий название)
Код
procedure TForm_player.lst1DblClick(Sender: TObject);
begin
i:=Lst1.Itemindex;
Lst2.ItemIndex:=i;
Filename:=Lst2.Items.Strings[i];
mode:=Play;
player;
end;
II. Заполнение листбоксов.
Код
OpenDialog1.Title := 'Open Files';
if listbox1.Count<>0 then i:=ListBox1.ItemIndex else i:=0;
if not OpenDialog1.Execute then exit;
begin
for j:=0 to OpenDialog1.Files.Count-1 do
begin
Lst2.Items.Add(OpenDialog1.Files.Strings[j]); // загружаем список ссылок в 2 листбокс
Lst1.Items.Add(ExtractFileName(OpenDialog1.Files.Strings[j])); // загружаем имена файлов в 1 листбокс и получаем визуальное отображение только имен.
end;
теперь размещаем lst2 под lst1 и получаем вместо ссылки файла имя файла.
Мой вам совет еще сделать фаил плей листа. и продумать способ создавать другие плейлисты,запоминать расположение последнего используемого
а так же загружать в плей лист список ссылок. и выгружать используя 2 листбокса.
Кому интересно пробуйте. по вопросам пишите в личку постараюсь ответить.
©Black-Lotus