Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Вниз

Добавление вложенных папок в плейлист   Найти похожие ветки 

 
GeLLeR ©   (2006-08-23 15:26) [0]

Вот код:

procedure ScanDir(StartDir: string; Mask: string; List: TStrings);
var
 SearchRec: TSearchRec;
begin
 if Mask = "" then
   Mask := "*.*";
 if StartDir[Length(StartDir)] <> "\" then
   StartDir := StartDir + "\";
 if FindFirst(StartDir + Mask, faAnyFile, SearchRec) = 0 then
 begin
   repeat Application.ProcessMessages;
     if (SearchRec.Attr and faDirectory) <> faDirectory then
       List.Add(StartDir + SearchRec.Name)
     else if (SearchRec.Name <> "..") and (SearchRec.Name <> ".")then
     begin
       List.Add(StartDir + SearchRec.Name + "\");
     ScanDir(StartDir + SearchRec.Name + "\", Mask, List);
 end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;

procedure TMainForm.Openfolder1Click(Sender: TObject);
var i,filename:integer;
begin
if PathDialog1.Execute then
   ScanDir(PathDialog1.Path, "*mp3", PlayList_editor.ListBox1.Items);
end;

Как сделать чтобы додавлялись вложенные папки?  


 
GeLLeR ©   (2006-08-23 15:28) [1]

Примечание. Далее в процедуре procedure TMainForm.Openfolder1Click(Sender: TObject); добавляются др. форматы, считается время и тд и тп


 
unknown ©   (2006-08-23 15:42) [2]


> GeLLeR ©   (23.08.06 15:26)


procedure GetAllFiles(mask: string;var Box:TStrings);
var
 search: TSearchRec;
 directory: string;
begin
 if Box=nil then
   exit;
 directory := ExtractFilePath(mask);
 // find all files
 if FindFirst(mask, $23, search) = 0 then
 begin
   repeat
     // add the files to the listbox
     Box.Add(directory + search.Name);
   until FindNext(search) <> 0;
 end;
 // Subdirectories/ Unterverzeichnisse
 if FindFirst(directory + "*.*", faDirectory, search) = 0 then
 begin
   repeat
     if ((search.Attr and faDirectory) = faDirectory) and (search.Name[1] <> ".") then
       GetAllFiles(directory + search.Name + "\" + ExtractFileName(mask),Box);
   until FindNext(search) <> 0;
   SysUtils.FindClose(search);
 end;
end;


 
GeLLeR ©   (2006-08-23 15:46) [3]

Пасибачки))))))0


 
GeLLeR ©   (2006-08-23 15:57) [4]

Только хотелось бы ещё код с использованием этой прцедурки ато нефурычит...


 
unknown ©   (2006-08-23 16:22) [5]


> GeLLeR ©   (23.08.06 15:57) [4]

procedure TForm1.Button1Click(Sender: TObject);
var
 Str:TStrings;
begin
 Str:=TStringList.Create;
 try
   GetAllFiles("G:\Music\*mp3", Str);
   Memo1.Lines.Text:=Str.Text;
 finally
   Str.Free;
 end;
end;



Страницы: 1 вся ветка

Форум: "Начинающим";
Текущий архив: 2006.09.10;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.083 c
15-1155651735
hamster
2006-08-15 18:22
2006.09.10
Не запускается Windows


15-1155888205
Sergey13
2006-08-18 12:03
2006.09.10
По Lotus Notes может поможет кто


15-1155626631
vain
2006-08-15 11:23
2006.09.10
Слежение за реестром


2-1155983892
SerJaNT
2006-08-19 14:38
2006.09.10
HTML и Буфер обмена


15-1154079916
Внук
2006-07-28 13:45
2006.09.10
В отпуск!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский