我想实现把一文件夹下的一种类型的文件的文件名写进数据库(包括文件名,路径,大小的信息),以便于查找,请各位大侠,指点指点,搜了一些资料,还是没有头绪,本人新手!先谢谢各位了!!

解决方案 »

  1.   

    去查findfirst和findnext的帮助,有例子
      

  2.   

    你哪不会呀,是查找文件不会,还是写入数据库不会呀,遍历目录然后用findfirst,findnext,baidu一下,很多,写数据库也一样
      

  3.   

    //前段时间写了个,不过是显示在StringGrid1中,存储数据库和文件格式判断自己修改
    //分数少了点
    procedure TMainForm.FindAll(const Path: String);
    var
      sr:TSearchRec;
      fr:Integer;
      SP:string;
    begin
      SP := Path;
      If SP[Length(SP)] = '\' Then SP[Length(SP)] := ' ';
      SP := Trim(SP);  fr:=FindFirst(SP+'\*.*',faAnyFile,sr);
      while fr=0 do
      begin
        if (sr.Attr=faDirectory)and(sr.Name<>'.')and(sr.Name<>'..') then
        BEGIN
          StringGrid1.Cells[0,StringGrid1.RowCount - 1] := SP+'\'+sr.Name;//目录
          StringGrid1.RowCount  := StringGrid1.RowCount + 1;
          FindAll(SP+'\'+sr.Name)  //递归查找下一个目录
        END
        else
        begin
          If (sr.Name<>'.')and(sr.Name<>'..') then //
          begin
            StringGrid1.Cells[0,StringGrid1.RowCount - 1] := SP+'\';//文件目录
            StringGrid1.Cells[1,StringGrid1.RowCount - 1] := sr.Name;//文件名
            StringGrid1.Cells[2,StringGrid1.RowCount - 1] := IntToStr(sr.Size);//文件大小
            StringGrid1.RowCount  := StringGrid1.RowCount + 1;
          End;
        end;
        fr := FindNext(sr);
      end;
      FindClose(sr);
    end;