第八章过程
第八章 过程
本章主要内容 r!过程、函数的定义和使用 !参数的传递 r!变量的作用域
过程、函数的定义和使用 参数的传递 变量的作用域 本章主要内容
81过程的定义与调用 >在程序设计中,为将复杂问题简单化,便于代码 的调试与维护,提高代码的利用率,往往将应用 按功能或其他目的划分为若干个模块,而每个模 块还可继续细分为子模块。这此模块或子模块, 都是可重复使用的、独立的过程。 VB中常用的两种过程: 系统提供的内部函数和事件过程; 用户根据应用需要而设计的过程
8.1 过程的定义与调用 ➢ 在程序设计中,为将复杂问题简单化,便于代码 的调试与维护,提高代码的利用率,往往将应用 按功能或其他目的划分为若干个模块,而每个模 块还可继续细分为子模块。这此模块或子模块, 都是可重复使用的、独立的过程。 ➢ VB中常用的两种过程: ▪ 系统提供的内部函数和事件过程; ▪ 用户根据应用需要而设计的过程
81.1sub子过程的定义与调用 Sub子过程定义的一般格式 Static] [Private [Public]sub过程名(形参列表) 语句块 [Exit Sub 语句块 End sub >参数与参数之间用“,”分隔
8.1.1 Sub子过程的定义与调用 ➢ Sub子过程定义的一般格式 [Static][Private][Public] Sub 过程名(形参列表) 语句块 [Exit Sub] 语句块 End Sub ➢ 参数与参数之间用“ , ”分隔
说明: Statio静态过程。过程中定义的局部变量均 为静态变量,即程序退出过程时,局部变量的 值仍保留并作为下次调用的初值。 Private私有过程。只能在本模块中调用,不 能被其它模块调用 卩υbics公有过程。能被程序中的所有模块调 用 Exit sub:在过程中终止过程的运行 > End sub:过程结束标志
说明: ➢ Static: 静态过程。过程中定义的局部变量均 为静态变量,即程序退出过程时,局部变量的 值仍保留并作为下次调用的初值。 ➢ Private: 私有过程。只能在本模块中调用,不 能被其它模块调用。 ➢ Public: 公有过程。能被程序中的所有模块调 用。 ➢ Exit Sub : 在过程中终止过程的运行。 ➢ End Sub : 过程结束标志
>过程的调用方法 n方法一:ca过程名【(实参列表刀 方法二:过程名[实参列表] 过程的形参与实参 形参(形式参数):是用于接收过程中要使用 的数据的变量。 ■实参(实际参数):是传给Sub过程的、有确 定值的变量或常数。实参与形参类型应尽
➢ 过程的调用方法 ▪ 方法一:Call 过程名 [(实参列表)] ▪ 方法二:过程名 [实参列表] ➢ 过程的形参与实参 ▪ 形参(形式参数):是用于接收过程中要使用 的数据的变量。 ▪ 实参(实际参数):是传给Sub过程的、有确 定值的变量或常数。实参与形参类型应尽量一 致
例8-0无参数静态过程 Private Sub Command1_ Click() Call test或 call test()或test 三 nd sub Static sub test()过程中均为静态变量 Dim a (2) As Integer a(0)=a(0)+1 a(1)=a(1)+1 Print aoB a(1) 三 nd sub
例8-0 无参数静态过程 Private Sub Command1_Click( ) Call test ‘或 Call test ( ) 或 test End Sub Static Sub test( ) ‘过程中均为静态变量 Dim a(2) As Integer a(0) = a(0) + 1 a(1) = a(1) + 1 Print a(0); a(1) End Sub
例8-1求n Private Sub Command1_click( Call N(al (Text1. Text)) 三 nd sub 实参 Public Sub N(a As Integer) Dim i As Integer Dim f As Long f=1 Fo1=17oa形式参数及类型 f〓f*i Next i Form1. Label3 Caption Str(f) 三 nd sub
➢ 例8-1 求n! Private Sub Command1_Click() Call N(Val(Text1.Text)) End Sub Public Sub N(a As Integer) Dim i As Integer Dim f As Long f = 1 For i = 1 To a f = f * i Next i Form1.Label3.Caption = Str(f) End Sub 形式参数及类型 实参
例8-2求矩形面积 实参 Private Sub Command1_click Call AREA(Val(Text1. Text), Val(Text2 Text) End sub Public Sub AREA(A As Single, b As Single) Dim sum As double sumEA* b Labe3 Caption=“求得的面积为:"&sum End sub 形式参数及类型
➢例8-2 求矩形面积 Private Sub Command1_Click() Call AREA(Val(Text1.Text), Val(Text2.Text)) End Sub Public Sub AREA(A As Single, b As Single) Dim sum As Double sum = A * b Label3.Caption = "求得的面积为:" & sum End Sub 形式参数及类型 实参
81.2 Function函数过程的定义与调用 >子过程没有返回值,而函数过程有返回值。 Function过程定义的一般格式 Static] PrivatellPublic] Function函数名(参数列表)[As类型 语句块 [Exit Function 语句块[给函数名赋返回值] 三 nd Function
8.1.2 Function函数过程的定义与调用 ➢ 子过程没有返回值,而函数过程有返回值。 ➢ Function 过程定义的一般格式 [Static][Private][Public] Function 函数名(参数列表) [As 类型] 语句块 [Exit Function] 语句块 [给函数名赋返回值] End Function