【跟随万一老师的足迹】查找目录下文件,在万一老师的基础上升级下,支持多文件查找 - 文件操作(一)
2015-02-07 09:36
429 查看
看了万一老师的“遍历某个文件的文件及子文件“,经过层层优化,结合实际需要,在万一老师代码的基础上,增加了多文件查找的功能
//sysGetFileList(List,'c:\','*.doc,*.exe'); List通过查找添加多文件 //sysGetFileList(List,'c:\','*.doc'); List通过查找添加单文件 procedure sysGetFileList(List: TStrings; SourFile,FileName: string); var S_Path: String; TmpList,S_FileList: TStringList; FileRec,SubFileRec: TSearchRec; I: Integer; begin S_Path := IncludeTrailingPathDelimiter(Trim(SourFile)); //单元SysUtils中判断末尾是否包含文件夹路径符号'\',没有的则补全 if not DirectoryExists(S_Path) then begin List.Clear; Exit; end; S_FileList := TStringList.Create; try S_FileList.CommaText := FileName; TmpList := TStringList.Create; for I := 0 to S_FileList.Count - 1 do begin if FindFirst(S_Path + S_FileList[I],faAnyFile,FileRec) = 0 then repeat if ((FileRec.Attr and faDirectory) <> 0) then begin if ((FileRec.Name <> '.') and (FileRec.Name <> '..')) then sysGetFileList(TmpList,IncludeTrailingPathDelimiter(S_Path + FileRec.Name),FileName); end else begin if ((FileRec.Attr and faDirectory) = 0) then TmpList.Add(S_Path + FileRec.Name); end; until FindNext(FileRec) <> 0; end; FindClose(FileRec.FindHandle); if TmpList.CommaText <> '' then //空文件夹不添加路径 begin if List.CommaText <> '' then List.CommaText := List.CommaText + List.Delimiter + TmpList.CommaText else List.CommaText := TmpList.CommaText; end; finally FreeAndNil(TmpList); FreeAndNil(S_FileList); end; end;
相关文章推荐
- 【跟随万一老师的足迹】查找目录下文件,在万一老师的基础上升级下,支持多文件查找 - 文件操作(一)
- 【跟随万一老师的足迹】查找目录下文件,在万一老师的基础上升级下,支持多文件查找 - 文件操作(一)
- 六十七、基础框架(二十五)文件操作-列举 目录内容
- Linux系统学习第二章:文件与目录操作(四):文件查找
- 【跟随万一老师的足迹】引用即可解决互斥问题的单元
- linux基础教程-----目录文件操作(2)
- 用命令行操作遍历目录,查找文件的PHP代码
- [objective-c]—六十六、基础框架(二十四)文件操作-目录操作
- (大数据工程师学习路径)第一步 Linux 基础入门----目录结构及文件基本操作
- 详谈PHP文件目录基础操作
- 基础框架-文件操作-目录操作
- PHP之文件目录基础操作
- java 实现 文件操作工具集。包括文件、目录树的拷贝、删除、移动、查找等工具函数
- java操作excel文件基础架构实现,支持2007以上版本
- C# 自动查找文件内容(正则使用、获取目录下所有文件、多线程、日志记录,文件操作)
- Windows程序设计零基础自学_14_Windows文件和目录操作
- Android--查找程序根目录下所有文件/Java IO操作
- [objective-c]—六十六、基础框架(二十四)文件操作-目录操作
- LInux文件基础知识和文件目录操作(二)文件I/O操作
- linux基础教程-----目录文件操作(1)