Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Поиск и папки с ограничением доступа


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
...


Наверх

Титульная страница Поиск, карта сайта Написать письмо