|
Вопрос # 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
|
Мини-форум вопроса
Мини-форум пуст.
Чтобы оставлять сообщения в мини-форумах, Вы должны авторизироваться на сайте.
|