| 
| 
 | Вопрос # 579/ вопрос открыт / | 
 |  Здравствуйте, уважаемые эксперты!Я пишу программу для сбора всех тектовых файлов. Вродебы все хорошо, но нужно создать список исключений, к примеру никчему сканировать в директориях WINDOWS, TEMP, Program Files. Ума не приложу как сделать, знакомые обьясняли на словах, не врубаюсь и все тут. Надеюсь на вашу помошь ! В приложении моя функция, может кто поможет вставить в нее список исключений... Заранее благодарю!
 Приложение:Переключить в обычный режим procedure TfmMain.ScanDir(Dir: string);var  SearchRec : TSearchRec;  s1, s2    : PAnsiChar;begin  if Dir <> '' then if Dir[length(Dir)] <>
'' then Dir := Dir + '';  if ( dir <> ExtractFileDir( Application.ExeName ) + 'temp' ) then        begin          if FindFirst( Dir + '*.*', faAnyFile, SearchRec ) = 0 then            repeat              Application.ProcessMessages;              if ( SearchRec.name = '.' ) or ( SearchRec.name =
'..' ) then continue;              if ( SearchRec.Attr <> 0) then ScanDir( Dir + SearchRec.name );              if ( RightStr( SearchRec.Name, 3 )= 'txt' ) then                begin                  Memo1.Lines.Add( Dir + SearchRec.name );                  s1 := PAnsiChar( Dir + SearchRec.name );                  s2 := PAnsiChar( ExtractFileDir( Application.ExeName ) + 'temp'
+  SearchRec.name );                  CopyFile( s1, s2, true );                end;            until FindNext( SearchRec ) <> 0;          FindClose( SearchRec );        end;end;
|  |   Вопрос задал: ref (статус: Посетитель)Вопрос отправлен: 17 мая 2007, 17:14
 Состояние вопроса: открыт, ответов: 1.
 |  Ответ #1. Отвечает эксперт: Вадим К Здравствуйте, ref!Ой. Когда то я писал подобный код. Ну. може матрица.
 
 ок. Делаем так. заводим sl:TstringList который будет хранить список исключений. Одна строка - один путь.
 при входе в подпрограмму делаем проверку
 if sl.indexof(Dir)<>-1 then exit;
 вот таким нехитрым образом и не пустим рекурсию в запрещённые папки. Правда с слешами в конце сами разбирайтесь
 
|  | Ответ отправил: Вадим К (статус: Академик)Время отправки: 17 мая 2007, 18:40
 
 |  
 Мини-форум вопросаМини-форум пуст. Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте. |