![]() |
|
|
|
|
#1
|
||||
|
||||
|
Код:
procedure TfrmMain.SpeedButton4Click(Sender: TObject);
var
Root: string; // корневой каталог
pwRoot : PWideChar;
Dir: string;
begin
Root := ''; // корневой каталог - папка Рабочий стол
GetMem(pwRoot, (Length(Root)+1) * 2);
pwRoot := StringToWideChar(Root,pwRoot,MAX_PATH*2);
if not SelectDirectory('Выберите папку, в которой находятся mp3-файлы', pwRoot, Dir)
then Dir :=''
else Dir := Dir+'\';
// каталог, в котором находятся MP3 файлы выбран
SoundPath := Dir;
PlayList(SoundPath);
end;
procedure TfrmMain.PlayList(Path: string);
var
SearchRec: TSearchRec;// структура SearchRec содержит информацию
// о файле, удовлетворяющем условию поиска
begin
ListBox1.Clear;
// сформировать список mp3 файлов
if FindFirst(Path + '*.mp3', faAnyFile, SearchRec) =0 then
begin
// в каталоге есть файл с расширением mp3
// добавим имя этого файла в список
Bibliotheque.Items.Add(SearchRec.Name);
// есть еще mp3-файлы ?
while (FindNext(SearchRec) = 0) do
Bibliotheque.Items.Add(SearchRec.Name);
end;
end;вот мы выбераем папку, затем в procedure TfrmMain.PlayList ищем файл удовлетворяющий условию поиска и добавляем его в лист бокс(Bibliotheque.Items.Add) вот только там добавляется только имя а как сделать чтобы так же добавлялся путь(в описании SearchRec не нашел этого, но неужели никак) , и в поиск добавить еще искать .wav файлы. |
|
#2
|
||||
|
||||
|
Чтобы добавить путь просто добавляй к имени файла переменную Path:
Код:
procedure TfrmMain.PlayList(Path: string);
var
SearchRec: TSearchRec;// структура SearchRec содержит информацию
// о файле, удовлетворяющем условию поиска
begin
ListBox1.Clear;
// сформировать список mp3 файлов
if FindFirst(Path + '*.mp3', faAnyFile, SearchRec) =0 then
begin
// в каталоге есть файл с расширением mp3
// добавим имя этого файла в список
Bibliotheque.Items.Add(Path+SearchRec.Name);
// есть еще mp3-файлы ?
while (FindNext(SearchRec) = 0) do
Bibliotheque.Items.Add(Path+SearchRec.Name);
end;
end;А добавить поиск .wav файлов делать так же: Код:
... // сформировать список mp3 файлов if FindFirst(Path + '*.wav', faAnyFile, SearchRec) =0 then ... |
|
#3
|
|||
|
|||
|
1. Путь у тебя есть - это критерий поиска. Просто "клеишь" его к имени файла из SaearcRec.
2. Для поиска файлов с разными расширением надо искать по маске *.* и потом с помощью функции MatchesMask (uses Masks) проверять на соответсвие. |