我要在一个特定的文件目录中逐个文件名察看,找到符合某个条件的文件。例如我要在A目录下选择文件名有‘2004’字样的文件。应该怎么编程亚!方法,源码都行。各位帮帮忙!

解决方案 »

  1.   

    查找一个目录下的某些特定的文件  
    关键词:搜索文件 查找文件 检索文件  
    方法如下: 
    FileSearch :查找目录中是否存在某一特定文件
    FindFirst :在目录中查找与给定文件名(可以包含匹配符)及属性集相匹配的第一个文件 
    FindNext :返回符合条件的下一个文件 
    FindClose :中止一个FindFirst / FindNext序列 //参数: 
    //Directory : string 目录路径
    //RetList : TStringList 包含了目录路径和查询到的文件Funtion FindAllFileInADirectory(const : string; var RetList : TStringList):Boolean;
    var
    SearchRec: TSearchRec;
    begin 
    if FindFirst(Directory + ’*.*’, faAnyFile, SearchRec) = 0 then 
    begin
    repeat
    RetList.Add(Directory + ’’ + SearchRec.Name);
    until (FindNext(SearchRec) <> 0);
    end 
    FindClose(SearchRec);
    end;
      

  2.   

    可以使用FindFirst,FindNext,FindClose:
    procedure TForm1.Button1Click(Sender: TObject);
    var
      sr: TSearchRec;
    begin
      if findfirst('D:\ReadBOOK\*.*', faReadOnly, sr) = 0 then
      begin
        self.Memo1.Lines.Add(sr.Name);
        while findnext(sr) = 0 do
        begin
          self.Memo1.Lines.Add(sr.Name);
        end;
        FindClose(sr);
      end;
    end;
    //'D:\ReadBOOK\*.*':为查找的目录,*.*为查找所有类型文件;
      

  3.   

    if not FileExists('路径') then
             begin
             image1.Picture.LoadFromFile(trim(p1));
             end
             else
             begin
                image1.Picture.LoadFromFile('路径'));
             end;