VB:Collection (集合)对象示例

'VB:Collection (集合)对象示例
'━━━━━━━━━━━━━━━━━━━━━━━━━━

'本示例建立一个命名为 MyClasses 的 Collection 对象,再建立一个对话框,让用户可从对话框中将对象建立到该集合对象中。
'若要观察程序如何工作,请先在“插入”菜单上选择“类模块”命令,然后在 Class1 的模块级中声明一个公用变量,
'命名为 InstanceName(类型为 Public InstanceName),此变量用来保存每个类实例的名称。不要更改类的缺省名称 Class1。
'将下列代码复制到另一个模块的“通用”节中,然后在另一个过程中用 ClassNamer 语句使它启动激活。
'(本示例仅使用支持类的主机应用程序。)

Sub  ClassNamer()
     Dim  MyClasses As New Collection       ' 建立一个集合对象(Collection)。
     Dim  Num                               ' 计数用变量,用来对对象的个数计数。
     Dim  Msg As  String                      ' 提示信息用变量。
     Dim  TheName, MyObject, NameList       ' 对象信息用变体。
     Do
         Dim  Inst As New Class1            ' 建立 Class1 的新实例。
        Num = Num + 1                     ' 把计数变量 Num 加一,然后要求输入新对象个体的名称。
        Msg =  "Please enter a name for this object. "  &  Chr (13) &  "Press Cancel to see names in collection. "
        TheName =  InputBox (Msg,  "Name the Collection Items " )
        Inst.InstanceName = TheName       ' 将名称送入对象实例。
   
         If  Inst.InstanceName <>  " "   Then   ' 若用户输入了名称,将它加入集合。
            MyClasses.Add Item:=Inst, Key:= CStr (Num)   ' 将命名的对象加入集合。
         End   If
        
         Set  Inst =  Nothing                 ' 清除当前的引用,为对下一个对象做准备。
     Loop   Until  TheName =  " "

     For   Each  MyObject  In  MyClasses        ' 建立名称列表。
        NameList = NameList & MyObject.InstanceName &  Chr (13)
     Next  MyObject
  
     MsgBox  NameList, ,  "Instance Names In MyClasses Collection "    ' 将名称列表在消息框中显示出来。

     For  Num = 1  To  MyClasses.Count        ' 从集合中删除名字。
        MyClasses.Remove 1                ' 每删除一个对象后,集合会自动重排顺序,故每次迭代时只需删除第一个对象即可。
     Next
End   Sub

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值