IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

> Как рекурсивно вывести список всех файлов и катало, помогите примером.....??
-Guest_
сообщение 28.06.2005 15:32
Сообщение #1


Гость






Подскажите как через FindFirst и FindNext можно рекурсивно вывести список всех файлов директорий и поддиректорий?
Может есть какой-либо примерчик?smile.gif
Пользовался уже поиском но толку он не дал, мне нужен маленький пример на Дельфи, а все здешние примеры используют модуль Dos, которого нет в Дельфи...
Может подскажите чего??
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
volvo
сообщение 28.06.2005 16:13
Сообщение #2


Гость






Вместо Dos пользуйся SysUtils... Вот пример:
Procedure ScanDisk(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 + '\');
ScanDisk(StartDir + SearchRec.Name + '\',Mask,List); { и рекурсия }

End;
Until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
End;
end;

Неужели это так сильно отличается от примера, приведенного здесь: FAQ: Файлы (Поиск файла по директориям)
 К началу страницы 
+ Ответить 

Сообщений в этой теме


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



- Текстовая версия 19.06.2025 19:40
Хостинг предоставлен компанией "Веб Сервис Центр" при поддержке компании "ДокЛаб"