Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.07.24;
Скачать: CL | DM;

Вниз

Рекурсивного обход директории   Найти похожие ветки 

 
cyberwolf ©   (2003-07-11 00:17) [0]

Необходима функция рекурсивного обхода директории с выводом её содержимого. Заранее спасибо.


 
Makhanev A.S. ©   (2003-07-11 00:19) [1]

FindFirst, FindNext... F1


 
cyberwolf ©   (2003-07-11 00:33) [2]

это я знаю... нужна-то функция, которая выводит уже готовый результат... саммому лень писать - мож у кого есть?


 
dataMaster ©   (2003-07-11 01:14) [3]

Кажется так:

procedure ScanDir(StartDir: string; Mask:string; List:TStrings);
{
Пример вызова, параметры
1. имя папки
2. маска, по умолчанию *.*
3. хранилище для резульатат,
любой наследник от TString, например TStringList
}

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 TForm1.Button1Click(Sender: TObject);
begin
ListBox1.Items.Clear;
ScanDir("c:","",ListBox1.Items);
Label1.Caption := IntToStr(ListBox1.Items.Count);
end;


 
Makhanev A.S. ©   (2003-07-11 01:21) [4]

http://delphibase.endimus.com/?action=viewfunc&topic=fileops&id=10046



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

Текущий архив: 2003.07.24;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.024 c
3-77754
Olivka
2003-06-29 16:11
2003.07.24
Использование макросов в FIBPlus


1-77876
Всё равно
2003-07-13 23:36
2003.07.24
Свой компонент


1-77879
Alex134
2003-07-13 18:49
2003.07.24
Интерфейсы


3-77740
me2
2003-07-01 11:55
2003.07.24
Фильтрация набора данных


1-77903
SVN17
2003-07-11 15:18
2003.07.24
Обработчик сообщений