可以参考一下:
var
sr:tsearchrec;
err:integer;
filename,filepath:string;
count_postfix:string;
begin
lv_item:=1;
chdir(mypath.workpath);
//查找第一个文件
err := findfirst('*.*',faAnyFile,sr);
//如果找到文件,开始递归搜索
while(err=0) do
begin
if sr.Name[1]<>'.' then
begin
//找到文件
if (sr.Attr and fadirectory) <>fadirectory then
begin
if sr.Name <> null then
begin
filename := sr.Name;
filepath := expandfilename(sr.Name);
count_postfix := rightstr(filename,Length(filename)-posex('.',filename,1));
end;
end;
end;
//找到子目录
if (sr.Attr and fadirectory) =fadirectory then
begin
filepath := expandfilename(sr.Name);
chdir(sr.Name);
maketree;
chdir('..');
end;
end;
err := findnext(sr);
end;
findclose(sr);
end;