查看: 410  |  回复: 0
  VB6 字典函数 Set dict = CreateObject...
楼主
发表于 2024年2月25日 21:56

新建From1(窗体),新建Command1(按钮CommandButton),代码:

Private Sub Command1_Click()
    Dim dict As Object
    Set dict = CreateObject("Scripting.Dictionary")

    For i = 1 To 10
        dict.Add "key" & i, "value" & i
    Next

    For Each Key In dict.Keys
        Debug.Print dict.Item(Key) & "=" & dict(Key)
    Next Key
End Sub

运行结果:

value1=value1
value2=value2
value3=value3
value4=value4
value5=value5
value6=value6
value7=value7
value8=value8
value9=value9
value10=value10

在 VB6 的 Scripting.Dictionary 中,每个键(key)对应的值(item)只能是一个对象或者一个数据,而不能直接存放多个值。所以在一个字典中,一个键只能对应一个值。

如果您需要将一个键关联多个值,可以考虑以下两种方法:

使用集合(Collection):您可以将一个集合对象或数组作为字典中的值来存储多个值。例如,您可以将一个存放多个值的集合对象作为字典中的值,这样每个键对应的值就是一个集合,其中包含多个值。

使用字符串拼接:您可以将多个值拼接成一个字符串,并使用特定的分隔符将这些值区分开来,然后将这个字符串作为字典中的值。在需要时,您可以根据分隔符将这个字符串拆分回多个值。

在 VB 中调用 `CreateObject("Scripting.Dictionary")` 创建字典对象时,实际上是在调用 Windows 系统中的 COM 组件 `Scripting.Dictionary`。这个组件是由 Microsoft 开发并包含在 Windows 系统中的一些 DLL 文件中。

具体来说,`Scripting.Dictionary` COM 组件通常包含在 `scrrun.dll`(Scripting Runtime Library)这个动态链接库中。这个 DLL 包含了用于提供对脚本程序和编程框架的支持的组件,如文件系统对象、字典对象等。

这些 COM 组件通常是使用 C++ 等编程语言开发的,用于提供在不同编程语言之间进行交互和通信的功能。在这种情况下,`Scripting.Dictionary` 组件也是由 Microsoft 使用 C++ 等语言开发的。

您需要登录后才可以回帖 登录 | 立即注册
【本版规则】请勿发表违反国家法律的内容,否则会被冻结账号和删贴。
用户名: 立即注册
密码:
2020-2024 MaNongKu.com