如何得到一个指定目录下所有文件的文件名,子目录名不要!! ( 积分: 100 )

  • 主题发起人 主题发起人 冬月
  • 开始时间 开始时间

冬月

Unregistered / Unconfirmed
GUEST, unregistred user!
如何得到一个指定目录下所有文件的路径名+文件名,子目录名不要。比如在D盘下有AAA的目录,目录中有1.EXE,2.TXT.4.COM.6.JPG等文件,及aa,aaa等子目录,但在BUTTON1按了后在LISTBOX1中显示所有文件的完整名字,子目录名不要,应该显示为<br><br>D:/1.EXE<br>D:/2.TXT<br>D:/4.COM<br>D:/6.JPG
 
procedure&nbsp;FilesFromDir(ADir:string;var&nbsp;lst:TStringList);<br>var<br>&nbsp;&nbsp;&nbsp;&nbsp;Sch:TSearchRec;<br>&nbsp;&nbsp;&nbsp;&nbsp;iRet:Integer;<br>begin<br>&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;not&nbsp;DirectoryExists(ADir)&nbsp;then&nbsp;Exit;<br>&nbsp;&nbsp;&nbsp;&nbsp;ADir:=IncludeTrailingBackslash(ADir);<br>&nbsp;&nbsp;&nbsp;&nbsp;iRet:=FindFirst(ADir+'*.*',faAnyFile,sch);<br>&nbsp;&nbsp;&nbsp;&nbsp;while&nbsp;(iRet=0)&nbsp;do<br>&nbsp;&nbsp;&nbsp;&nbsp;begin<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;if&nbsp;(Sch.Attr&nbsp;and&nbsp;faDirectory)=0&nbsp;then&nbsp;//不是文件夹<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;lst.Add(ADir+sch.Name);<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;iRet:=FindNext(Sch);&nbsp;&nbsp;&nbsp;<br>&nbsp;&nbsp;&nbsp;&nbsp;end;<br>&nbsp;&nbsp;&nbsp;&nbsp;FindClose(Sch);<br>end;
 
如何调用啊,本人比较菜
 
晕:<br>var&nbsp;<br>&nbsp;ls:TstringList;<br>begin<br>ls:=TStringList.create();<br>FilesFromDir('d:/',ls);<br>listbox1.items.assign(ls);<br>ls.free;<br>end;
 
多人接受答案了。
 
后退
顶部