|
发表于 2009-10-12 02:01:33
|
显示全部楼层
<p>这是位操作,AND的话就是与,叫"按位与".</p>
<p> </p>
<p>比如,vbDirectory的值是16(10进制),则其二进制为10000,也就是说第五位为1;</p>
<p> </p>
<p>而如果某个LONG值里的第五位为1,就说明这个LONG值包含vbDirectory属性.</p>
<p> </p>
<p>所以使用AND来进行测试.</p>
<p> </p>
<p>比如,405的二进制是<font face="Verdana">110010101</font>,如果和10000进行与操作,则会得到结果"10000".</p>
<p> </p>
<p>而389是<font face="Verdana">110000101</font>,第五位为0,结果就会是0.</p>
<p> </p>
<p>因此上面等式完整的表达式应该是:</p>
<p> </p>
<p><font style="BACKGROUND-COLOR: #ffffff" face="Verdana">If (GetAttr(CurrentPath & sFileName) And vbDirectory) = vbDirectory Then</font></p>
<p> </p>
<p>就是为了判断返回的属性里是否包含了vbDirectory.</p> |
|