知识大全 如何用Delphi实现子目录级的文件查询
Posted 文件
篇首语:蹉跎莫遣韶光老,人生唯有读书好。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 如何用Delphi实现子目录级的文件查询相关的知识,希望对你有一定的参考价值。
如何用Delphi实现子目录级的文件查询 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
在应用实践中 我们经常会用到文件查询功能 通过Win 中提供的查找功能 我们可以方便的找出磁盘上任何子目录下的文件 其原因是该查找功能可以遍历指定目录下的所有子目录中的文件 从编程角度讲 它实现了子目录级的文件查询 其实 这项功能并不难实现 关键是能理解并掌握懙莨阍这种程序设计思路 本人用Delphi实现了该项功能(任意子目录级) 由于使用了懙莨阍 程序思路清晰 代码量小实现方法
. 获取当前目录下的所有下一级子目录
. 存入字符串列表中(Tstrings)
其中 用到了几个API函数
FindFirst 是找出指定目录下第一个文件或目录
FindNext 一般和FindFirst配合使用 用来找出下一个文件或目录
FindClose 用来关闭查询
(以上函数Delphi在线帮助中有详尽解释 在此不赘述)
. 用FileExists函数查找当前目录
. 寻找是否有满足条件的文件存在
. 依次使各个子目录成为当前目录
. 递归调用本函数
. 释放资源
. 返回查询结果
代码如下
从搜索记录中判断是否是子目录
function IsValidDir(SearchRec:TSearchRec):Boolean; begin if (SearchRec Attr= ) and (SearchRec Name<> ) and (SearchRec Name<> ) then Result:=True else Result:=False; end;
. 这是查询主体函数
参数介绍
Mainpath 指定的查询目录 Filename 欲查询的文件 Foundresult 返回的含完整路径的匹配文件(可能有多个) 如果有匹配文件 函数返回True 否则 返回False; function SearchFile(mainpath:string; filename:string; var foundresult:TStrings):Boolean; var i:integer; Found:Boolean; subdir :TStrings; searchRec:TsearchRec; begin found:=false; if Trim(filename)<> then begin subdir :=TStringList Create;//字符串列表必须动态生成 //找出所有下级子目录 if (FindFirst(mainpath+ * * faDirectory SearchRec)= ) then begin if IsValidDir(SearchRec) then subdir Add(SearchRec Name); while (FindNext(SearchRec) = ) do begin if IsValidDir(SearchRec) then subdir Add(SearchRec Name); end; end; FindClose(SearchRec); //查找当前目录 if FileExists(mainpath+filename) then begin found:=true; foundresult Add(mainpath+filename); end; //这是递归部分 查找各子目录 for i:= to subdir Count do found:=Searchfile(mainpath+subdir Strings[i]+ \\ Filename foundresult)or found; //资源释放并返回结果 subdir Free; end; result:=found; end;
cha138/Article/program/Delphi/201311/8417相关参考
用Delphi实现文件加密压缩技巧 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!引 言 在日常中
用Delphi设计循环播放声音文件程序 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! &
用Delphi实现Windows文件夹管理树 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 摘要
用Delphi实现文件下载的几种方法 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!笔者最近开发的系
改变所有子目录及文件的所有权 #chown-Rowner[group]* 也可以用find命令来实现 #find-execchownowner[group]; 改变所有子目录及文件的属性
DELPHI基础教程:文件管理(三)[4] 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 目录删
[摘要] 本文介绍了在Delphi中利用系统函数和WindowsAPI函数配合Delphi中的DataTimePicker组件来获取和修改文件的时间信息的方法以达到软件信息的简单加密 谈到文件加
Delphi中用Adsi创建IIS虚拟目录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 先引入类
今天对自己以前写的一些常用的组件整理了一下发现对文件目录的操作的一个类还用的比较多于是对他进行了修改一些方法是为在社区中看到有网友提问增加的包括复制目录的文件和子目录移动目录文件和子目录生成Xml
C#遍历所有文件和子目录 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! usingSystem;