第八章过程优秀课件.ppt
《第八章过程优秀课件.ppt》由会员分享,可在线阅读,更多相关《第八章过程优秀课件.ppt(45页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、第八章第八章 过程过程第1页,本讲稿共45页第八章第八章 过过 程程 在程序的编写中,对于较复杂的问题,按照结构化程序在程序的编写中,对于较复杂的问题,按照结构化程序设计的原则,可把问题逐步细化,分成若干个功能模块,通设计的原则,可把问题逐步细化,分成若干个功能模块,通过过VB提供的自定义过程将功能模块定义成一个个过程。提供的自定义过程将功能模块定义成一个个过程。过程是用特定格式组织起来的一组代码,通常用来完成一个过程是用特定格式组织起来的一组代码,通常用来完成一个特定的功能,可以被其它过程作为一个整体来调用。特定的功能,可以被其它过程作为一个整体来调用。VB中自中自定义过程主要有定义过程主要
2、有2种:种:以SUB保留字开始的子程序(自定义过程和事件过程)以Function保留字开始的函数过程第2页,本讲稿共45页 Sub子过程分为:事件过程和通用子过程分为:事件过程和通用Sub过程过程 8.1.1 8.1.1 事件过程事件过程事件过程事件过程 (1)窗体事件的语法窗体事件的语法Private Sub Form_事件名事件名(参数列表参数列表)语句组语句组End SubPrivate Sub Form_Click()End Sub8.1 Sub过程第3页,本讲稿共45页 Sub子过程分为:事件过程和通用过程子过程分为:事件过程和通用过程 7.1.1 7.1.1 事件过程事件过程事件过
3、程事件过程 (2)控件事件过程的语法控件事件过程的语法 Private Sub 控件名控件名_事件名事件名(参数列表参数列表)语句组语句组 End SubPrivate Sub Command1_Click()Dim x As IntegerEnd Sub8.1 Sub过程第4页,本讲稿共45页子过程的定义格式:StaticPublic|Private Sub 子过程名(形参列表)语句组 Exit Sub 语句组End Sub 8.1.2 通用子过程(通用子过程(Sub过程)的定义过程)的定义 Sub add()dim sum as integer sum=1+2 print sumEnd S
4、ubSub过程体第5页,本讲稿共45页2说明说明(1)Sub过程以过程以Sub开头,以开头,以End Sub结束,之间的程序代码是实现结束,之间的程序代码是实现Sub 过程功能的程序语过程功能的程序语句序列。句序列。(2)的命名规则与变量名相同,不允许与系统保留字同名。的命名规则与变量名相同,不允许与系统保留字同名。(3)Static、Private、Public的含义如下:的含义如下:Static:指定本:指定本Sub过程中的局部变量在内存中的默认存储方式。过程中的局部变量在内存中的默认存储方式。Private:指定本:指定本Sub过程是私有(函数)过程,表明它只能被本模块中的过程是私有(函
5、数)过程,表明它只能被本模块中的其它过程所访问,而不能被其它模块中的过程所访问。其它过程所访问,而不能被其它模块中的过程所访问。Public:指定本:指定本Sub过程是公有(过程是公有(Sub)过程,可以被本程序中的任何过程调用。)过程,可以被本程序中的任何过程调用。第6页,本讲稿共45页(4)参数列表:包含了在调用时与主调过程之间需包含了在调用时与主调过程之间需要进行数据传递的变量名或数组名。参数列表的格要进行数据传递的变量名或数组名。参数列表的格式如下:式如下:ByVal|ByRef()As 类型,ByVal|ByRef()As 类型(5)过程的定义不允许出现嵌套定义,即不能在一过程的定义
6、不允许出现嵌套定义,即不能在一个过程体内再定义另一个过程。个过程体内再定义另一个过程。第7页,本讲稿共45页Sub recarea(rlen As Single,rwid As Single)Dim area As Single area=rlen*rwid MsgBox Total area is&areaEnd Sub形参的定义形式:形参的定义形式:ByValByRef 变量名变量名 As 类型类型第8页,本讲稿共45页8.1.3 过程的调用过程的调用 1 1用用用用CallCall语句调用语句调用语句调用语句调用SubSub过程过程过程过程格式:格式:Call 过程名过程名(实际参数列表
7、实际参数列表)例如:例如:例如:例如:Call add()Call add()2 2把过程名作为一个语句来使用把过程名作为一个语句来使用把过程名作为一个语句来使用把过程名作为一个语句来使用 格式:格式:格式:格式:过程名过程名 实际参数列表实际参数列表例如:例如:例如:例如:add add第9页,本讲稿共45页1 1格式:格式:Call 过程名过程名(实际参数列表实际参数列表)2 2 格式:格式:格式:格式:过程名过程名 实际参数列表实际参数列表Private Sub Form_Click()Call recarea(8,4)End SubSub recarea(rlen As Single,
8、rwid As Single)Dim area As Single area=rlen*rwid MsgBox Total area is&areaEnd Subrecarea 8,4第10页,本讲稿共45页8.2 Function过程过程 在在VB中,函数分为内部函数和外部函数。内部中,函数分为内部函数和外部函数。内部函数是系统预先编制的、能完成常用的、特定功函数是系统预先编制的、能完成常用的、特定功能的程序代码,而外部函数是用户根据需要通过能的程序代码,而外部函数是用户根据需要通过Function定义的过程,它的代码就是实现函数功定义的过程,它的代码就是实现函数功能的,并且将得到一个值(函
9、数值)。能的,并且将得到一个值(函数值)。第11页,本讲稿共45页 8.2.1 函数过程(Function过程)的定义Static Public|Private Function 函数名(形参列表)As 类型 Exit Function 函数名=返回值End Function函数体Function fact(x As Integer)As Long Dim p As Long,i As Integer p=1 For i=1 To x p=p*i Next i fact=pEnd Function第12页,本讲稿共45页8.2.2 函数的调用调用格式:调用格式:函数名(实参列表)函数名(实参列
10、表)Private Sub Command2_Click()fact(6)End SubFunction fact(x As Integer)As Long Dim p As Long,i As Integer p=1 For i=1 To x p=p*i Next i fact=pEnd FunctionDim s As Long s=Print s第13页,本讲稿共45页8.3 过程之间参数的传递1、形式参数形式参数 指在定义过程时,出现过程名后面圆括号内的变量。指在定义过程时,出现过程名后面圆括号内的变量。2、实际参数实际参数 指指在在调调用用过过程程时时,写写入入子子过过程程名名或或函
11、函数数名名后后括括号号内内的的参数。参数。3 参数传递(虚实结合)参数传递(虚实结合)指实参数据传递给形参的过程。指实参数据传递给形参的过程。参数的传递有两种方式:按值传递、按地址传递。参数的传递有两种方式:按值传递、按地址传递。形参前加形参前加“ByVal”关键字的是按值传递,缺省或加关键字的是按值传递,缺省或加“ByRef”关键字的为按地址传递。关键字的为按地址传递。第14页,本讲稿共45页传值与传址 传值:形参得到的是实参的值,形参值的改变不会影响实参的值。传址:形参得到的是实参的地址,当形参值的改变同时也改变实参的值。Sub test(ByVal x As Integer)x=x+10
12、End SubPrivate Sub Command1_Click()Dim a As Integer a=2 Print 调用过程前:调用过程前:a=&a Call test(a)Print 调用过程后:调用过程后:a=&aEnd Sub第15页,本讲稿共45页Sub test(ByVal x As Integer)x=x+10End SubPrivate Sub Command1_Click()Dim a As Integer a=2 Print 调用过程前:调用过程前:a=&a Call test(a)Print 调用过程后:调用过程后:a=&aEnd Suba2x2 12传值:形参得到
13、的是实参的值,形参值的改变不会影响实参的值。第16页,本讲稿共45页Sub test(x As Integer)x=x+10End SubPrivate Sub Command1_Click()Dim a As Integer a=2 Print 调用过程前:调用过程前:a=&a Call test(a)Print 调用过程后:调用过程后:a=&aEnd Suba2x12传址:形参得到的是实参的地址,当形参值的改变同时也改变实参的值。(采用按址传递方式时,实参必须是变量或数组)第17页,本讲稿共45页例:例:在窗体上放一个命令按钮在窗体上放一个命令按钮Command1,编写如下代码,编写如下代
14、码,程序运行后,单击命令按钮,输出的结果是?程序运行后,单击命令按钮,输出的结果是?Sub S1(x As Integer,y As Integer)Dim t As Integer t=x :x=y :y=tEnd SubPrivate Sub Command1_Click()Dim a As Integer,b As Integer a=10 :b=30 S1 a,b Print “a=”;a;“b=”;bEnd Suba=10 b=30ByValByVala=30 b=10第18页,本讲稿共45页4 数组作过程的参数 数组作为参数时,通过传地址方式传送。数组作为参数时,通过传地址方式传送
15、。实参列表和形参列表中的数组只能出现数组名和括号。实参列表和形参列表中的数组只能出现数组名和括号。【例】用数组作参数,求一维数组中的所有负元素之和。【例】用数组作参数,求一维数组中的所有负元素之和。Function sum(b()as integer)as integer Dim i%For i=LBound(b)To UBound(b)If b(i)0 Then sum=sum+b(i)End If Next i End Function Private Sub Form_Click()()Dim a%(4),s%,i%For i=0 To 4 a(i)=Int(Rnd*100)-50 Ne
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第八章 过程优秀课件 第八 过程 优秀 课件
限制150内