请问各位,如何可以得到某一路径下的所有子目录名称?
解决方案 »
- Delphi做菜单管理问题
- 有关delphi的odbc编程
- 关于oracle 日期查询问题
- 应各位同仁盛情邀请,开始放分
- 非技术问题:饭桶你为什么叫超级饭桶 ?
- 如何让MEMO控件垂直居中~
- 紧急救助!安装包制作问题
- 急求delphi6序列号和受权号!!!
- 用 Import type library 功能添加一个".DLL"文件,生成DPK文件后出:"Property setters cannot take var parameters"错误,谢谢各位高手
- 莱鸟小问题,大送分!(绝不食言哟!!)
- dll使用中的问题
- 一个给表中数据排序的难题:如何在字段后加上该记录值的名次,有一个DBF格式的表,有下列字段:学号,姓名,语文,数学,总分...
参数:
DirName 查找的目录
FileList 找到的文件, 需要调用前创建
IncSubDir 是否包括子目录,True包括,否则不包括。默认包括子目录。
}
procedure FindFile(DirName:string;var FileList:TStrings; IncSubDir:boolean=True);
var DS:TSearchRec;
i,p:integer;
Path:string;
DirList:TStrings;
begin
i := 0;
DirName :=ExcludeTrailingPathDelimiter(DirName);
DirList := TStringList.Create;
DirList.Add(DirName);
while i < DirList.Count do
begin
Path := DirList.Strings[i] + '\';
if FindFirst(Path + '*.*', faAnyFile, Ds) = 0 then
repeat
if (Ds.Attr and faDirectory) = 0 then
FileList.Add(Path + Ds.Name)
else
if IncSubDir and (Ds.Name[1] <> '.') then
DirList.Add(Path + Ds.Name);
until FindNext(Ds) <> 0;
Inc(i);
//显示进度
p := i * 100 div DirList.Count;
if p > Form1.ProgressBar1.Position then
Form1.ProgressBar1.Position := p;
FindClose(Ds);
end;
DirList.Free;
end;
procedure TForm1.Button1Click(Sender: TObject);
var FileList:TStrings;
begin
FileList := TStringList.Create;
FindFile('c:', FileList); //查找C盘所有文件
FileList.Free;
end;