本文整理自网络,侵删。
在目录文件查找中:
(SearchRec.Attr and faDirectory)=0
(SearchRec.Attr and faDirectory)=SearchRec.Attr
在意思上有什么不同么
SearchRec.Attr and faDirectory=faDirectory 呢?
他们是怎么组合的?谢谢
显然由于 1 and 1 =1,0 and 1 =0,因此第一句表示文件属性中没有fadirectory一项,而第二句反之。第三句,因为=运算级别较and为高,因此会出错。
SearchRec.Attr and faDirectory)=0 表示现在找到的这个文件项不是一个目录
(SearchRec.Attr and faDirectory)=SearchRec.Attr 表示现在找到的这个文件项是一个目录,而且是普通目录,即不是隐藏或系统或只读
SearchRec.Attr and faDirectory=faDirectory 表示现在找到的这个文件项是一个目录,但不一定是普通目录,可能是隐藏或系统或只读,要看其它属性而
(SearchRec.Attr and faDirectory)=0 为真时表示SearchRec.Attr中的faDirectory位为0,即不是目录文件
(SearchRec.Attr and faDirectory)=SearchRec.Attr 为真时表示SearchRec.Attr中除faDirectory位外的其他属性位肯定为0
如果想判断找到的是不是目录文件,用第二种方法是错误的。
当SearchRec.Attr=faDirectory时,该判断为真,而此时找到的是目录文件。
当SearchRec.Attr=0时,该判断为真,可现在找到的肯定不是目录文件。
SearchRec.Attr and faDirectory=faDirectory 为真时表示找到的文件为目录文件
相关阅读 >>
Delphi中的copy,delete,pos和leftstr,rightstr的用法
Delphi xe filesizebyname 要引用哪些文件
Delphi xe 与plc通讯(intcpserver 二进制)
更多相关阅读请进入《Delphi》频道 >>