手机站
网通分站
电信主站
密 码:
用户名:
当前位置 : 主页>网络编程>Asp.Net编程>列表

Visual Basic COM基础之更多属性

来源:互联网 作者:西部数码 时间:2008-04-09
西部数码-全国虚拟主机10强!40余项虚拟主机管理功能,全国领先!双线多线虚拟主机南北访问畅通无阻!免费赠送企业邮局,.CN域名,自助建站480元起,免费试用7天,满意再付款! P4主机租用799元/月.月付免压金!
  有时候,为了更好地处理类往往需更多的属性。例如,假如你有四种不同的客户群:集团、较大、较小和新的客户类型,或者一个用于搜索的类中有三种不同的搜索方式:软盘、硬盘和网络。那么,能不能最好从选项列表中选择一个,而不是用不能理解的数字或文本来设置相关属性?

  我想,答案是肯定的。因为这种处理就称为"枚举"。



  打开上一节的工程,让我们添加一些代码。

  在CDog类中添加下列代码:

  Public Enum CoatType

   BigAndShaggy = 1

   ShortCrewCut = 2

   PoodleStyleAfro = 3

   Unknown = 4

  end Enum
  关键词"Enum"就是用来定义枚举的,换句话说,它是可能选项的列表。各选项都有相应的数字,也就是说BigAndShaggy表示1,ShortCrewCut等于2,等等。

  需要注意的是,当将枚举项相关信息添加在数据库中时,其相应的数值是非常有用的。由于"BigAndShaggy"实际代表的是数值1,所以可以直接将其插入到数据库的数值字段中。这就意味着,可以方便使用字符串来维护数据库。

  所以,我们来创建一个Dog的Coat类型列表,并另外定义一个属性,将这些类型添加在CDog类中。

  在类中声明下列变量:

  Private udtCoat As CoatType

  这个定义的私有变量用来保存即将添加的Coat类型属性,注意到udtCoat变量既不是字符串也不是整型,而是我们自己定义的枚举类型CoatType。

  当类CDog打开时,选择"Tools"菜单中的"Add Procedure"命令,弹出相应的对话框;

  Name编辑框中键入Coat;

  选中"Property"选项按钮,然后单击[OK]。

  系统自动产生下列代码框架:

  Public Property Get Coat() As Variant

  End Property

  Public Property Let Coat(ByVal vNewValue As Variant)

  End Property
  但我们需要的却不是这个框架。代码中,"Variant"变量类型是能接收和处理任何类型数据。在我们定义的CDog类中,最后的属性是Age,它只能接受整型。但现在需要属性能接收CoatType列表中的数据类型,因此需要作下列修改:

  将产生的代码中所有的"Variant"改成"CoatType";

  然后,添加一些实际处理属性的代码。

  在属性的Get过程中,添加下列代码:

Coat = udtCoat
  在属性的Let过程中,添加下列代码:

udtCoat = vNewValue  
  切换到Form1;

  将Command按钮的代码改为:

Dim MyDog As CDog
Set MyDog = New CDog
MyDog.Name = "Billy"
  现在开始键入:MyDog.Coat =

  奇迹出现了,当你敲下"="键时,出现一个含有可能选项的列表,从中我们可以选择一个。

  完成代码的键入:MyDog.Coat = ShortCrewCut

  下一步,我们将获取Coat属性的值。假如现在就来简单地在消息对话框中显示属性值,则只需返回选择项的值就可以了。例如,若选择了ShortCrewCut,其属性一定返回2。不信,可以试一试!

  但这里采用另外一种方法,它是用If-Then语句判断Coat:

  在Command按钮已有的代码后面添加下列代码:

  If MyDog.Coat = BigAndShaggy Then

   MsgBox "You have a big, bouncy, bushy pup!"

  ElseIf MyDog.Coat = PoodleStyleAfro Then

   MsgBox "Your pooch is pretty, petit and pooch-like!"

  ElseIf MyDog.Coat = ShortCrewCut Then

   MsgBox "Your dog is full of oomph, oomph and more oomph!"

  ElseIf MyDog.Coat = Unknown Then

   MsgBox "I have no idea about your dog. I don't think " & _

        "you do either!"

  End If
  这里的代码只是简单判断Coat属性值,并显示相应的消息对话框。当然,这里也可以使用"Select Case"语句。

  最后,我们添加最后一条语句来释放计算机内存:

  在Command按钮已有的代码后面添加下列代码:

Set MyDog = Nothing  
  按F5运行程序,并单击Command按钮测试一下。

  结果怎样?


文章整理:西部数码--专业提供域名注册虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

[打印] [关闭]
Google
相关文章
上一篇:Visual Basic COM基础讲座之属性
下一篇:在VB应用程序中调用Excel2000
热点关注
IDC资讯 虚拟主机 域名注册 托管租用 vps主机 智能建站
网站运营 建站经验 策划盈利 搜索优化 网站推广 免费资源
网站联盟 联盟新闻 联盟介绍 联盟点评 网赚技巧
行业资讯 业界动态 搜索引擎 网络游戏 门户动态 电子商务 广告传媒
网络编程 Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术 Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷 Internet Explorer
网页制作 FrontPages Dreamweaver Javascript css photoshop fireworks Flash
程序设计 Java技术 C/C++ VB delphi
网络知识 网络协议 网络安全 网络管理 组网方案 Cisco技术
操作系统 Win2000 WinXP Win2003 Mac OS Linux FreeBSD
返回首页 |关于我们 | 联系我们 | 付款方式 | 创业联盟 | 价格总览 | 资讯中心 | 友情链接 | 网站地图 | 招贤纳士 | RSS