首页 VB类模块教程

VB类模块教程

举报
开通vip

VB类模块教程VB类模块教程对程序员和编程爱好者来说,VB中类的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Activeocx)、链接库(Activedll)和类(Classmoudle)构成了系统化、高效化的软件工程,而类的技术是控件和链接库技术的基础,因此掌握类的理论和编程方法是非常有意义的。(一)类的基本定义和应用概述;类是包含了方法、属性、数据成员的高级代码模块,它既在模块的范畴之内,又是一个没有图形界面的Activeocx,程序员可以象使用控件一样使用它,但却不能看到它,值得注意的是,类...

VB类模块教程
VB类模块教程对程序员和编程爱好者来说,VB中类的技术是学习中的一个难点,在大型软件的开发过程中,模块(Moudle)、控件(Activeocx)、链接库(Activedll)和类(Classmoudle)构成了系统化、高效化的软件 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 ,而类的技术是控件和链接库技术的基础,因此掌握类的理论和编程方法是非常有意义的。(一)类的基本定义和应用概述;类是包含了方法、属性、数据成员的高级代码模块,它既在模块的范畴之内,又是一个没有图形界面的Activeocx,程序员可以象使用控件一样使用它,但却不能看到它,值得注意的是,类是不能继承的。类能够使我们高效的完成对某一个或者某几个特定的对象的复杂操作,对象的动作就是类的方法,对象的属性就是类的属性过程。相对而言,如果编程的对象是一组事物,那么,我们采用 标准 excel标准偏差excel标准偏差函数exl标准差函数国标检验抽样标准表免费下载红头文件格式标准下载 模块的方式是非常合适的,在下列两种情况下,应该使用类进行代码处理:1)创建大量性质相近的对象;2)提高代码的封装性。类的创建非常简单,在进行代码编写的时候,在“工程”菜单中选择“添加类模块”项目就可以添加一个空白的类。类文件一般以・cls作为扩展名保存。(二)类的方法的实现;类的方法类似于动态链接库的接口函数,它能够接受其他窗体代码的指定类型参数,并且传递到类中。一般来说类的方法是能够指定是否有返回值的。它在类中通常是一个public过程。请看下面的代码示例,它使一个密码框拒绝非字母的输入:(1)类cls的代码;OptionExplicit'变量检查PrivateWithEventsmytxtAsTextBox'本类中的方法接受和控制一个text密码框DimisNUMAsBoolean'类的模块级变量PublicSubAttach(itTEXTAsTextBox)'接受外部变量到mytxt中SetmytxtitTEXTEndSubPrivateSubmytxt_KeyUp(KeyCodeAsInteger,ShiftAsInteger)isNUM=(KeyCode>=65)And(KeyCode<=90)'测试密码框的键盘输入是否是英文字母IfisNUMFalseThenBeepmytxt.Text'如果输入不是英文字母则响铃并且清空密码框内容MsgBox"非法字符输入!"EndIfDebug.Printmytxt.Text'调试输出密码框内容EndSub'类的代码结束(2)类的引用;已经编写完成的类可以经过两种格式进行引用,第一种方式:Private(public或者dim)myCLS(指定的类名)AsNewcls(编写完成的类名);第二种方式较多用于程序编写风格较“老,,的程序员:首先在窗体代码中进行模块级声明—DimmyCLSAscls,然后在具体代码过程中进行具体定义—Setmycls=Newcls。这两种方式的效率和代码的简洁性方面可能会有所差别,但在笔者的编程实践中,并没有什么特别的感觉,不过我较多使用第一种方式,因为它书写起来更加方便。另外,在代码结束的时候,使用SetmyCLS=Nothing来取消类的资源占用是一种非常好的编程习惯。在窗体form1中(窗体有一个密码框控件text1,passworldchar="*")添加以下代码:OptionExplicitPrivatemyCLSAsNewcis'引用cisPrivateSubForm_Load()myCLS.AttachTextl'启动类EndSub'在代码结束时记得释放资源PrivateSubForm_Unioad(CanceiAsInteger)SetmyCLSNothingEndEndSub本文代码展示了类的方法的代码编写过程和调用方式(尽管它和类的事件非常相似),它的效果是,如果密码框中被输入了非字母,贝愫统振铃,并删除密码框中的原来的数据一一定程度上保护密码。类的方法可以不需要任何参数,这一点类似一个public的函数或者过程,它也是类中使用最广泛的。在下一篇文章中我将讨论,如何使用类的属性、事件和方法进行综合编程.在VisualBasic6.0类的技术与应用(上)(以下简称上文)中,我们讨论了类的理论、类的创建和类的方法的编程实践,实际上,类之所以能够在软件工程中广泛应用,最主要的一点是它可以非常方便的封装许多编程需要的属性,这不仅使程序员在一定程度上克服控件(ocx)和链接库(dll) 设计 领导形象设计圆作业设计ao工艺污水处理厂设计附属工程施工组织设计清扫机器人结构设计 和调试中的复杂性,而且能够提高程序代码的简洁和高效性—文将讨论完整的类的编程,包括方法、属性和基本事件。(一)类的属性的特征和定义;l=j|==|类似于标准控件的属性,类的属性允许用户在指定的数据范围内进行赋值,这些值被类内的各个代码部分所共享。属性的获得和传递需要经过PropertyLet和PropertyGet语句进行编程,当然,我们首先需要在类中进行全局或者模块级的相应变量定义。(二)事件的属性和基本定义;和窗体的事件类似,类也有两个基本的事件,Class_Initialize(类加载时触发)和Class_Terminate(类卸载时触发),这两个事件都是private的。实际上,我们完全可以忽略这两个事件一占要你记得完善类的方法和属性。类同样可以定义自己的事件,它和方法的程序编写格式类似,只不过需要WithEvents关键字进行参数声明,而且事件不能有任何命名参数或者可选参数,它也没有返回值。实际上,结构良好的方法和属性完全可以替代结构复杂的类的事件。(三)类的方法、事件和属性的编程实例;本程序的设计目的是,通过类控制窗体中文本框的内容的全部大写、小写和逆向排序转化。为了方便代码的书写和调用,我在类中引用了枚举的编程方法。以下代码在类Classi:OptionExplicitPrivateWithEventsmyTXTAsTextBox'方法的参数接口PublicEnumsTYLELcaseit'小写属性Lbigit'大写属性Nlogoit'逆向排序属性EndEnum'自定义枚举,用来实现属性的自动赋值PrivatemvarBiaozhiAssTYLE'实现枚举常量的连接PublicFunctiondONE()AsString'DONE方法用来根据指定的枚举属性,对'窗体文本框进行相应的字符转化操作'并且返回转化后的字符串IfmvarBiaozhiNlogoitThendONEStrReverse(myTXT)'逆向排序ElselfmvarBiaozhiLcaseitThendONELCase(myTXT)'强制小写转化ElsedONE=UCase(myTXT)'强制大写转化EndfEndFunctionvD'DONE方法结束PublicPropertyLetBiaozhi(ByValataAssTYLE)'获得属性的被赋的值mvarBiaozhi=vDataEndPropertyPublicPropertyGetBiaozhi()AssTYLE'传递属性值到类中SetBiaozhi=mvarBiaozhiEndPropertyPublicSubAttach(itTEXTAsTextBox)'连接类的方法SetmyTXT=itTEXTEndSubPrivateSubClass_Initialize()'本事件在类倍加载时激活MsgBox"你好!本程序向您展示使用类的方法、属性、事件进行编程的技术!"EndSubPrivateSubClass_Terminate()'本事件在类被卸载时激活MsgBox"你好!记得在Class_Terminate中填写对象撤销后的代码!"EndSub'类的代码全部结束(四)窗体代码的引用编程;在窗体FORM1中添加文本控件TEXT1、下拉列表控件COMBO1、命令按钮COMMAND1(CAPTION="开始转化"),调整三个控件到适当位置。DimmyTAsNewClass1啖的引用Form_Load()PrivateSub"字符串大写转化"字符串小写转化"字符串逆向排序=0Combol.ClearCombo1・AddItemCombo1.AddItemCombo1.AddItemCombo1.ListIndex'在列表框中添加属性选项EndSubPrivateSubCommand1_Click()'当命令按钮按下时激活类myT.AttachTextl'方法参数联接SelectCaseCombo1.ListIndexCase0myT.Biaozhi=LbigitCase1myT.Biaozhi=LcaseitCase2myT.Biaozhi=NlogoitEndSelect'根据列表框的选择,给类的Biaozhi属性赋值'注意,在编程环境中,上述属性值自动添加Text1.Text=:myT.dONE'返回排序结束后的字符串EndSubPrivateSubForm_Unload(CancelAsInteger)SetmyT=NothingEnd'良好的编程习惯EndSub怎么样,我们的代码看起来如此的简洁,这种感觉就象是在使用一个控件,不仅可以随心所欲的调用,而且方便的使用了vb的自动提示功能。(要自动提示,可以进行枚举)
本文档为【VB类模块教程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
茉莉花开
暂无简介~
格式:doc
大小:20KB
软件:Word
页数:20
分类:
上传时间:2023-02-12
浏览量:3