如题我现在是有很多(几千张)图在同一个目录下
打算将他们的文件名读到数据库中,请问得怎么个搞法呢.

解决方案 »

  1.   

    这是指定目录,查找所有该目录下的文件的函数,可能对你有帮助
    procedure pSearchFile(mPath: TFileName);
      var
        vSearchRec: TSearchRec;
        K,i: Integer;
      begin
        K := FindFirst(mPath + '*.*', faAnyFile, vSearchRec);
        i:=i+1;
        while K = 0 do
        begin
          {if (vSearchRec.Attr and faDirectory > 0) and
            (Pos(vSearchRec.Name, '..') = 0) then
             pSearchFile(mPath + vSearchRec.Name)
          else //}
            if Pos(vSearchRec.Name, '..') = 0 then
               begin
               if Pos('.rar',vSearchRec.Name)>0 then
                  begin
                  form1.Memo2.Lines.Add('发现文件:'+vSearchRec.Name+' 时间:'+datetimetostr(now));
                  form1.Timer2.Enabled:=false;
                  form1.LabeledEdit2.Text:=vSearchRec.Name;
                  rarfile:=mPath+vSearchRec.Name;
                  unrarfile:=mPath +'rarbak\'+vSearchRec.Name;
                  form1.Timer3.Enabled:=true;
                  end;
               end;
          K := FindNext(vSearchRec);
        end;
        FindClose(vSearchRec);
    end;
      

  2.   

    如果不想写代码也可以将 Win3.1页面上的FileListBox放到窗体上设置一下它的 mask 值(加入为 *.jpg)
    procedure TForm1.Button1Click(Sender: TObject);
    var
      i:integer;
    begin
      FileListBox1.Directory:='C:\';     //设置一下它的根目录
      for i := 0 to FileListBox1.Items.Count-1 do
        Showmessage(FileListBox1.Items.Strings[i]);
    end;这样,就可以遍历文件名了。然后,执行写入数据库的操作。