51Testing软件测试论坛

标题: 关于attributes属性 [打印本页]

作者: sally_520xue    时间: 2008-10-30 11:44
标题: 关于attributes属性
在看教程,对教程里的attributes属性里写的代码不是很明白。请教高人指点一下。
   Sub SetClearArchiveBit(filespec)
  Dim fs, f, r
  Set fs = CreateObject("Scripting.FileSystemObject")
  Set f = fs.GetFile(fs.GetFileName(filespec))
  If f.attributes and 32 Then
      r = MsgBox("已设置 Archive 位,是否确定清除?", vbYesNo, "设置/清除 Archive 位")
      If r = vbYes Then
          f.attributes = f.attributes - 32
          MsgBox "已清除 Archive 位。"
      Else
          MsgBox "保留 Archive 位设置。"
      End If
  Else
      r = MsgBox("未设置 Archive 位。是否确定设置?", vbYesNo, "设置/清除 Archive 位")
      If r = vbYes Then
          f.attributes = f.attributes + 32
          MsgBox "已设置 Archive 位。"
      Else
          MsgBox "未设置 Archive 位。"
      End If
  End If
End Sub


    这段代码里的If f.attributes and 32 Then,这句话是什么意思啊?attributes是设置或返回文件或文件夹的属性。可读写或只读(与属性有关)。那这里面的32是说文件的末尾加上32这个数字?我运行了一下代码,没有反应,没有返回任何结果,不知道怎么回事,麻烦高人给指点一下哦。
谢谢了~~
作者: sangjf    时间: 2008-10-30 14:38
attributes属性返回的是文件的属性,例如:只读,隐藏等等,该属性实际是一个二进制的值,所以 If f.attributes and 32 Then这里的and是逻辑与的操作符,也就是说如果该文件的属性是archive时,这个判断才为真
作者: sally_520xue    时间: 2008-10-30 15:06
谢谢哦,楼上的,了了。




欢迎光临 51Testing软件测试论坛 (http://bbs.51testing.com/) Powered by Discuz! X3.2