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

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.009 c
1-77975
Гость
2003-07-11 11:28
2003.07.24
Русское название каталога в TOpenDialog.InitialDir


1-77922
Сергей Ч
2003-07-10 14:34
2003.07.24
Установил Delphi7


1-77900
mdsns
2003-07-10 12:53
2003.07.24
Действие при закрытии


9-77709
Хранитель_7К
2003-01-15 17:13
2003.07.24
Динамическое освещение в ОпенГЛ


14-78054
Skier
2003-07-07 12:55
2003.07.24
---|Ветка была без названия|---





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский