分享

VB程序设计过程(一)

 你喜欢那个 2012-05-13

8.1  Sub过程

8.1.1  Sub过程的建立

1.定义Sub过程

过程定义的语法格式为:

[Static][Private][Public]Sub过程名 ([形参表])

语句块1

[Exit Sub]

[语句块2]

End Sub

说明:

(1) Static:指定过程中的局部变量在内存中的存储方式。

(2) Private:表示Sub过程是私有的,只能被本模块中的其他过程访问,不能被其他模块中的过程访问。

(3) Public:表示Sub过程是公有过程,可以在程序的任何地方调用它。若省略,则默认为Public过程。

(4) 过程名:命名规则与变量命名规则相同。无参数时,过程名后的括号不能省略。

(5) 形参表:含有在调用时传送给该过程的简单变量名或数组名,各参数名之间用逗号隔开。

(6)  Exit Sub语句表示立即退出过程,一般出现在选择结构中。

(7) End Sub标志着Sub过程的结束。

(8) Sub过程不能嵌套定义。

【例8.1】计算n!

.建立Sub过程

通用过程可以在标准模块过程中建立,也可以在窗体模块中建立。举例说明在标准模块中建立通用过程,的两种方法。

8.1.2  调用Sub过程

Sub过程的调用有两种方法:使用Call语句;直接使用过程名。

1.Call语句调用Sub过程

格式:Call  过程名[(实际参数)]

2.过程名作为一个语句来使用

与第一种方式相比,它有两点不同:

(1) 去掉关键字Call

(2) 去掉“实际参数”的括号。

【例8.2】编写一个计算矩形面积的Sub过程,然后调用该过程计算矩形面积。

8.1.3  调用过程与事件过程

举例说明过程调用。

1.在事件过程中调用另一个事件过程

Public Sub Command1_Click()  'Form2中的Command1Click事件过程

Form1.Command1_Click  '调用Form1中的Command1Click事件过程

End Sub

2.在同一事件过程中调用两个标准模块中具有相同名字的通用过程

Public Sub Command1_Click()  'Form1中的Command1Click事件过程

Module1.Proce  '调用标准模块Module1中的名为Proce的通用过程

Module2.Proce  '调用标准模块Module2中的名为Proce的通用过程

End Sub

一般来说,通用过程(包括Sub过程、Function过程)之间、事件过程之间、通用过程与事件过程之间,都可以相互调用。当在一个模块中调用其他模块中的过程时,被调用的过程必须是“公用的”(Public)。

8.2        Function过程

8.2.1  Function过程的定义

Function过程定义的格式为

[Static][Private][Public]Function函数名([形参表] [As类型]

        [语句块]

     [函数名=表达式]

     [Exit Function]

         [语句块]

End Function

说明:

(1) Function过程以Function开头,以End Function结束,在两者之间是描述过程操作的语句块,即“过程体”或“函数体”。

(2) 函数名即函数过程的名称,命名规则与变量相同。

(3) 表达式的值是函数返回的结果,通过赋值语句将其赋给函数名。

(4)不能在事件过程中定义通用过程(包括Sub过程和Function过程),只能在事件过程内调用通用过程。

【例8.3】编写一个求最大公约数的函数过程。

8.2.2  调用Function过程

以调用求最大公约数的函数为例说明可以像使用Visual Basic内部函数一样来调用Function过程。

8.3 参数传送

8.3.1  参数传送方式

举例说明参数传送方式。

1.传值

【例8.4】编写程序,试验按值传递

Sub tryout(ByVal x As Integer,ByVal y As Integer)

     x=x+100

     y=y*6

     Print"x=";x."y=";y

End Sub

Sub Form_Click()

Dim a As Integer, b As Integer

   a=10:b=20

   tryout a,b

   Print "a=";a, "b=";b

End Sub

程序运行后,输出结果如下:

x=110       y=120

a=10        b=20

2.传地址

【例8.5】编写程序,试验引用方式传送参数。

Sub tryout(x As Integer ,y As Integer)

    x=x+100

    y=y*6

    Print "x=";x, "y=";y

End Sub

Sub Form_Click()

     Dim a As Integer, b As Integer

     a=10:b=20

     tryout a,b

      Print "a=";a, "b=";b

End Sub

小结:

Visual Basic中,常用的过程主要有两类:一类由系统提供,包括事件过程和内部函数过程;另一类是自定义过程,由程序设计者根据需要自行编制,主要包括通用过程和自定义函数过程。事件过程和通用过程合称为子过程(Sub过程),自定义函数过程简称为函数过程(Function过程)。

当在程序中需要多次用到某一公式或处理某一函数关系,而又没有现成的内部函数能够使用时,可以用Function语句编写自定义函数过程实现相应的功能。一旦编写完成后,在程序中就可以像使用内部函数一样使用Function过程。Function过程也是一个独立的过程,但与Sub过程不同,Sub过程没有返回值,只能作为独立的基本语句被调用,不能出现在表达式中;而Function过程有返回值,既可出现在表达式中,也可以作为独立的语句被调用。

参数是主调过程和被调过程之间传送数据的重要手段。在调用一个过程时,必须把实际参数传送给过程,完成形式参数与实际参数的结合,然后用实际参数执行调用的过程。

本讲重点介绍Sub过程和Function过程的结构框架如何定义,以及如何调用一个已写好的自定义过程,进而介绍过程调用的参数传递机制。

作业:

1Sub过程和Function过程有何区别?

2.怎样创建Sub过程和Function过程?

3.怎样调用Sub过程和Function过程?

4.什么是形参?什么是实参?它们之间有何区别?

5.什么是值传递?什么是地址传递?它们之间有何区别?

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

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多