遍历查找文件夹,有些文件夹的属性-常规-高级中的可以存档文件夹是选上的,结果用findfirst、findnext无法识别此类文件夹,导致无法找不到文件夹。有没办法用程序去掉这属性的。
解决方案 »
- 压缩存储问题!高分求教。在线等。。。。。。。。。。。。。
- 谁能把以下c#代码改为delphi啊????
- 将一个数据库的所有数据表的内容,成批转移到另一个新数据库中(注;是在多层结构的模式下)
- 一个C/S结构的数据库软件,前台在程序运行时总连着数据库,还是动态的?
- IntraWeb总是把我弄很奇怪:简单问题,大家只要用过都进来坐坐吧!
- 求助!(在线等待)
- delphi算法题
- 请问大家有谁有SQL打印报表呢?
- 如何统计一个paradox表中的非空记录总数?绝不欠分!
- 在Delphi中如何调用outlook的通讯薄?
- 已知,RGB和Alpha,如何画图并保存为PNG图片?
- 关于delphi的delete问题
(可以修改一下,并用命令 attrib /d /s |more 对照查看)
在FindFirst中文件属性值(File attribute constants)对应是faArchive2、随便找段代码实测了一下(D7),当使用faAnyFile属性查找时,所有文件都是可以显示的
不知楼主的测试环境是什么
Ret:=FindFirst(AParentDir,faDirectory,Dir);
if Ret <> NO_ERROR then exit;
try
while ret=NO_ERROR do
begin
if (Dir.Attr=faDirectory) and (Dir.Name<>'.')
and (Dir.Name<>'..') then
begin
inc(i);
end;
Ret:=FindNext(Dir);
end;
finally
FindClose(Dir);
end;
except end;
这是我的一段代码,将faDirectory改成faAnyFile发现还是不行。该怎么更正才好。
try
Ret:=FindFirst(AParentDir,faAnyFile,Dir);
if Ret <> NO_ERROR then exit;
try
while ret=NO_ERROR do
begin
if ((Dir.Attr>15) and (Dir.Attr<49)) and (Dir.Name<>'.')
and (Dir.Name<>'..') then
begin
inc(i);
end;
Ret:=FindNext(Dir);
end;
finally
FindClose(Dir);
end;
except end;
可以将属性设为''可以存档的文件夹''的文件夹找出来,不过这不是找出全部不同属性的文件夹,我只是找出我需要的那部分。其它属性详见
http://hi.baidu.com/zyw8308/blog/item/c801a28654d6753566096ef1.html