Board logo

标题: [技术讨论] vbs中的"Scripting.Dictionary"[属性与方法] [打印本页]

作者: czjt1234    时间: 2012-9-24 15:48     标题: vbs中的"Scripting.Dictionary"[属性与方法]

本帖最后由 czjt1234 于 2012-9-28 15:22 编辑

Scripting.Dictionary 对象与 PERL 关联数组是等价的
项目(可以是任何形式的数据)被保存在数组中。每项都与唯一的键相关联
键值用于检索单个项目,通常是整数或字符串,但不能为数组



属性
CompareMode        键名的比较方式。默认值0,执行二进制比较
Count              键的数量
Item               用于修改项目内容
Key                用于修改键名


方法

Add                添加键和项目
Exists             查询指定键是否存在,返回Ture|False
Items              所有项目的集合,数组类型
Keys               所有键的集合,数组类型
Remove             删除指定的键和对应的项目
RemoveAll          删除所有键和项目



Scripting.Dictionary 对象及其属性、方法,都可以在 Script5.6.chm 里找到参考

该对象实际使用中较少用到,一般选择用数组

作者: czjt1234    时间: 2012-9-24 15:55

本帖最后由 czjt1234 于 2012-9-29 07:08 编辑

下面是属性和方法的参数,及用法举例

代码测试环境:winxpsp3 IE8 Wscript版本5.7.0.18066



  1. Dim objScriptingDictionary, blnYN, arrstrKeys, arrstrItems, intNumber
  2. Set objScriptingDictionary = CreateObject("Scripting.Dictionary")
  3. intNumber = objScriptingDictionary.CompareMode    '返回当前比较模式。默认值 0
  4. objScriptingDictionary.CompareMode = 0|1          '设置比较模式
  5. '比较模式的参数,可直接使用vbs比较常数
  6. vbBinaryCompare = 0     '执行二进制比较,对键名区分大小写,即键 b 和 B 是不同的键
  7. vbTextCompare   = 1     '执行文本比较,对键名不区分大小写,即键 b 和 B 是相同的键
  8. objScriptingDictionary.Add "Key", "Item"         '添加一些键和项目
  9. objScriptingDictionary.Add "姓名", "张三丰"
  10. objScriptingDictionary.Add "年龄", "100"
  11. objScriptingDictionary.Add "保留", "保留"
  12. blnYN = objScriptingDictionary.Exists("门派")    '查询指定键是否存在
  13. intNumber = objScriptingDictionary.Count         '键的数量
  14. objScriptingDictionary.Remove("Key")             '删除指定的键和对应的项目
  15. objScriptingDictionary.Key("保留") = "门派"       '修改指定的键名
  16. objScriptingDictionary.Item("门派") = "武当"      '修改指定键的项目
  17. MsgBox objScriptingDictionary.Item("姓名")        '显示指定键的项目
  18. arrstrKeys = objScriptingDictionary.Keys         '所有键的集合,数组类型
  19. For intNumber = 0 To objScriptingDictionary.Count - 1
  20.   MsgBox arrstrKeys(intNumber)                   '枚举所有键名
  21. Next
  22. arrstrItems = objScriptingDictionary.Items       '所有项目的集合,数组类型
  23. For intNumber = 0 To objScriptingDictionary.Count - 1
  24.   MsgBox arrstrItems(intNumber)                  '枚举所有项目
  25. Next
  26. objScriptingDictionary.RemoveAll                 '删除所有键和项目
复制代码

作者: czjt1234    时间: 2012-9-24 16:24

请大家指出遗漏和错误

还有我在.txt里是排列对齐的,到这儿怎么对齐啊
作者: Seder    时间: 2012-9-25 13:20

http://msdn.microsoft.com/en-us/library/x4k5wbx4(v=vs.84).aspx




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2