VB中的过程
VB程序是由过程组成的,每个过程是为了完成一定的任务,由一组独立的程序代码组成。 VB中有两大类过程,事件过程和通用过程。事件过程是当对象的某个事件发生时,对该事件做出响应的程序代码段,它是应用程序的主体。当多个不同的事件过程需要执行一段相同的代码,完成相同或相似的任务,为了避免程序代码的重复,同时便于程序代码的修改,把这段代码独立出来,作为一个过程,这样的过程称为通用过程。可见,通用过程是多个事件过程的,相同之处、公共部分。 事件过程是由对象的某一时间驱动或由系统自动调用,而通用过程不依附于某一对象,通过被调用语句(如call语句)调用才起作用,而且通用过程可以被多次调用,调用该过程的过程叫调用过程。 通用过程分为两种类型,sub过程和Function过程。Function和sub过程的区别: Function过程有返回值,可以像变量一样出现在表达式中, 如:Function max(m as integer,n as Integer) as Integer If m<n then Max=n Else Max=m End if End function Private sub form_load() Dim x as integer, y as integer Print max(x , y) End sub Sub过程不返回值,就不能出现在表达式中。 所以声明Function过程要指明数据类型,也是返回值的数据类型。默认为variant类型。 Function过程的调用 直接使用函数名的调用方法有两种形式: 1, 如果函数又返回值,按如下方式调用: 被赋值对象=函数名(实际参数1,实际参数2,…) 2, 如果放弃函数的返回值,一般按如下方式调用: 函数名 实际参数1,实际参数2,… 使用call语句来调用Function过程,这种方法放弃了函数的返回值。 Call 函数名(参数1,参数2,…) 因为在VB中代码是模块化的,所以不同的模块就需求不同的过程,过程是有作用域的。 VB应用程序的结构如下: 模块级过程又称为文件级过程,是在某个模块内定义的过程,在定义sub过程和Function过程时选择Private关键字,该过程仅限于本模块中调用。 全局级过程又称工程级过程,是指在定义sub过程和Function过程时选择Public关键字或缺省选择,作用域为整个工程,可被该工程中的所有过程调用。 调用窗体中的过程:格式为:call form1.subex() 调用类模块中的过程:不用类名,而是用该类提前声明的实例变量名,如: Dim sample as new class1 Call sample.subex() 调用标准模块中的过程:如果该过程在整个工程中名字是唯一的,可以按名直接调用。如果其他模块中有同名过程,为了区别需要前置模块名。 如:假设模块M1和M2都有subcom过程,在M2中调用: call subcom() ‘执行M2自己的subcom过程 Call M1.subcom ‘执行M1自己的subcom过程 所以:标准模块中一般放置通用过程。在标准模块中声明的过程,在窗体模块中可以直接调用,如果在窗体模块中声明的Public过程,其他窗体模块调用时要注明窗体名。 多重窗体和submain过程 有时应用程序启动执行时,不需要加载任何窗体,而是需要首先执行一段程序代码,完成一些初始化工作。所以此时就用到了submain过程。Submain过程一般用于标准模块中,并且在工程属性中将启动对象设置为submain过程。标准模块可以有多个但是submain只有一个。 Submain过程中,一般设置多重窗体的方法。多重窗体的方法有四种:load,show,Hide,Unload方法。 这里只介绍show,Hide和Unload方法。 Show使用show可以显示被调用的窗体,如果在调用show方法之前没有把窗体调入内存,那么show方法会自动的把窗体调入内存。窗体模式值是选项,取值为0或1,当取0或省略时,执行show方法显示的窗体是无模式的——非模态窗体。用户可以激活其他窗体,对其他窗体进行操作。当取值为1时,执行show方法显示的窗体是模式的——模态窗体。此种模式只有关闭了对话框才能进行其他操作。 Unload方法和Hide方法的区别: 当程序运行后,窗体都占用系统的内存,用Hide方法隐藏窗体只是使窗体看不到即visible属性值为FALSE,但它还占用系统的内存;而是用Unload方法是将窗体卸载,即窗体不占有系统的内存。所以在编写代码时,当用不到窗体时,使用Unload方法将窗体卸载,免得占着一定的内存,使机子的运行速度变慢。 <#--最新日志--> <#--推荐日志--> <#--引用记录--> <#--相关日志--> <#--推荐日志--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> 上一篇:VB2005窗体互访技术
|
|
来自: MyKnowlege > 《VB》