第8章过程 过程是用来执行一个特定任务的一段程序代码 VB应用程序(又称工程或项目)由若干过程组成,这 些过程保存在文件中,每个文件的内容通常称为一个 模块。 在程序设计过程中,将一些常用的功能编写成过 程,可供多个不同的事件过程多次调用,从而可以减 少重复编写代码的工作量,实现代码重用,使程序简 练、便于调试和维护。在vB60中,用户自定义过程分 为:以“Sub"保留字开始的子过程、以“ Function"保 留字开始的函数过程、以“ Property保留字开始的属 性过程、以“ Event"保留字开始的事件过程。 本章主要介绍用户自定义的子过程和函数过程。 请单属标左键换页 退出
第8章 过程 过程是用来执行一个特定任务的一段程序代码。 VB应用程序(又称工程或项目)由若干过程组成,这 些过程保存在文件中,每个文件的内容通常称为一个 模块。 在程序设计过程中,将一些常用的功能编写成过 程,可供多个不同的事件过程多次调用,从而可以减 少重复编写代码的工作量,实现代码重用,使程序简 练、便于调试和维护。在VB6.0中,用户自定义过程分 为:以“Sub”保留字开始的子过程、以“Function”保 留字开始的函数过程、以“Property”保留字开始的属 性过程、以“Event”保留字开始的事件过程。 本章主要介绍用户自定义的子过程和函数过程。 退出
8,1子过程 8.2函数过程 8.3参数传递 8.4过程与变量的作用域 8.5鼠标喜件和键盘享件 请单属标左键换页
8.1 子过程 8.2 函数过程 8.3 参数传递 8.4 过程与变量的作用域 8.5 鼠标事件和键盘事件
8,1子过程 子过程是用特定格式组织起来的一组代码,通常 用来完成一个特定的功能,可以被其它过程作为一个 整体来调用。 811子过程的定义 定义子过程有以下两种方法。 1.利用“工具”菜单下的“添加过程”命令定义 请单属标左键换页
8.1 子过程 子过程是用特定格式组织起来的一组代码,通常 用来完成一个特定的功能,可以被其它过程作为一个 整体来调用。 8.1.1 子过程的定义 定义子过程有以下两种方法。 1.利用“工具”菜单下的“添加过程”命令定义
2.利用代码窗口直接定义 在窗体或标准模块的代码窗口把插入点放在所有 现有过程之外,键入Sub子过程名即可。定义一般形式 如下: Static][Public| Private]Sub子过程名[(参数列表)] [局部变量或常数定义] [语句序列 [Exit Subl [语句序列] End sub 下面是一个子过程的例子: Sub sum (x%, y%, s%) s=x+y End sub 请单属标左键换页
2.利用代码窗口直接定义 在窗体或标准模块的代码窗口把插入点放在所有 现有过程之外,键入Sub子过程名即可。定义一般形式 如下: [Static][Public|Private]Sub 子过程名[(参数列表)] [局部变量或常数定义] [语句序列] [Exit Sub] [语句序列] End Sub 下面是一个子过程的例子: Sub sum(x%,y%,s%) s = x + y End Sub
812过程的调用 要执行一个过程,必须调用该过程。 子过程的调用有两种方式,一种是利用Ca语句加 以调用,另一种是把过程名作为一个语句来直接调用。 1.用Ca语句调用Sub过程 格式:ca!过程名[(参数列表)] 例如: Call sun(a,b,c) 把过程名作为一个语句来使用 格式:过程名[参数列表] 与第一种调用方法相比,这种调用方式省略了关 键字Ca,去掉了“参数列表”的括号 例如:suma,b,c 请单属标左键换页
8.1.2 过程的调用 要执行一个过程,必须调用该过程。 子过程的调用有两种方式,一种是利用Call语句加 以调用,另一种是把过程名作为一个语句来直接调用。 1.用Call语句调用Sub过程 格式:Call 过程名[(参数列表)] 例如: Call sum(a,b,c) 2.把过程名作为一个语句来使用 格式: 过程名[参数列表] 与第一种调用方法相比,这种调用方式省略了关 键字Call,去掉了“参数列表”的括号。 例如: sum a,b,c
【例82】编一个求n!的子过程,然后调用它计算7! 11!-10! 程序如下: Sub jch (n%, p&) Dim 1% p=1 For i= 1 To n p=p=i Next i End sub 请单属标左键换页
【例8.2】编一个求n!的子过程,然后调用它计算7! +11!-10!。 程序如下: Sub jch(n%,p&) Dim i% p = 1 For i = 1 To n p = p * i Next i End Sub
Private Sub Form Click () Dim a&, b&, c&, d& Call ich (7, a) Call jch(11, b) Call jch (10,c) ds a+b-c Print"7!+11!-10!=";d End sub 请单属标左键换页
Private Sub Form_Click() Dim a&,b&,c&,d& Call jch(7,a) Call jch(11,b) Call jch(10,c) d = a + b-c Print "7!+11!-10!=";d End Sub
8,2数过程 函数过程是自定义过程的另一种形式。VB提供了 许多内部函数,如sin(),Sqr()等,在编写程序时, 只需写出函数名和相应的参数,就可得到函数值。另 外,VB还允许用户自己定义函数过程。同内部函数 样,函数过程也有一个返回值 821函数的定义 函数过程的定义方法也有以下两种。 1.利用“工具”菜单下的“添加过程”命令定义 请单属标左键换页
8.2 函数过程 函数过程是自定义过程的另一种形式。VB提供了 许多内部函数,如Sin(),Sqr()等,在编写程序时, 只需写出函数名和相应的参数,就可得到函数值。另 外,VB还允许用户自己定义函数过程。同内部函数一 样,函数过程也有一个返回值。 8.2.1 函数的定义 函数过程的定义方法也有以下两种。 1.利用“工具”菜单下的“添加过程”命令定义
利用代码窗口直接定义 在窗体或标准模块的代码窗口把插入点放在所有 现有过程之外,键入 Function函数名即可。定义形式如 Static][Pub|c| Private] Function函数名(参数列 表])[As类型] [局部变量或常数定义] [语句序列] [Exit Function] [语句序列] 函数名=表达式 End function 请单属标左键换页
2.利用代码窗口直接定义 在窗体或标准模块的代码窗口把插入点放在所有 现有过程之外,键入Function函数名即可。定义形式如 下: [Static][Public|Private] Function 函数名([参数列 表])[As类型] [局部变量或常数定义] [语句序列] [Exit Function] [语句序列] 函数名=表达式 End Function
822函数的调用 调用函数过程可以由函数名带回一个值给调用程 序,被调用的函数必须作为表达式或表达式中的一部 分,再与其它的语法成分一起配合使用。因此,与子 过程的调用方式不同,函数不能作为单独的语句加以 调用 最简单的情况就是在赋值语句中调用函数过程, 其形式为: 变量名=函数过程名([参数列表]) 请单属标左键换页
8.2.2 函数的调用 调用函数过程可以由函数名带回一个值给调用程 序,被调用的函数必须作为表达式或表达式中的一部 分,再与其它的语法成分一起配合使用。因此,与子 过程的调用方式不同,函数不能作为单独的语句加以 调用。 最简单的情况就是在赋值语句中调用函数过程, 其形式为: 变量名=函数过程名([参数列表])