delphi 文件查找
function FindFirst(const Path: string; Attr: Integer; var F: TSearchRec): Integer;
其中有一句:FindFirst returns 0 if a file was successfully located
也就是说,当成功找到文件时,返回0.
TSearchRec 是一个文件信息的纪录,当FindFirst返回SearchRec时,你可以通过SearchRec.Name获取文件名,以及SearchRec.Size获取文件大小等信息。
TSearchRec类型
(1)TSearchRec是一个记录类型,在delphi帮助文档下可以看到其定义:
TSearchRec是一个文件信息的纪录(Record)类型
在Windows下原型:
type
TSearchRec = record
Time: Integer;
Size: Integer;
Attr: Integer;
Name: TFileName;
ExcludeAttr: Integer;
FindHandle: THandle;
FindData: TWin32FindData;
end;
(2).FindFirst函数在delphi帮助下的定义:
function FindFirst(const Path: string; Attr:
Integer; var F: TSearchRec): Integer;
其中有一句:FindFirst returns 0 if a file was successfully
located
也就是说,当成功找到文件时,返回0.
(3).sr.Attr是查找的文件属性(attribute
Files).faDiractory是目录文件
整句的意思
如果查找的文件类型是目录文件那么 ...
(4).当文件没有查找完毕(还能查找到下一个文件)..
*****************************************************
FindFirst是用来寻找目标目录下的第一个文件,FindNext则是寻找下一个 TSearchRec是一个文件信息的纪录,当FindFirst返回SearchRec时,你可以通过SearchRec.Name获取文件名,以及SearchRec.Size获取文件大小等信息。
TSearchRec类型定义如下:
type
TSearchRec = record
Time : Integer;
Size : Integer;
Attr : Integer;
Name : TFileName;
ExcludeAttr : Integer;
FindHandle : THandle;
FindData : TWin32FindData;
end;
当利用FindFirst和FindNext函数找到一个文件后,利用这个类型可以获得文件的属性、大小和修改时间等信息。
var SearchRec:TSearchRec; //搜索对象
ext,AppPath:string;
begin listbox1.Clear; //清空列表框
AppPath:=edit1.text; //设置要搜索的目标目录
ext:='*.*'; //设置要搜索的文件后缀名
FindFirst(AppPath+ext,faAnyFile,SearchRec); //-faDirectory listbox1.Items.Add(SearchRec.Name); //添加文件名称
while FindNext(SearchRec)=0 do
listbox1.Items.Add(SearchRec.Name); //添加文件名
end;
//更多注释: //TSearchRec 结构是内涵文件大小、名称、属性与时间等信息 //TSearchRec 中的属性是一个整数值, 可能的值有: //faReadOnly 1 只读文件 //faHidden 2 隐藏文件 //faSysFile 4 系统文件 //faVolumeID 8 卷标文件 //faDirectory 16 目录文件 //faArchive 32 归档文件 //faSymLink 64 链接文件 //faAnyFile 63 任意文件 //s 的值也可以使用?通配符,好像只支持7个?, 如果没有条件就是*, 譬如: C:\* //实际使用中还应该在 repeat 中提些条件, 譬如判断如果是文件夹就递归搜索等等
delphi 文件查找的更多相关文章
- 【转】Delphi 文件读写
procedure TForm1.Button1Click(Sender: TObject); variFileHandle: Integer;iFileLength: Integer;iBytesR ...
- delphi 文件的操作:重命名、复制、移动、删除
Delphi 文件的操作:重命名.复制.移动.删除第一种方法: RenameFile('Oldname', 'Newname'); CopyFile(PChar('Oldname'), PChar(' ...
- Linux文件查找.md
Linux 文件查找 在Linux系统的查找相关的命令: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查询文件名称 w ...
- myeclipse学习总结三(MyEclipse文件查找技巧)
一.查找文件 使用快捷键[ctrl+shift+R]弹出弹出文件查找框,如下图所示: 二.查找包含某个字符串的文件 使用快捷键[ctrl+H]在弹出对话框中选File Search选项,然后在第一个文 ...
- 自己动手写文件查找,字符串查找,查询jar包等工具
文件查找——搜索当前目录下的文件 知道大概的文件名称,使用 findf FileName findf.py import argparse, re, os from os.path import jo ...
- Linux 执行文件查找命令 which 详解
某个文件不知道放在哪里了,通常可以使用下面的一些命令来查找: which 查看可执行文件的位置 whereis 查看文件的位置 locate 配合数据库查看文件位置 find 实际搜寻硬盘查 ...
- Node.js入门:文件查找机制
文件查找流程图 从文件模块缓存中加载 尽管原生模块与文件模块的优先级不同,但是都不会优先于从文件模块的缓存中加载已经存在的模块. 从原生模块加载 原生模块的优先级仅次于文件模块缓存的优 ...
- <实训|第十一天>学习一下linux中的进程,文件查找,文件压缩与IO重定向
[root@localhost~]#序言 在今后的工作中,运维工程师每天的例行事务就是使用free -m,top,uptime,df -h...每天都要检查一下服务器,看看是否出现异常.那么今天我们就 ...
- linux笔记八---------文件查找
1.find文件查找指令 > find 目录 参数 参数值,参数 参数值..... > find / -name passwd //从系统根目录开始递归查找name=p ...
随机推荐
- TensorFlow 从零到helloWorld
目录 1.git安装与使用 1.1 git安装 1.2 修改git bash默认路径 1.3 git常用操作 2.环境搭建 2.1 tensorflow安装 2.2 CUDA安装 2.3 ...
- python3之模块random随机数
1.random.random() 随机生成一个大于0小于1的随机数. print(random.random()) 0.03064765450719098 2.random.uniform(a,b) ...
- 关于USBHID协议以及鼠标键盘描述符的解释【转】
转自:https://blog.csdn.net/jiujiujiuqiuqiuqiu/article/details/47277685 一.HID设备识别 前面有提到关于SCSI协议的USB设备实现 ...
- Linux获取/dev/input目录下的event对应的设备【转】
转自:https://blog.csdn.net/qq_21792169/article/details/51458855 当我们在Linux操作系统下使用input子系统时,当我们先插鼠标,在插上摄 ...
- linux修改文件打开最大数(ulimit命令)
解除 Linux 系统的最大进程数和最大文件打开数限制:vi /etc/security/limits.conf# 添加如下的行* soft noproc 65536 * hard noproc 65 ...
- 用一句SQL查询相对复杂的统计报表
--统计从2017年3月份开始每个月金融服务支付前分期申请数以及通过(核账完成)数 ,ApplyTime)) ,ApplyTime)) as varchar)+'月' as 日期,count(*) a ...
- 浅介HTML DOM
什么是DOM? DOM是Document Object Model(文档对象模型)的缩写. DOM是W3C(万维网联盟)的标准. DOM定义了访问HTML和XML文档的标准: “W3C文档对象模型(D ...
- 【mysql】source导入多个文件
在mysql中,可以将表导出为sql文件,比如1.sql, 2.sql等等. 导入一个文件: source /home/somepath/.sql 那么问题来了,如果我想一次导入100个文件呢?总不能 ...
- github git 无法读取远程仓库或无权限
解决方法:重新设置ssh密钥 ssh-keygen -t rsa -C "http://github.com"//输入命令后按提示输入id_rsa.pub的存储地址 和密钥密码 地 ...
- LOJ 10127 -「一本通 4.3 练习 1」最大数
题面 题目描述 给定一个正整数数列 $a_1, a_2, a_3, \dots , a_n$,每一个数都在 0~p-1之间.可以对这列数进行两种操作: 添加操作:向序列后添加一个数,序列长度变成 n+ ...