【vb精品源码栏目提醒】:网学会员,鉴于大家对vb精品源码十分关注,论文会员在此为大家搜集整理了“第6章 过程与函数 - 教育”一文,供大家参考学习!
第6章 过程与函数本章要求: 掌握Sub子程序和Function函数过程的定义和调用方法; 掌握传址和传值两种参数传递方式的区别及其用途; 熟悉数组参数的使用方法; 了解过程的嵌套调用和递归调用的执行过程; 掌握过程作用域的有关概念;掌握变量的作用域和生存期。
本章重点:Sub过程及Function过程的定义与调用。
过程调用中数据的传递。
过程与变量的作用域。
本章难点: 过程调用中数据的传递。
☆☆ 第6章 过程与函数 1 6.1 过程概述 在
VB5.0/6.0中,除了系统提供的内部函数过程和 事件过程外,用户可自定义过程下列四种过程: ▲ “Sub” 保留字开始的为子过程 ▲“Function” 保留字开始的为函数过程 “Property”保留字开始的为属性过程 “Event”保留字开始的事件过程☆☆ 第6章 过程与函数 2 6.2 Sub过程 在
VB中的Sub子过程分为:事件过程和通用过程 6.2.1 事件过程 (1)窗体事件的语法 Private Sub Form_事件名参数列表 <语句组> End Sub (2)控件事件的语法 Private Sub 控件名_事件名参数列表 <语句组> End Sub☆☆ 第6章 过程与函数 3 6.2 Sub过程 6.2.2 通用过程(Sub过程)的定义 子过程的定义形式如下: PublicPrivateStatic Sub 子过程名形参表 <语句组> Exit Sub <语句组> End Sub 说明:(1)子过程名:命名规则与变量名规则相同。
子过程名不返回值,而是通过形参与实参的传递得到结果, 调用时可返回多个值。
☆☆ 第6章 过程与函数 4 6.2 Sub过程 (2)形式参数列表:形式参数通常简称“形参”,仅表示 形参的类型、个数、位置,定义时是无值的,只有在过程被 调用时,虚实参结合后才获得相应的值。
(3)过程可以无形式参数,但括号不能省。
(4)参数的定义形式: ByVal|ByRef变量名 As 类型…, ByVal表示当该过程被调用时,参数是按值传递的;缺省或 ByRef表示当该过程被调用时,参数是按地址传递的。
☆☆ 第6章 过程与函数 5 6.2 Sub过程 例6.1 编一个交换两个整型变量值的子过程。
☆☆ 第6章 过程与函数 6 Private Sub Swap X As Integer Y As Integer Dim temp As Integer TempX : XY : YTemp End Sub Private Sub command1_click Dim ab avalinputbox“a“ bvalinputbox“b“ print “a“a”b“b call swapab print “a“a”b“b End Sub☆☆ 第6章 过程与函数 7 6.2 Sub过程6.2.3 子过程的建立 通过 “工具”菜单中的“添加过程”命令,出现“添加过程”对话框(见图6.1),选择过程类型(子过程、函数、属性、事件)及作用范围(公有的Public、私有的Private),单击确定后得到一个过程或函数定义的结构框架(模板),如:Public Sub Sort ……End Sub☆☆ 第6章 过程与函数 8 6.2 Sub过程 6.2.4 过程的调用 1、子过程的调用 子过程名 参数列表 或 Call 子过程名参数列表 说明: (1)参数列表称为实参或实元,它必须与形参保持个数 相同,位置与类型一一对应。
(2)调用时把实参值传递给对应的形参。
其中值传递 (形参前有ByVal说明)时实参的值不随形参的值变化而改变。
而地址传递时实参的值随形参值的改变而改变。
☆☆ 第6章 过程与函数 9 6.2 Sub过程 (3)当参数是数组时,形参与实参在参数声明时应省略 其维数,但括号不能省。
(4)调用子过程的形式有两种,用Call关键字时,实参 必须加圆括号括起,反之则实参之间用“,”分隔。
例:调用上面定义的Swap子过程的形式: Swap ab Call Swapab☆☆ 第6章 过程与函数 10 6.2 Sub过程 过程调用的执行过程: Private Sub CmdOK Private Sub Swapxy …… Dim temp Call Swapab TempX …… XY Swap ab YTemp End Sub End Sub☆☆ 第6章 过程与函数 11 6.3 Function过程 Visual Basic函数分为内部函数和外部函数,外部函数是用 户根据需要用Function关键字定义的函数过程,与子过程不同 的是函数过程将返回一个值 。
6.3.1 函数过程(Function过程)的定义 PublicPrivateStaticFunction 函数名As 函数名返回值 Exit Function 函数体 函数名返回值 End Function☆☆ 第6章 过程与函数 12 6.3 Function过程说明:(1)函数名:命名规则与变量名规则相同。
(2)在函数体内,函数名可以当变量使用,函数的返回值就是通过对函数名的赋值语句来实现的,在函数过程中至少要对函数名赋值一次。
(3)AS类型:是指函数返回值的类型,若省略,则函数返回变体类型值(Variant)。
(4)Exit Function:表示退出函数过程,常常是与选择结构(If或Select Case语句)联用,即当满足一定条件时,退出函数过程。
(5)形参数列表:形参的定义与子过程完全相同。
例6.2☆☆ 第6章 过程与函数 13例6.2 将第四章4.13判断一个整数是不是素数的程序改写函数过程.如果给定的是素数则返回逻辑值True否则返回False.☆☆ 第6章 过程与函数 14 例:调用上述判定素数的函数.☆☆ 第6章 过程与函数 15 6.3 Function过程 6.3.2 函数的调用 调用形式如下: 函数名(实参列表) 说明: 在调用时实参和形参的数据类型、顺序、个数必须 匹配。
函数调用只能出现在表达式中,其功能是求得函 数的返回值。
☆☆ 第6章 过程与函数 16 问题: 前N个连续自然数的积?☆☆ 第6章 过程与函数 17 例6.3 大于6的偶数可以分为两个素数的和.☆☆ 第6章 过程与函数 18 6.4 过程之间参数的传递 Visual Basic中不同模块(过程)之间数据的传递有两种方式: 通过过程调用实参与形参的结合实现; 使用全局变量来实现各过程中共享数据。
6.4.1 形式参数与实际参数 1、形式参数 是指在定义通用过程时,出现在Sub或Function语句中的 变量名后面园括号内的数,是用来接收传送给子过程的数据, 形参表中的各个变量之间用逗号分隔。
☆☆ 第6章 过程与函数 19 6.4 过程之间参数的传递2、实际参数 实际参数是指在调用Sub或Function过程时,写入子过程名或函数名后括号内的参数,其作用是将它们的数据(数值或地址)传送给Sub或Function过程与其对应的形参变量。
实参可由常量、表达式、有效的变量名、数组名(后加左、右括号,如A )组成,实参表中各参数用逗号分隔。
6.4.2 参数传递(虚实结合) 参数传递指主调过程的实参(调用时已有确定值和内存 地址的参数)传递给被调过程的形参,参数的传递有两种方 式:按值传递、按地址传递。
形参前加“ByVal”关键字的是 按值传递,缺省或加“ByRef”关键字的为按地址传递。
☆☆ 第6章 过程与函数 20