可以用数据库来解决吧 先用FindFirst,Findnext 函数找, 如果这个目录的子目录下的文件名也要的话,得用递归。 把找到的文件名存放到一个数据表里。 然后读取这个表,order by 文件名。 然后依次赋值给一个数组。
刚刚我给你的代码就是解决这个的; 只是放在Tstringlist中 你怎么不自己想想啊.....
//merkey2002(小样的)说的方法不错呢 //遍历文件夹下的所有文件,剩下的就存进数据库了,很简单 //存入完毕后按顺序选出来存汝数组 procedure TForm1.Button1Click(Sender: TObject); var f:tsearchrec; s:string; begin if edit1.Text='' then exit; if edit1.text[length(edit1.text)]<>'\' then s:=edit1.Text+'\*.*' else s:=edit1.Text+'*.*'; findfirst(s,faanyfile,f); while findnext(f)=0 do //存进数据库 //从数据库中取出来,sql语句用order by 书名字段,然后放到数组中 end;
先用FindFirst,Findnext 函数找,
如果这个目录的子目录下的文件名也要的话,得用递归。
把找到的文件名存放到一个数据表里。
然后读取这个表,order by 文件名。
然后依次赋值给一个数组。
只是放在Tstringlist中
你怎么不自己想想啊.....
//遍历文件夹下的所有文件,剩下的就存进数据库了,很简单
//存入完毕后按顺序选出来存汝数组
procedure TForm1.Button1Click(Sender: TObject);
var f:tsearchrec;
s:string;
begin
if edit1.Text='' then
exit;
if edit1.text[length(edit1.text)]<>'\' then
s:=edit1.Text+'\*.*'
else
s:=edit1.Text+'*.*';
findfirst(s,faanyfile,f);
while findnext(f)=0 do
//存进数据库
//从数据库中取出来,sql语句用order by 书名字段,然后放到数组中
end;