Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > Поиск файла


Автор: Ripper 30.3.2005, 08:29
Код

var SR: TSerchRec;
begin
 FindFirst(edit1.text + '\*.*', faAnyFile, SR);
 showmessage(SR.Name);
 FindClose(SR);
end;

в edit1 пишу C:\123.. кинул туда пару текстовых файлов...и он показывает мне вместо имени - точку.. Почему?

Автор: Coder 30.3.2005, 08:36
. - указывает на текущий каталог
.. - на верхний

нужно учитывать эти ситуации

короче вот готовая процедура поиска файлов в текущем каталоге и подкатологах, найденные файлы добавляются в TStringList:
Код

procedure TForm2.Scan(dir, mask : string; List: TStringList);
var
  SFile : TSearchRec;
begin
 if dir[length(dir)]<>'\' then
   dir[length(dir)]:='\';
 R:=FindFirst(dir+mask,faAnyFile,SFile);
 while R=0 do
   begin
       if (SFile.Name<>'..') and (SFile.Name<>'.') then
             Scan(Dir+SFile.Name+'\','*.*',List)
       else
          List.Add(dir+SFile.Name);
     R:=FindNext(SFile);
   end;
 FindClose(SFile);

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)