delphi 遍历文件

时间:2022-02-10 03:16:16

///<summary>遍历文件</summary> ///<param>AList: 遍历所得文件列表,全路径</param> ///<param>APath: 遍历目录</param> ///<param>AExt: 遍历文件扩展名</param> procedure gFileList(AList: TStringList; const APath, AExt: String); var str: String; sch:TSearchrec; begin if AList = nil then Exit; AList.Clear; str := Trim(APath); if RightStr(str, 1) <> ‘\‘ then str := str + ‘\‘; if not DirectoryExists(str) then Exit; if SysUtils.FindFirst(str + ‘*‘, faAnyfile, sch) = 0 then begin repeat Application.ProcessMessages; if ((sch.Name = ‘.‘) or (sch.Name = ‘..‘)) then Continue; if DirectoryExists(str + sch.Name) then gFileList(AList, str + sch.Name, AExt) else begin if (UpperCase(ExtractFileExt(str + sch.Name)) = UpperCase(AExt)) or (AExt=‘.*‘) then AList.Add(str + sch.Name); end; until FindNext(sch) <> 0; SysUtils.FindClose(sch); end; end;