51Testing软件测试论坛

 找回密码
 (注-册)加入51Testing

QQ登录

只需一步,快速开始

微信登录,快人一步

查看: 1705|回复: 2
打印 上一主题 下一主题

[原创] 关于attributes属性

[复制链接]

该用户从未签到

跳转到指定楼层
1#
发表于 2008-10-30 11:44:44 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
在看教程,对教程里的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这个数字?我运行了一下代码,没有反应,没有返回任何结果,不知道怎么回事,麻烦高人给指点一下哦。
谢谢了~~
分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

该用户从未签到

2#
发表于 2008-10-30 14:38:37 | 只看该作者
attributes属性返回的是文件的属性,例如:只读,隐藏等等,该属性实际是一个二进制的值,所以 If f.attributes and 32 Then这里的and是逻辑与的操作符,也就是说如果该文件的属性是archive时,这个判断才为真
回复 支持 反对

使用道具 举报

该用户从未签到

3#
 楼主| 发表于 2008-10-30 15:06:28 | 只看该作者
谢谢哦,楼上的,了了。
回复 支持 反对

使用道具 举报

本版积分规则

关闭

站长推荐上一条 /1 下一条

小黑屋|手机版|Archiver|51Testing软件测试网 ( 沪ICP备05003035号 关于我们

GMT+8, 2024-5-9 09:25 , Processed in 0.084648 second(s), 25 queries .

Powered by Discuz! X3.2

© 2001-2024 Comsenz Inc.

快速回复 返回顶部 返回列表