Вниз
Скачать: CL | DM;

Поиск и папки с ограничением доступа   Найти похожие ветки 

 
demon ©   (2009-01-18 15:10) [0]

При поиске файлов на диске программа зависает когда пытаеться войти в папку, на которую пользователю запрещен доступ, например в "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) [1]

if FindFirst(...) = 0
 until
...



Страницы: 1 вся ветка

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



Память: 0.45 MB
Время: 0.027 c
15-1230623651
@!!ex
2008-12-30 10:54
2009.03.01
Какой вариант вы бы выбрали?


15-1230639901
Чудак
2008-12-30 15:25
2009.03.01
Права на доступ к дирректория юникс


2-1232345049
Ruslan777
2009-01-19 09:04
2009.03.01
Проверка нажатия кнопки во цикле?


15-1230522124
Slider007
2008-12-29 06:42
2009.03.01
С днем рождения ! 27 декабря 2008 суббота


2-1232030193
Handle
2009-01-15 17:36
2009.03.01
GetSysColorBrush




   Наверх