![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Сканирование папок по маске [D6, D7, Win2k]
ksa3003 © (2005-10-09 22:34:00)Как можно сделать программно следющую вещь.
Мне надо осущенствлять сканирование папки на определёные файлы. Сканирование идёт из процесса. Т.е. я не хочу использовать визуальные копаненты FileListBox т т.д. .
Как мне это лучше сделать ?
ksa3003 (2005-10-09 22:44:00) [1]Спасибо...вроде то что надо
Palladin (2005-10-09 22:38:00) [2]для сведения: здесь есть ошибки... исправляй сам
Eraser (2005-10-09 22:37:00) [3]
> ksa3003 (09.10.05 22:34)
см. ф-ии FindFirst/Next/Close.
Palladin (2005-10-09 22:37:00) [4]
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
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;