|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Нужна помощь в поиске файлов
Здравствуйте!!!Помогите кто знает!!!Нужно найти файлы на диске, но проблема в том что файл лежит в папке которая находится в папке которую мы указываем в пути поиска и поэтому FindFile не подходит так как он ищет только в том каталоге который указан в пути. Подскажите кто знает как можно это сделать. Извеняюсь если плохо объяснил мою проблему.
|
#2
|
|||
|
|||
Код:
procedure TForm1.Button1Click(Sender: TObject); var Path, SpecifiedPath, FileN : String; function SameFile(SpecPath, FN : String; Attr : Integer) : string; var SR : TSearchRec; N : String; begin N := FN; Result := SpecPath; if Attr and faDirectory > 0 then begin Result := ''; N := '*.*'; end; if FindFirst(SpecPath+N, faAnyFile, SR) = 0 then begin repeat if (SR.Attr and faDirectory > 0) and (Attr and faDirectory > 0) and (SR.Name <> '.') and (SR.Name <> '..') then begin Result := SameFile(SpecPath+SR.Name+'\', FN, SR.Attr); if Result <> '' then break; end; if SR.Name = FN then begin Result := SpecPath+SR.Name; break; end; until FindNext(sr) <> 0; end else Result := ''; FindClose(sr); end; begin //следующие два присвоения для примера FileN := '1945.txt'; //искомый файл SpecifiedPath := 'D:\TextFiles\'; //путь к заданному каталогу //вызов рекурсивной функции для поиска файла в каталогах и //подкаталогах, начиная от заданного каталога Path := SameFile(SpecifiedPath, FileN, faDirectory); if Path <> '' then begin //файл найден Memo1.Lines.Add(Path) end; end; Не забывайте делать резервные копии Последний раз редактировалось san-46, 18.06.2008 в 10:21. |
#3
|
|||
|
|||
Огромнейшее спасибо за помощь!!!
|