分享

VB中的过程

 MyKnowlege 2012-11-22

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方法将窗体卸载,免得占着一定的内存,使机子的运行速度变慢。

<#--最新日志--> <#--推荐日志--> <#--引用记录--> <#--相关日志--> <#--推荐日志--> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构-->

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多