VisualBasic过程.ppt
《VisualBasic过程.ppt》由会员分享,可在线阅读,更多相关《VisualBasic过程.ppt(65页珍藏版)》请在三一办公上搜索。
1、2023/11/8,1,第7章 过程,本章内容:概述 子过程 函数过程 事件过程 参数传递的方式 嵌套调用与递归调用 作用域与生存期 滚动条 直线和形状,http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/www.xunchi-http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/www.51xiu.org/http:/http:/http:/http:/
2、http:/http:/http:/www.gz-http:/www.gz-http:/http:/http:/http:/,2023/11/8,Visual Basic程序设计简明教程,2,7.1 概述,VB的应用程序是由过程(Procedure)组成的,代码设计阶段的主要工作就是编写过程。VB通过事件驱动方式执行程序,调用事件过程完成对事件的响应。事件过程(Event Procedure)虽然是VB程序的主体,但是有时也需要在程序中编写通用过程,供事件过程或者其他通用过程调用。如果过程A调用了过程B,则约定把A称为主调过程,B称为被调过程。,2023/11/8,Visual Basic程序
3、设计简明教程,3,说明:,根据通用过程是否有返回值,可以分为Sub过程和Function过程。Sub过程又称为子过程,它往往用于完成一些操作,而这些操作不需要有返回值。Function过程又称为函数过程,或者简称为函数。函数过程一般应有一个返回值。,返回,2023/11/8,Visual Basic程序设计简明教程,4,7.2 子过程子过程的定义,Public|Private Sub 过程名(形参列表)变量定义语句 执行语句 Exit Sub End Sub,2023/11/8,Visual Basic程序设计简明教程,5,说明:,关键字Sub指明了过程的性质,关键字Public和Privat
4、e则指明了过程的作用域。括号内为形参列表,用于从主调过程接收数据。如果过程不需要参数,则可以省略形参列表。形参由传递方式、形参名和类型组成,形参之间用逗号分开。形参定义的格式是:ByVal 形参名 As 数据类型 ByVal是对形参进行传递方式声明,表示所声明的形参是传值参数。如果ByVal被省略,则默认该形参是引用参数(ByRef)。过程头部和End Sub之间的部分称为过程体,可以在过程体中定义变量,过程完成的工作主要是在过程体中进行的。如果在运行子过程时需要提前退出,则可以使用Exit Sub语句。,2023/11/8,Visual Basic程序设计简明教程,6,创建子过程,第一种方法
5、是在代码窗口中直接定义,输入过程头部之后按下回车键,此时会自动出现End Sub,从而生成过程的框架。第二种方法是使用“添加过程”对话框,在“工具”菜单中选择“添加过程”命令,打开“添加过程”对话框。,2023/11/8,Visual Basic程序设计简明教程,7,7.2 子过程子过程的调用,通用过程不属于任何一个对象,它不由事件驱动,必须由其他过程调用才会被执行。子过程调用语句有两种形式:Call 过程名(实参列表)过程名 实参列表,2023/11/8,Visual Basic程序设计简明教程,8,说明:,(1)第一种调用形式使用了关键字Call,而第二种调用形式不仅没有Call,并且也没
6、有括号。(2)实参即实际参数,表示传递给被调过程的一些必要数据,实参之间用逗号隔开。如果调用时没有实参,则可以省略实参列表和括号。(3)主调过程调用被调过程时,经常需要向被调过程传递一些数据,这主要是通过实参与形参的结合来完成的。形参是变量,过程调用时才被分配内存空间,过程调用语句中的实参会把数据传递给相应的形参。(4)VB语言要求实参与形参个数相等,类型尽量保持一致。实参向形参传递数据时,遵循从左向右,一一对应的规则。,2023/11/8,Visual Basic程序设计简明教程,9,例7.1 计算n!,Private Sub Command1_Click()Dim n As Integer
7、 n=Val(Text1.Text)Call fac(n)调用子过程 End Sub,2023/11/8,Visual Basic程序设计简明教程,10,Private Sub fac(ByVal n As Integer)Dim s As Long,i As Integer s=1 For i=1 To n s=s*i Next i Text2.Text=Str(s)输出n的阶乘 End Sub,返回,2023/11/8,Visual Basic程序设计简明教程,11,7.3 函数过程函数过程的定义,Public|Private Function 过程名(形参列表)As 类型 变量定义语句
8、执行语句 Exit Function End Function,2023/11/8,Visual Basic程序设计简明教程,12,说明:,(1)函数过程的语法与子过程非常相似,其定义的关键字是Function。(2)过程头部右端的As 类型是指函数过程的类型,即返回值的类型。(3)函数过程的返回值通过对函数名赋值来指定,如下所示:函数名=表达式 这样的赋值语句在函数过程的过程体中一般至少应出现一次,作用是确定函数过程的返回值。一旦调用结束,系统就会把返回值带回到主调过程的调用处。(4)如果在运行函数过程时需要提前退出,则可以使用Exit Function语句。,2023/11/8,Visua
9、l Basic程序设计简明教程,13,变量=函数过程名(实参列表)函数调用作为表达式,出现在赋值语句的右侧。调用时应给出相应的实参列表,使得实参与形参相结合。执行这条赋值语句时,先对函数过程进行调用,然后把过程的返回值带回来并赋给某个变量,从而使主调过程获得这个返回值。,7.3 函数过程函数过程的调用,2023/11/8,Visual Basic程序设计简明教程,14,例7.3 计算n!,Private Sub Command1_Click()Dim s As Long,n As Integer n=Val(Text1.Text)s=fac(n)调用函数过程,得到返回值 Text2.Text=
10、Str(s)End Sub Private Function fac(ByVal n As Integer)As Long 定义函数过程 Dim s As Long,i As Integer s=1 For i=1 To n s=s*i Next i fac=s 确定函数过程的返回值 End Function,返回,http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/http:/www.xunchi-http:/http:/http
11、:/http:/http:/http:/http:/http:/http:/http:/www.51xiu.org/http:/http:/http:/http:/http:/http:/http:/www.gz-http:/www.gz-http:/http:/http:/http:/,2023/11/8,Visual Basic程序设计简明教程,15,7.4 事件过程,Private Sub 对象名_事件名(形参列表)变量定义语句 执行语句 End Sub,2023/11/8,Visual Basic程序设计简明教程,16,说明:,(1)事件过程的名字是由对象名、下划线(_)和事件名组成,
12、对象可以是窗体或者控件。(2)单击和双击等事件的事件过程是没有参数的,而有些事件过程则需要参数,以接收必要的数据。,2023/11/8,Visual Basic程序设计简明教程,17,例7.5 设计一个简易的计算器,在框架Frame1中创建一个命令按钮控件数组Command1,它有4个元素,分别对应“+”、“-”、“”和“”等4个命令按钮。创建一个文本框控件数组Text1,它有3个元素,第一个元素对应的文本框负责输入左操作数,第二个元素对应的文本框负责输入右操作数,第三个元素对应的文本框则负责输出运算的结果。,2023/11/8,Visual Basic程序设计简明教程,18,Private
13、Sub Command1_Click(Index As Integer)Label2.Caption=Command1(Index).Caption 显示运算符 Select Case Index Case 0 加 Text1(2).Text=Val(Text1(0).Text)+Val(Text1(1).Text)Case 1 减 Text1(2).Text=Val(Text1(0).Text)-Val(Text1(1).Text)Case 2 乘 Text1(2).Text=Val(Text1(0).Text)*Val(Text1(1).Text)Case 3 除 If Val(Text1
14、(1).Text)0 Then 除数不能为0 Text1(2).Text=Val(Text1(0).Text)/Val(Text1(1).Text)Else MsgBox(除数不能为0!)Text1(1).Text=Text1(1).SetFocus End If End Select End Sub,Private Sub Command2_Click()Dim i As Integer For i=0 To 2 Text1(i).Text=清除操作数和运算结果 Next i Label2.Caption=清除运算符 End Sub,简易计算器的代码实现,2023/11/8,Visual B
15、asic程序设计简明教程,19,Private Sub Text1_KeyPress(Index As Integer,KeyAscii As Integer)If KeyAscii=13 Then 按下回车键 If IsNumeric(Text1(Index).Text)=False Then MsgBox(必须输入数字!)Text1(Index).Text=Text1(Index).SetFocus End If End If End Sub,简易计算器的代码实现,返回,2023/11/8,Visual Basic程序设计简明教程,20,7.5 参数传递的方式传值,调用时把实参的值从左至右
16、,一一传递给各个形参。这种传递是单向的,形参的值发生变化,对实参毫无影响。,2023/11/8,Visual Basic程序设计简明教程,21,例7.6 交换两个整型变量的值,Sub swap(ByVal a As Integer,ByVal b As Integer)传值方式 Dim t As Integer t=a a=b b=t End Sub,2023/11/8,Visual Basic程序设计简明教程,22,7.5 参数传递的方式传引用,如果用ByRef对形参进行声明,则表示该参数在调用时采用传引用方式。传引用调用时形参的值发生变化,会使实参的值也同步发生变化。,2023/11/8,
17、Visual Basic程序设计简明教程,23,例7.7 传值与传引用,Private Sub Command1_Click()Dim x As Integer,y As Integer x=1 y=2 Print 过程调用之前:Print x=;x;y=;y Call fun(x,y)调用子过程 Print 过程调用之后:Print x=;x;y=;y End Sub Sub fun(ByVal x As Integer,ByRef y As Integer)x=x+1 y=y+1 修改了实参y的值 Print 过程调用中:Print x=;x;y=;y End Sub,2023/11/8,
18、Visual Basic程序设计简明教程,24,7.5 参数传递的方式传数组,可以采用传数组的方式传递成批的数据,具体实现的方法是:1.过程的形参为动态数组,形参数组的类型必须与实参数组的类型一致。2.过程调用时,数组名作为过程的实参。,2023/11/8,Visual Basic程序设计简明教程,25,例7.9 求某班VB考试的平均成绩,Const N As Integer=30 Private Sub Command1_Click()Dim a(1 To N)As Integer,i As Integer,aver As Single For i=1 To N 输入学生成绩 a(i)=Va
19、l(InputBox(请输入第 aver End Sub Function average(b()As Integer)As Single 定义函数过程 Dim i As Integer,sum As Integer sum=0 For i=LBound(b)To UBound(b)累加学生成绩 sum=sum+b(i)Next i average=sum/N 确定平均成绩是函数返回值 End Function,返回,2023/11/8,Visual Basic程序设计简明教程,26,7.6 嵌套调用与递归调用,VB语言规定,过程的定义不能嵌套,过程的调用可以嵌套。递归调用是一种既有趣又实用的
20、过程调用形式,它是嵌套调用的特例。,2023/11/8,Visual Basic程序设计简明教程,27,7.6 嵌套调用与递归调用嵌套调用,过程A在执行时调用了过程B,过程B在执行时又调用了过程C,这种现象称为嵌套调用。嵌套调用的执行特点可以总结为一句话:层层调用,逐级返回。,2023/11/8,Visual Basic程序设计简明教程,28,7.6 嵌套调用与递归调用递归调用,在过程的过程体内出现直接或间接调用自身的语句,即过程在执行期间又调用自己的现象,称为递归调用。,2023/11/8,Visual Basic程序设计简明教程,29,例7.11 递归调用求n!,Private Sub C
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- VisualBasic 过程
链接地址:https://www.31ppt.com/p-6523067.html