![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Поиск и папки с ограничением доступа
demon © (2009-01-18 15:10:00)При поиске файлов на диске программа зависает когда пытаеться войти в папку, на которую пользователю запрещен доступ, например в "System Volume Information", как пропускать такие папки?
procedure SearchFilesInFolder(Dir: string; nps: integer);
var
SearchRec: TSearchRec;
i:integer;
temps: string;
begin
Dir := IncludeTrailingPathDelimiter(Dir);
i := FindFirst(Dir + '*.*',faAnyFile,SearchRec);
while i <> ERROR_NO_MORE_FILES do
begin
if i = 0 then
if (SearchRec.Name <> '.') and (SearchRec.Name <> '..') then
if SearchRec.Attr and faDirectory <> 0
then SearchFilesInFolder(Dir + SearchRec.Name,nps)
else if SearchRec.Size > 0 then
if nps = -1 then
begin
// делаем то что нужно
end;
i := FindNext(SearchRec);
end;
FindClose(SearchRec)
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
SearchFilesInFolder('C:\', -1);
end;
AndreyV (2009-01-18 15:37:00) [1]if FindFirst(...) = 0
until
...