![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Здравствуйте!!!Помогите кто знает!!!Нужно найти файлы на диске, но проблема в том что файл лежит в папке которая находится в папке которую мы указываем в пути поиска
![]() ![]() |
#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
|
|||
|
|||
![]() Огромнейшее спасибо за помощь!!!
![]() |