从搜索记录中判断是否是子目录。 
function IsValidDir(SearchRec:TSearchRec):Boolean; 
begin 
if (SearchRec.Attr=16) and 
(SearchRec.Name<>'.') and 
(SearchRec.Name<>'..') then 
Result:=True 
else 
Result:=False; 
end;SearchRec.Attr=16 表示“文件夹”
".."代表返回上一个文件夹
"."代表什么?
(SearchRec.Attr=16) and (SearchRec.Name<>'.') and (SearchRec.Name<>'..') 三个判断一起又是什么意思?

解决方案 »

  1.   

    faDirectory 16 Directory files Directory.
      

  2.   

    你打开【命令提示符】,执行DIR命令就知道了,每一个不是根目录的目录中都存在两个特定的文件夹,其中“.”文件夹表示的是当前文件夹,“..”文件夹表示的是父文件夹。从实际效果来看“.”和“..”两个文件夹总是一起出现的,所以其实只要判断一个就可以知道是否当前文件夹是否是根文件夹了,当然两个一起判断也没有问题的!
      

  3.   

    . 代表当前文件夹。 (SearchRec.Attr=16) and (SearchRec.Name < > '. ') and (SearchRec.Name < > '.. ') 就是判断SearchRec是否是文件夹的条件。 包括:当前目录下的. 目录和.. 目录以及其他目录。 PS: (其实. 文件夹和 .. 文件夹都是特殊的文件用来指示当前目录的位置以及上一级文件夹的位置,这里的位置指的是在硬盘上的存储位置。)