首页 > 代码库 > DELPHI XE2 遍历子目录及文件《转》
DELPHI XE2 遍历子目录及文件《转》
function MakeFileList(Path,FileExt:string):TStringList ;var sch:TSearchrec;begin Result:=TStringlist.Create; if rightStr(trim(Path), 1) <> ‘\‘ then Path := trim(Path) + ‘\‘ else Path := trim(Path); if not DirectoryExists(Path) then begin Result.Clear; exit; end; if FindFirst(Path + ‘*‘, faAnyfile, sch) = 0 then begin repeat Application.ProcessMessages; if ((sch.Name = ‘.‘) or (sch.Name = ‘..‘)) then Continue; if DirectoryExists(Path+sch.Name) then begin Result.AddStrings(MakeFileList(Path+sch.Name,FileExt)); end else begin if (UpperCase(extractfileext(Path+sch.Name)) = UpperCase(FileExt)) or (FileExt=‘.*‘) then Result.Add(Path+sch.Name); end; until FindNext(sch) <> 0; FindClose(sch); end;end;
procedure TForm1.FormCreate(Sender: TObject);var I : integer;begin lst1.Items := MakeFileList(ExtractFilePath(Application.ExeName)+‘Report‘,‘.fr3‘); for I := 0 to lst1.Count -1 do begin lst1.Items[I] := StringReplace(StringReplace(lst1.Items[I],ExtractFilePath(Application.ExeName)+‘Report‘,‘‘,[rfReplaceAll, rfIgnoreCase]),‘\‘,‘‘,[rfReplaceAll, rfIgnoreCase]); end; if lst1.Items[0] = ‘‘ then lst1.Items.Delete(0); cbb1.Clear; for I := 0 to lst1.Count -1 do begin cbb1.Items.Add(lst1.Items[I]); cbb1.ItemIndex := 0; end; lst1.Clear;end;
DELPHI XE2 遍历子目录及文件《转》
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。