|  | 
 
 | 
| 
 | |||||||
| Регистрация | << Правила форума >> | 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  
			
			
			
			
		 | |||
| 
 | |||
|   Огромнейшее спасибо за помощь!!!  |