Hello各位读者朋友大家好,从本节课程开始,我们将要一起学习VB中“过程”的含义及用法。
过程
就是一个功能相对独立的程序逻辑单元,即一段独立的程序代码,一个过程中,可以包含许多的语句,以实现这个过程所要完成的功能。
我们的生活其实也可以看作是由很多很多的过程组合串联在一起的。
比如,刷牙就可以看作一个过程,刷牙这个过程中同样含了很多的动作,我们可以用顺序结构和循环结构来描述它:
“过程”开始
→拿起牙膏→然后拿起牙刷→将适量的牙膏挤到牙刷上→开始循环→循环体:
刷牙→重复刷牙动作→循环结束→漱口→放回牙刷→“过程”结束
你们看,刷牙这样一个过程中包含了许多的动作,并且这些动作除了一些参数不同,其它的结构算法都是一样的,因此我们把这些动作打包在一起,这就是一个过程。
生活这个“超级程序”中,不仅仅只有刷牙这一个“过程”,还有很多其它“过程”,这里面有的是所有人都会用到的,如吃饭、喝水等,有的则是部分人才会有的,比如做饭、打牌驾驶飞机等,有的是不需要参数输入也不需要参数输出,有的需要参数输入但不需要参数输出,有的则既需要参数输入也需要参数输出。
同样,在VB中,一个复杂的项目,也都是由很多个不同的过程组成的,这些过程也被分为了几种不同的类型,以实现在不同要求下的功能。
过程的分类
一、事件过程
当发生了某个事件时,对该事件作出响应的程序块,即为事件过程。
例如:
鼠标单击事件、窗体加载事件、键盘按下事件等等。
举例:
Private Sub Command1_Click() Print "按钮:有人点击我了"End Sub
我们之前所有的教学中绝大多数都是用的时间过程。
二、子过程(Sub)
子过程又叫Sub过程或者通用过程,子过程主要用于将一段相同的代码作为一个程序块,用来完成特定的任务,供其它过程调用。
事件过程也属于子过程的一种。
子过程可以有参数,但不能有返回值。
子过程举例:
'打印一段字符串100次Sub print100(str$) Dim i% For i = 1 To 100 Print str Next iEnd Sub
该子过程名为:print100,功能是将一段字符串打印100次。
调用时,需要输入一个字符串型的参数。
'调用举例:Private Sub Command1_Click() Call print100("我爱你")End Sub
通过这个简单的例子,我们可以看到,子过程Sub实际上就是将一段可能被重复使用的代码段进行“打包”,以方便重复调用。
子过程Sub的特点是无返回值。
三、函数过程(Function)
函数过程又叫Function过程,其作用也是完成特定功能的且独立的程序块。
但与Sub过程不同的是,函数过程不仅可以有输入参数,也允许有返回值。
函数过程举例:
'计算两个数的合值function sum(a%,b%) as interger sum=a+bend function
该函数过程名为:sum,其功能是计算并返回两个输入参数的和值。
调用举例:
'调用sum过程,计算10和55的和值,并打印Private Sub Command1_Click() print sum(10,55)End Sub
通过这个简单的例子,我们可以发现,function过程与sub过程最大的区别就在于:
sub过程不可以有返回值,而function过程则允许有返回值。
那么,什么时候使用sub过程,而什么情况下需要使用function过程呢?
一般来说,在需要重复使用一段程序代码时,但是这段代码不需要有返回/输出值,它仅仅是完成了一个特定功能的。
这种情况则使用sub过程。
而在不仅需要完成一个特定功能,还需要有一个返回结果时,则这种情况需要用function过程。
其实,系统中有很多的方法和函数,比如print(打印)、Len(求字符串长度)、Abs(求绝对值)等。它们就是一个系统已经帮我们定义好的函数,我们可以直接去调用。如print方法,可以理解为是一个sub过程,因为它需要输入一个参数,而没有返回值。len函数可以理解为一个function过程,因为它不仅需要输入一个参数,还会有返回值。
因此,sub过程、function过程的存在,就是为了让我们将一些常用的函数进行封装,然后,方便我们下次使用,或者在同一个项目中多次使用。
比如,我们可以把数组排序的代码封装为一个过程,以方便下次使用。
所以,学会合理的创建和使用过程,对于一个项目来说具有非常重要的作用。
好了,关于事件过程、sub子过程、function函数过程的概念介绍,我们今天就到这里,相信各位读者已经基本了解了它们的含义和区别。
下节课开始,我们将详细的来学习如果去创建、使用它们。
我们下节课程再见吧。
更多更全的VB课程,关注本公众号,在菜单栏点击全套课程-免费图文教程。