VB过程与函数ppt课件.ppt
《VB过程与函数ppt课件.ppt》由会员分享,可在线阅读,更多相关《VB过程与函数ppt课件.ppt(40页珍藏版)》请在三一办公上搜索。
1、Visual basic与SQL Server 2005 清华大学出版社,本章要点,过程的有关术语过程的定义与调用使用过程时的参数传递过程的嵌套与递归调用 多窗体与Sub Main过程用户自定义函数的使用,Visual basic与SQL Server 2005 清华大学出版社,在VB中自定义过程分为以下几种:以“sub”保留字开始的为子过程;以“function”保留字开始的为函数过程;以“Property”保留字开始的为属性过程;以“Event”保留字开始的为事件过程。常用的过程有两种类型,通用过程和事件过程。事件过程与某个具体对象有关,它是能被对象识别的一个预先定义好的动作,前面各章学习
2、和使用的过程都是事件过程,它是VB应用程序的主体。而通用过程与对象无关,它能被不同的事件过程或程序代码调用,能提高编程的效率。VB提供了两种通用过程,Sub过程(子程序)和Function过程(函数)。过程需要编写相应的代码,称为过程的定义。通用过程可以在代码窗口的通用声明下定义,也可以在标准模块中定义。定义好的通用过程就像完工的集成块,还需要将它组装到产品中去才能发挥作用,在应用程序中使用定义好的过程,称为过程的调用。,11.1 过程,Visual basic与SQL Server 2005 清华大学出版社,在定义过程时,可以在代码窗口的通用声明中,直接输入过程的所有代码;也可以选中代码窗口
3、后,选择“工具”“添加过程”命令,在“添加过程”对话框中输入过程名,选择好类型和范围后确定,来添加过程头,然后再输入过程体。一、Sub过程的定义 语法格式为 Static Private Public Sub过程名(参数表)语句块 Exit Sub End Sub Sub过程的说明:(1)Sub过程必须以Sub开头,End Sub结束。Static:表明这个过程中的局部变量是静态的,即过程执行完成后,过程内的变量的值将保留下来。如果没有Static,则局部变量是动态的,即过程执行完成后,过程内的变量的值将清空(0或空串)。,11.1.1 Sub过程,Visual basic与SQL Serve
4、r 2005 清华大学出版社,(2)参数表:传送数据进入Sub的变量或数组,参数之间用逗号分隔。每个参数的格式为:ByVal 变量名()As 类型 类型就是Integer、Single等,缺省则为变体型。ByVal:表明该参数是“传值”(Passed By Value)参数,缺省时(相当于ByRef)表明该参数是“引用”(Passed By Reference)参数。一般而言:用不加ByVal的“引用”参数即可。(3)Exit Sub用于在必要时中途退出过程。(4)Sub过程不能嵌套。即Sub过程的过程体内不能包含内部的Sub过程。但调用时可以嵌套。(5)建立通用Sub过程 通用Sub不属于任
5、何一个事件驱动过程,所以不能把通用Sub放在事件过程内部,应该放在事件过程外面,与事件过程独立开来,即通用Sub与事件过程是同一级别的。,11.1.1 Sub过程,Visual basic与SQL Server 2005 清华大学出版社,11.1.1 Sub过程,二、Sub过程的调用调用Sub过程一般可用以下两种方法。(1)用Call语句格式:Call 过程名(实参)如果是无参过程,括号可以省略。例如:Call Proc 调用无参过程Proc Call Try(a,b)调用有参过程Try(x,y)(2)过程名 实参表。把过程名作为一个独立的语句与Call的区别:去掉Call,去掉实参的括号。例
6、如:Proc 调用无参过程Proc Try a,b 调用有参过程Try(x,y)注意,在第二种调用方法中,省略了Call,此时不需要小括号,否则会出错。,Visual basic与SQL Server 2005 清华大学出版社,11.1.1 Sub过程,例11.1 求1-2+3-4+.+n的值。1、界面设计 程序的界面由两个标签、两个文本框(一个用于输入、一个用于输出)和两个按钮构成。,Visual basic与SQL Server 2005 清华大学出版社,11.1.1 Sub过程,2、代码分析与设计 n的变化规则是偶数为负,奇数为正,可加一个专门的符号位来实现,只要符号位与n的初值保存一致
7、,然后n增加1,符号位就取反即可。程序主要代码如下:Private Sub sum_num(n As Integer,s As Long)Dim i As Integer,t As Integer s=0 t=1 For i=1 To n s=s+i*t t=-t Next iEnd Sub,Private Sub Command1_Click()Dim n As Integer,i As Integer,s As Long n=Val(Text1.Text)sum_num n,s Text2.Text=sEnd SubPrivate Sub Text1_KeyPress(KeyAscii A
8、s Integer)If KeyAscii=13 Then Command1_Click End Sub,Visual basic与SQL Server 2005 清华大学出版社,11.1.2 函数(Function过程),在VB中有两类函数,即标准函数和用户自定义函数。标准函数是指系统已经做出定义的函数,VB的标准函数按函数功能可分为4类,即数学函数、字符串函数、日期和时间函数和转换函数。虽然VB提供了常用的标准函数,可以使用这些标准函数来实现某些数学计算或数据类型的转换,但许多应用程序常常需要自己来定义函数,以实现某种特定的计算。自定义函数是由用户按照指定的语法规则自己定义的函数。,Vis
9、ual basic与SQL Server 2005 清华大学出版社,11.1.2 函数(Function过程),一、函数的定义格式为:Static Private Public Function函数名(参数表)As类型 语句块 Exit Function 函数名=计算结果 End Sub说明:与Sub比较:大部分一样,定义方法也一样。主要的区别是:(1)函数名后多了As类型,限定函数结果的类型;(2)多了一句 函数名=计算结果。注意:必须有这一句才能把计算结果传给函数。,Visual basic与SQL Server 2005 清华大学出版社,11.1.2 函数(Function过程),二、函
10、数的调用 Function定义好以后,就成了一个与标准函数一样的函数,调用方法也与标准函数一样:函数名(自变量)调用函数一般可用以下三种方法。(1)直接调用。将函数名和相应的实参放在一个表达式中即可。当需要接收过程的返回值时,只能使用这种调用方法。例如:Y=Sqr(16)(2)Call语句调用。使用Call语句调用Function过程的方法与Sub的调用方法相似,此时,Function过程的返回值将被丢失。一把不用这种方法。(3)无参数直接调用。,Visual basic与SQL Server 2005 清华大学出版社,11.1.2 函数(Function过程),【例11.2】将例11.1改用
11、函数来实现。代码分析与设计本程序的基本思路与例9.1是一样的,代码差别也不大。在Sub过程中,结果通过参数s带回,而Function过程则通过函数本身返回。程序代码如下(相同部分省略):Private Function sum_num(n As Integer)As Long Dim i As Integer,t As Integer,s As Long s=0 t=-1 For i=a To ns=s+i*t t=-t Next i sum_num=sEnd Function,Private Sub Command1_Click()Dim n As Integer,s As Long n=V
12、al(Text1.Text)s=sum_num(n)此时不能使用第二种调用方法 Text2.Text=sEnd Sub,Visual basic与SQL Server 2005 清华大学出版社,11.1.3 过程与函数的区别,1过程以sub开头,而函数以function开头。2.当过程有多个返回值时,就应当用sub过程;当过程有一个返回值时,可以使用函数。3函数是通过函数名回送一个结果值。在函数的形式参数表后面要说明函数(即结果)的类型。而过程的结果由参数送回。4.函数体中至少要包括一个给函数赋值的语句。而过程不能给过程名赋值。5.函数的调用出现在表达式中。而过程的调用必须作为一个单独的语句。
13、6.形参没有具体的值,只代表了参数的个数、位置、类型;只能是简单变量,不能是常量、数组元素、表达式。,Visual basic与SQL Server 2005 清华大学出版社,11.2 参数传递,在调用一个有参数的过程,首先进行的是“形实结合”,即按传值传递或按地址传递方式,实现调用程序和被调用的过程之间的数据传递。通过参数传递,Sub过程或Function过程就能根据不同的变量执行同种任务。为了叙述方便,将形式参数简称为形参,实在参数简称为实参。在Visual Basic中传递参数有两种方式,即按值传递(Passed by Value)和按地址传递(Passed by refecence)。
14、按值传递参数时,传递的只是实参变量的副本。如果在被调过程中改变了形参值,只影响副本,而不会影响实参变量本身。即当控制返回调用程序时,实参变量保持调用前的值不变。在定义过程时,若形参名前面没有关键字“ByVal”,即形参名前面缺省修饰词,或有“ByRef”关键字时,则指定了它是一个按地址传递的参数。按地址传递参数时,把实参变量(简单变量、数组元素、数组以记录等)的地址传送给被调过程。因此实参变量的地址和与之结合的形参地址是相同的,也就是说形参和实参共用内存的同一“地址”,即共享同一个存储单元。这样在被调过程中的形式参数值一旦被改变,相应的实参值也跟随着被改变了。,Visual basic与SQL
15、 Server 2005 清华大学出版社,11.2.1 形式参数与实际参数,形式参数是指在定义通用过程时,出现在sub或function语句中的变量,是接收传送子过程的变量。形式参数表的各个变量之间用逗号分隔。实际参数是指在调用sub或function过程时,传送给sub或function过程的常量、变量或表达式。实参表可由常量、表达式、有效的变量名、数组名组成,实参表中各参数用逗号分隔。简单地说,无论是Sub还是Function,参数是用来传送数据的。定义时的参数叫形式参数(形参),调用时的参数叫实际参数(实参)。,Visual basic与SQL Server 2005 清华大学出版社,1
16、1.2.1 形式参数与实际参数,例如:Private Sub Form_Click()Dim a as intger,b as integer,c as integer A=5:b=3:c=9 ClsPrint a;b;cCall prod(a),(b),(c)实际参数Print a;b;cEnd SubSub prod(a as intger,b as integer,c as integer)形式参数Print a;b;ca=6:b=8:c=a*bprint a;b;cEnd Sub,Visual basic与SQL Server 2005 清华大学出版社,11.2.2 参数传递,参数传递
17、的方式有两种,按值传递和按地址传递,并且只能有实参传递给形参。如果CALL语句中的实际参数是常量或表达式,或者定义过程时选用ByVall关键字,就可以按值传递;如果CALL语句中的实际参数为变量,或者定义过程时选用ByRef关键字,就可以按地址传递。否则缺省按地址传递参数。一、按值传递参数 按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所作变量只影响副本而不会影响变量本身。当要求变量按值传送时,可以先把变量变成一个表达式,把变量转换成表达式的最简单的方法就是把它放在括号内。或者定义过程时用ByVal关键字指出参数是按值来传递的。例如:Sub Post(ByValnumasInt
18、eger)例如:运行下面给出的程序,理解按值传递参数。,Visual basic与SQL Server 2005 清华大学出版社,11.2.2 参数传递,例如:运行下面给出的程序,理解按值传递参数。Private Sub Form_Click()Dim a as intger,b as integer,c as integer a=5:b=3:c=9 ClsPrint a;b;c Call prod(a),(b),(c)函数调用Print a;b;cEnd SubSub prod(a as intger,b as integer,c as integer)Print a;b;ca=6:b=8:
19、c=a*bprint a;b;cEnd Sub,Visual basic与SQL Server 2005 清华大学出版社,11.2.2 参数传递,二、按地址传递参数按地址传参数,就是让过程根据变量的内存地址去访问实际变量的内容,即形式参数与实际参数使用相同的内存地址单元,这样通过子过程就可以改变变量本身的值。系统缺省按地址传递参数。在传递调用时,实际参数必须是变量,常量或表达式无法传址。例如:运行下面给出的程序,理解按地址传递参数。Private Sub Form_Click()Dim a as intger,b as integer,c as integer A=5:b=3:c=9ClsPr
20、int a;b;cCall prod(a,b,c)Print a;b;cEnd SubSub prod(x as intger,y as integer,z as integer)Print x;y;zx=6:y=8:z=x*yprint x;y;z,Visual basic与SQL Server 2005 清华大学出版社,11.2.2 参数传递,三、按值和按地址混合传送参数例如:Private Sub Form_Click()Dim x as intger,y as integer X=8:y=3Call test(5,x,y+1)5传值,X传址,Y+1传值Print“主程序”,5,x,yE
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VB 过程 函数 ppt 课件

链接地址:https://www.31ppt.com/p-2055834.html