本文整理自网络,侵删。
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屏蔽win、ctrl_esc、alt_tab、alt_f4等键(windows xp、windows 2003 server下测试通过)
Delphi winapi: settimer、killtimer - 创建与移除高性能定时器
更多相关阅读请进入《Delphi》频道 >>