Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.016 c
3-77808
Шапранов Сергей Николаевич
2003-07-03 12:03
2003.07.24
Не работает UpDate


14-78070
Lenza
2003-07-07 12:39
2003.07.24
Watches


3-77768
Kati
2003-07-02 10:06
2003.07.24
Все тот же Sql !


1-77834
_NoS_
2003-07-09 19:27
2003.07.24
Список форм


4-78188
Nikkk
2003-05-22 19:37
2003.07.24
Как определить исчезло ли окно с известным именем?




   Наверх