江湖告急!(50分)

  • 主题发起人 主题发起人 forjing_888
  • 开始时间 开始时间
F

forjing_888

Unregistered / Unconfirmed
GUEST, unregistred user!
如何取得一個目下錄的所有文件名,及文件的擴展名!
 
findfirst,findnext
 
用递归法获得指定目录下所有目录及文件名(注:对ntfs格式的磁盘不适用)
在form上放置一treeview,Tedit,button
tedit的初始值设为C:
__________________________________________
procedure getallpath(path:string;treenode:ttreenode;subdir:boolean);
procedure Button1Click(Sender: TObject);
private
treenode:ttreenode;
...........
procedure Tform1.getallpath(path:string;treenode:ttreenode;subdir:boolean);
var
int:integer;
SRec: TSearchRec;
treenode2:ttreenode;
begin
int:=findfirst(path+'/*.*',faAnyFile,SRec);
while int<>18 do
begin
if (srec.Attr=16) THEN
begin
if (SREC.NAME<>'.') AND (SREC.NAME<>'..') then
begin
treenode2:=treeview1.Items.Addchild(treenode,srec.Name);
if subdir then GETALLPATH(path+'/'+SRec.Name,treenode2,subdir);
end
end
Else
begin
treenode2:=treeview1.Items.Addchild(treenode,srec.Name);
end;
int:=FindNext(SRec);
end;
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
treeview1.Items.Clear;
getallpath(edit1.text,treenode,true); //同时取子目录下的文件及目录名
//getallpath(edit1.text,treenode,false); 不取子目录下的文件及目录名
end;
 
findfirst
findnext
findclose
 
接受答案了.
 
后退
顶部