网络编程 | 站长之家 | 网页制作 | 图形图象 | 操作系统 | 冲浪宝典 | 软件教学 | 网络办公 | 邮件系统 | 网络安全 | 认证考试 | 系统进程
Firefox | IE | Maxthon | 迅雷 | 电驴 | BitComet | FlashGet | QQ | QQ空间 | Vista | 输入法 | Ghost | Word | Excel | wps | Powerpoint
asp | .net | php | jsp | Sql | c# | Ajax | xml | Dreamweaver | FrontPages | Javascript | css | photoshop | fireworks | Flash | Cad | Discuz!
当前位置 > 网站建设学院 > 网络编程 > Visual Basic
Tag:注入,存储过程,分页,安全,优化,xmlhttp,fso,jmail,application,session,防盗链,stream,无组件,组件,md5,乱码,缓存,加密,验证码,算法,cookies,ubb,正则表达式,水印,索引,日志,压缩,base64,url重写,上传,控件,Web.config,JDBC,函数,内存,PDF,迁移,结构,破解,编译,配置,进程,分词,IIS,Apache,Tomcat,phpmyadmin,Gzip,触发器,socket
网络编程:ASP教程,ASP.NET教程,PHP教程,JSP教程,C#教程,数据库,XML教程,Ajax,Java,Perl,Shell,VB教程,Delphi,C/C++教程,软件工程,J2EE/J2ME,移动开发
本月文章推荐
.使用Shell指令具有Wait的功能.
.VisualBasic代码优化的六条军规.
.ODBCAPI的VBSample.
.VB如何将DBgrid印出来.
.利用VB访问Internet.
.在VB中利用UDP协议编写聊天程序.
.用VisualBasic自编小游戏.
.VB中拖动没有标题栏的窗体.
.怎样用VB写多线程.
.开发ADOCE搭配WinCE资料存取应用.
.VB中实现同一窗口的多个实例及控.
.用VB实现程序的隐形.
.Data控件使用有admin888的Access.
.在VB中获取和修改计算机名字.
.VB“变态”用法之高效字串指针类.
.VB6.0中的几个新增数据库工具.
.VB5.0中实现字体闪烁效果.
.在桌面上建立一个Internet快捷键.
.压缩被DBGIRD控件正在使用的MDB数.
.如何在数据控件断开所有的数据连.

VisualBasicCOM基础之更多属性

发表日期:2006-2-27


有时候,为了更好地处理类往往需更多的属性。例如,假如你有四种不同的客户群:集团、较大、较小和新的客户类型,或者一个用于搜索的类中有三种不同的搜索方式:软盘、硬盘和网络。那么,能不能最好从选项列表中选择一个,而不是用不能理解的数字或文本来设置相关属性?

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



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

  在CDog类中添加下列代码:

->  PublicEnumCoatType

   BigAndShaggy=1

   ShortCrewCut=2

   PoodleStyleAfro=3

   Unknown=4

  endEnum->

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

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

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

  在类中声明下列变量:

  PrivateudtCoatAsCoatType

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

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

  Name编辑框中键入Coat;

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

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

->  PublicPropertyGetCoat()AsVariant

  EndProperty

  PublicPropertyLetCoat(ByValvNewValueAsVariant)

  EndProperty->

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

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

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

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

->Coat=udtCoat->

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

->udtCoat=vNewValue->

  切换到Form1;

  将Command按钮的代码改为:

->DimMyDogAsCDog
SetMyDog=NewCDog
MyDog.Name="Billy"->

  现在开始键入:MyDog.Coat=

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

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

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

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

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

->  IfMyDog.Coat=BigAndShaggyThen

   MsgBox"Youhaveabig,bouncy,bushypup!"

  ElseIfMyDog.Coat=PoodleStyleAfroThen

   MsgBox"Yourpoochispretty,petitandpooch-like!"

  ElseIfMyDog.Coat=ShortCrewCutThen

   MsgBox"Yourdogisfullofoomph,oomphandmoreoomph!"

  ElseIfMyDog.Coat=UnknownThen

   MsgBox"Ihavenoideaaboutyourdog.Idon'tthink"&_

       "youdoeither!"

  EndIf->

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

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

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

->SetMyDog=Nothing->

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

  结果怎样?->

上一篇:VBCOM编程基础之子过程函数和参数 人气:2926
下一篇:VisualBasicCOM基础讲座之属性 人气:2805
浏览全部Visual Basic的内容 Dreamweaver插件下载 网页广告代码 祝你圣诞节快乐 2009年新年快乐