请问如何获得一个文件夹下所有的文件名(包括文件夹的名字)?(100分)

  • 主题发起人 主题发起人 mugedy
  • 开始时间 开始时间
试试!

procedure TForm1.DoSearchPathFile(qPath: string);
var
; SR: TSearchRec;
; FileAttr: Integer;
begin
; FileAttr := faDirectory;
; FindFirst(qPath ;+ '/*.*', FileAttr, SR);
; While FindNext(SR) = 0 do
; begin
; ; if (SR.Name <> '.') and (SR.Name <> '..') then begin
; ; ; if DirectoryExists(qPath + '/' + SR.Name) then
; ; ; begin
; ; ; ; ListBox1.Items.Add('路径'+ qPath + '/' + SR.Name);
; ; ; ; DoSearchPathFile(qPath + '/' + SR.Name);
; ; ; end;
; ; ; else ListBox1.Items.Add(qPath + '/' + SR.Name);
; ; end;
; end;
; FileAttr := faAnyFile;
; FindFirst(qPath + '/*.*', FileAttr, SR);
; while FindNext(SR) = 0 do
; begin
; ; if (SR.Name <> '.') and (Sr.Name <> '..') then
; ; begin
; ; ; if not(DirectoryExists(qPath + '/' + SR.Name)) then
; ; ; ; ListBox1.Items.Add(qPath + '/' + SR.Name);
; ; end;
; end;
end;
 
用递归法获得指定目录下所有目录及文件名(注:对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;
 
对不起,这个问题我回去想了一下想出来了,我还有一个问题,
怎么获得文件的图标呢?就象delphi中的一个组件一样?谢谢大家!
 
多人接受答案了。
 
后退
顶部