第六章过程 61Sub过程 62 Function过程 63参数传递 64可选参数和可变参数 65对象参数 6.6作用域和生存期 67常用算法举例
第六章 过程 6.1 Sub过程 6.2 Function过程 6.3 参数传递 6.4 可选参数和可变参数 6.5 对象参数 6.6 作用域和生存期 6.7 常用算法举例
VB已提供的过程:内部函数过程、事件过程; 用户可自编过程:Sub子过程、 Function函数过程。 61Sub过程 由用户编写的、能完成一系列操作动作并实现一定功能的独立 程序模块称作自定义Sub过程(子过程)。rom-x 611Sub过程的建立 AAAAA AAAAAAAAA AAAAAAA点点AAAA 引例 AAAAAAA点 AAAAAAAAA vyyvyyyny vnyyyyy 例6-1编程实现如下功能: my Pvv 单击窗体时打印如图6-1所示的图案 点点AAA AAAAAAAAA 子图案1:由5行字母“A”组成正立三角形; 点点点点 AAAAAAA点点 点AAA点 AAAAAAAAAAA 子图案2:由5行字母“V”组成倒立三角形 mmmr yonne myyrhyyy Drawl:打印子图案1 Draw2O:打印子图案2。 AAAAa AAAAAAAAA 也可以将DaW10和DaW20整合成一个带参数的 AAAAAAAAAAAAA AAAAAAAAAAAAAAAAA DraW12(),i=奇数:完成DraW10功能, vvnnnnyvry yrnnnny vny my i=偶数:完成Draw2()功能(见例6-1a)。 图6-1使用Sub过程
VB已提供的过程:内部函数过程、事件过程; 用户可自编过程:Sub子过程、Function函数过程。 6.1 Sub过程 由用户编写的、能完成一系列操作动作并实现一定功能的独立 程序模块称作自定义Sub过程(子过程)。 6.1.1 Sub过程的建立 1. 引例 例6-1 编程实现如下功能: 单击窗体时打印如图6-1所示的图案。 子图案1:由5行字母“A”组成正立三角形; 子图案2:由5行字母“V”组成倒立三角形。 Draw1():打印子图案1 ; Draw2():打印子图案2。 也可以将Draw1()和Draw2()整合成一个带参数的 Draw12(i),i=奇数:完成Draw1()功能, i=偶数:完成Draw2( )功能(见例6-1a)。 图6-1使用Sub过程
2.SUB过程的一般形式 StaticI[ Private] Sub子过程名(参数列表) 局部变量或常数的定义 语句块1 过程首部 /Exit Sub/ 过程体 语句块2 End sub 理解各部分的含义。 612Sub过程的调用 调用Sub过程的一般形式有二: (1)Call子过程名(参数列表 (2)子过程名[参数列表 说明: (1)有Ca11关键字,则提供的参数也有小括号 (2)无Ca11关键字,则提供的参数也无小括号 (3)如果没有参数,则都不加小括号
2. SUB过程的一般形式 [Static][Public|Private] Sub 子过程名( [参数列表] ) 局部变量或常数的定义 语句块1 [Exit Sub] 语句块2 End Sub 理解各部分的含义。 6.1.2 Sub过程的调用 调用Sub过程的一般形式有二: (1) Call 子过程名([参数列表]) (2) 子过程名 [参数列表] 说明: (1) 有Call关键字,则提供的参数也有小括号; (2) 无Call关键字,则提供的参数也无小括号。 (3) 如果没有参数,则都不加小括号。 过程首部 过程体
62 Function过程 例6-2求s=1!+2!+3!+4!+5!+6!的值,并打印结果。 【分析】可以编写一个函数过程专门计算阶乘;这个求阶乘的函数 过程在此我们取名为Faco 定义函数过程 调用函数过程: Private Function Fac(n%)As Long Private Sub Form ClickO Dim i%. Result# Dim m%. Sum # Result= 1 S uI= For i=1 o n For m=1 To 5 Result result s i Sum= Sum Fac(m) Next i Next m Fac Result Print"1!+2!+.+5!=";Sum End function End sub
6.2 Function过程 例6-2 求s=1!+2!+3!+4!+5!+6!的值,并打印结果。 【分析】可以编写一个函数过程专门计算阶乘;这个求阶乘的函数 过程在此我们取名为Fac。 定义函数过程 Private Function Fac(n%) As Long Dim i%, Result# Result = 1 For i = 1 To n Result = Result * i Next i Fac = Result End Function 调用函数过程: Private Sub Form_Click() Dim m%, Sum # Sum = 0 For m= 1 To 5 Sum = Sum + Fac(m) Next m Print"1!+2!+…+5!="; Sum End Sub
621 Function过程的定义 函数过程的一般格式如下: Static[Public Private] function函数名(参数列表)As类型|气 局部变量或常数的定义 语句块1 函数首部 /Exit Function 函数体 语句块2 函数名=返回值 End function 函数名命名规则同变量名 函数首部末尾的|AS类型是指函数名的类型,也就是返回值的类型 函数名=返回值:必须在函数体内至少对函数名赋值一次 Exit Function]:表示退出函数过程
6.2.1 Function过程的定义 函数过程的一般格式如下: [Static][Public|Private] Function 函数名( [参数列表]) [AS 类型] 局部变量或常数的定义 语句块1 [Exit Function ] 语句块2 函数名=返回值 End Function 函数名命名规则同变量名。 函数首部末尾的[AS 类型] 是指函数名的类型,也就是返回值的类型 函数名 = 返回值:必须在函数体内至少对函数名赋值一次。 [Exit Function] :表示退出函数过程。 函数首部 函数体