本文整理自网络,侵删。
procedure FileSearch(const PathName: string; const Extensions: string; var lstFiles: TStringList);const FileMask = '*.*';var Rec: TSearchRec; Path: string;begin Path := IncludeTrailingBackslash(PathName); if FindFirst(Path + FileMask, faAnyFile - faDirectory, Rec) = 0 then try repeat if AnsiPos(ExtractFileExt(Rec.Name), Extensions) > 0 then lstFiles.Add(Path + Rec.Name); until FindNext(Rec) <> 0; finally SysUtils.FindClose(Rec); end;
if FindFirst(Path + '*.*', faDirectory, Rec) = 0 then try repeat if ((Rec.Attr and faDirectory) <> 0) and (Rec.Name <> '.') and (Rec.Name <> '..') then FileSearch(Path + Rec.Name, Extensions, lstFiles); until FindNext(Rec) <> 0; finally FindClose(Rec); end;end;
用法:FileSearch('C:\Temp', '.txt;.tmp;.exe;.doc', FileList);
相关阅读 >>
Delphi中操作olevariant、variant和stream
Delphi 测试字符串读取类: tstringreader
更多相关阅读请进入《Delphi》频道 >>