Поиск файлов в папках и подпапках |
Есть папка. В этой папке находатся ещё три подпапки. Нужно найти все файлы, удоволетворяющие условиям поиска, в папке, а потом во всех подпапках, с теми же условиями.
Вот что у меня получилось:
Код:
Procedure TMainForm.AddFolderToPlayList(Dir: String; Format: String; Folder: Boolean);
Var
Folders: TStrings;// Memo на форме
I, M: Integer;
SearchRec: TSearchRec;
Begin
M:=-1;
If FindFirst(Dir + Format, faAnyFile, SearchRec) = 0 Then
Begin
PlayListBox.Items.Add(Dir+SearchRec.Name);
While (FindNext(SearchRec) = 0) Do
PlayListBox.Items.Add(Dir+SearchRec.Name);
End;
FindClose(SearchRec);
If Folder Then
Begin
If FindFirst(Dir+'*', faDirectory, SearchRec) = 0 Then
Begin
If (SearchRec.Name<>'') And (SearchRec.Name<>'.') And (SearchRec.Name<>'..') Then
Begin
M:=M+1;
Folders.Add(Dir+SearchRec.Name+'\');
End;
While (FindNext(SearchRec) = 0) Do
If (SearchRec.Name<>'') And (SearchRec.Name<>'.') And (SearchRec.Name<>'..') Then
Begin
M:=M+1;
Folders.Add(Dir+SearchRec.Name+'\');
End;
FindClose(SearchRec);
For I:=0 To M Do AddFolderToPlayList(Folders.Strings[i], Format, True);
End;
End;
End;
Но это работать не хочет. Точнее добавляет файлы только из первой папки. А дальше либо ничего не находит, либо зацикливается и вылетает.
Что в процедуре не так?
|
Просмотр ответов: |
http://programmersforum.ru/showthread.php?t=3388 |
Posted in Общие вопросы Delphi by Alar
Другие вопросы:
Требуется программным путём считать несколько ключей с реестра из одного раздела.
Компонент для работы с GIF
Как сделать нестандартную форму
Как динамически создать процедуры для подменю компонента TMainMenu
Сравнение текстовых файлов
<<<Назад Вперёд>>>