![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Компонент для работы с файлами [D6, D7, Win95/98, WinME, NT4, Win2k, WinXP]
Алексей © (2004-06-18 15:08:00)Помогите, пожалуйста! Нужен компонент для поиска файлов с нужным расширением.
Anatoly Podgoretsky (2004-06-18 16:06:00) [1]В ru.delphi FAQ есть более четкий пример, именно с нужным расширением, пример от ЮЗ. Тут важно понимать что хочешь сделать.
TUser (2004-06-18 16:02:00) [2]
> привожу пример Анатолия надеюсь он не обидется!!!!!!
Если не ошибаюсь, у него на сайте и компонент соотвествующий есть. А вообще, практически такой же пример приведен в справке.
lena19 (2004-06-18 15:22:00) [3]привожу пример Анатолия надеюсь он не обидется!!!!!!
Как получить список файлов со всеми подкаталогами (04.03.02 18:15)
procedure ScanDir(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 + '\');
ScanDir(StartDir + SearchRec.Name + '\',Mask,List);
end;
until FindNext(SearchRec) <> 0;
FindClose(SearchRec);
end;
end;
Пример вызова, параметры
1. имя папки
2. маска, по умолчанию *.*
3. хранилище для резульатат,
любой наследник от TString, например TStringList
procedure TForm1.Button1Click(Sender: TObject);
begin ListBox1.Items.Clear;
ScanDir('c:','',ListBox1.Items);
Label1.Caption := IntToStr(ListBox1.Items.Count);end;
С уважением
Анатолий Подгорецкий
Алексей (2004-06-18 15:16:00) [4]Спасибо!
Fay (2004-06-18 15:15:00) [5]FindFirstFile
Andy BitOff (2004-06-18 15:15:00) [6]Функция FindFirst + F1