VB中Sub过程与Function过程的区别

VB的通用过程分为两种类型:Sub过程和Function过程。通用过程既可以保存在窗体模块(.Frm)中,也可以保存在标准模块(.Bas)中。通用过程与事件过程不同,它不依附于某一对象,也不是有对象的某一事件驱动或由系统自动调用,而是通过被调用语句(如Call语句)调用才起作用。通用过程可以被多次调用,调用该过程的过程称为调用过程。

Sub过程(子过程)

语法格式: [Public|private] Sub 子过程名 ( [形参列表] )

                   <语句>

                  End Sub

子过程没有返回值,即它只能执行Sub和End Sub之间的语句块,不能讲子过程的值赋给某一变量。

使用Sub过程必须遵守“先说明,后调用”的原则,声明Sub过程就是编写一个能够实现预期功能的程序段,可被重复调用。

子过程的调用:

  • 使用Call语句调用子过程: Call <子过程名> [ (<实参表列>) ]

该语法格式中的是参列表是实际参数的列表,如果有多个参数,可用“,”隔开。

利用该语句调用子过程时,如果过程本身没有参数,则<子过程名>后面的<实参列表>和括号可省略;则应给出实际参数,并用括号将参数括起来。

  • 利用子过程名进行调用: <子过程名> [ <实参列表> ]

利用该方法调用子过程时,不能将实际参数用括号括起来。

Function(函数过程)

Function过程与Sub过程的区别是:函数过程有返回值,而子过程没有返回值。

语法格式如下:[Private|Public] Function <函数过程名> [ (形参列表)] [As <类型> ]

                        <语句块>

                        函数名=表达式

                      End Function

函数过程的调用:

函数过程的调用与使用普通函数是相同的,只需写出函数名和函数过程中定义的实参即可。

直接使用函数名的调用方法有两种形式:

  • 如果函数有返回值,一般按如下形式调用:

被赋值对象=函数名(实际参数1,实际参数2,…)

  • 如果放弃函数的返回值(与调用Sub过程一样使用Call语句来调用Function过程  ),一般按如下形式调用:

函数名 实际参数1,实际参数2,…

Sub 过程与Function 过程的区别: 

1. Sub 过程定义时无需定义返回值类型,而Function 过程一般需要用“As 数据类型” 定义函数返回值类型。 

2. Sub 过程中没有对过程名赋值的语句,而Function 过程中一定有对函数名赋值的语句。 

3. 调用过程:调用 Sub 过程与 Function 过程不同。调用 Sub 过程的是一个独立的语句,而调用函数过程只是表达式的一部分。Sub 过程还有一点与函数不一样,它不会用名字返回一个值。但是,与 Function过程一样,Sub 过程也可以修改传递给它们的任何变量的值。 

4. 调用 Sub 过程有两种方法: 

以下两个语句都调用了名为 Fact 的 Sub 过程。 

Call Fact (m, fac) 

Fact m, fac

注意当使用 Call 语法时,参数必须在括号内。若省略 Call 关键字,则也必须省略参数两边的括号。

VB中Sub过程与Function过程的区别VB中Sub过程与Function过程的区别 苏圆梦 发布了4 篇原创文章 · 获赞 0 · 访问量 66 私信 关注
上一篇:Django 测试平台搭建学习:admin 产品管理模块(一)


下一篇:第18课:郭盛华课程_VB编程之多个程序文档的关联