温州医学院vb第4章.ppt
文本预览下载声明
第4章 函数与过程 4.1 过程的编写与调用 4.2 参数传递 4.3 多模块程序设计 4.4 小 结 掌握函数过程、子过程的编写与调用及按值传递与按地址传递的规则。 掌握标准模块的使用 掌握过程、变量的作用域。 4.1 过程的编写与调用 在VB6.0中,除了系统提供的内部函数过程和事件过程外,用户可自定义下列过程: ▲ “Function”保留字开始的为函数过程 ▲ “Sub”保留字开始的为子过程 例4-1 自定义函数应用引例。 (一)子过程及函数过程的编写形式 [Static][Public|Private]Sub 子过程名[(参数列表)] 局部变量或常数定义 语句 End Sub [Static][Public|Private]Function 函数过程名([参数列表]) [As 类型] 局部变量或常数定义 语句 函数名 = 返回值 End Function (二) 过程的调用 1 子过程的调用: 子过程名 [参数列表] 或 Call 子过程名(参数列表) 2 函数过程的调用: 变量名 = 函数过程名([参数列表]) 参数列表称为实参或实元,它必须与形参保持个数相同,位置与类型一一对应。 4.2 参数传递 指主调过程的实参传递给被调过程的形参。 1. 按值传递与按地址传递 按值传递: 形参得到的是实参的值,形参值的改变不会影响实参的值。 按地址传递: 形参得到的是实参的地址,当形参值的改变同时也改变实参的值。 Sub Swap1(ByVal x%, ByVal y%) t% = x: x = y: y = t End Sub Sub Swap2(x%, y%) t% = x: x = y: y = t End Sub 例:单击Command1后的运行结果 Sub SS(ByVal X%, ByRef Y%, Z%)X = X + 1Y = Y + 1Z = Z + 1End SubPrivate Sub Command1_Click()Dim A%, B%, C% A = 1B = 2C = 3Call SS(A, B, C)Print A; B; CEnd Sub 标准模块 标准模块中保存的过程都是通用过程。 1.创建标准模块 2.跨模块调用 在标准模块中,用关键字Public修饰的通用过程,可以被工程中所有模块调用。 作用域:变量、过程可被访问的范围。它随所处的位置不同而不同。 (一) 过程的作用域 ——过程可被访问,起作用的范围 窗体/模块级:加 Private 关键字的过程,只能被定义的窗体或模块中的过程调用。 全局级:加 Public 关键字(或缺省)的过程,可供该应用程序的所有窗体和所有标准模块中的过程调用。 2种过程的定义级作用域 (二)变量的作用域 在VB中,根据定义变量的位置和定义变量的语句不同,变量可以分为: 局部量(过程级变量,只能在本过程中使用) 在过程内用dim或static声明 模块级量(私有的模块级变量,能被本模块的所有过程和函数使用) 在“通用”“声明”段中用Dim或Private语句声明变量 例4-11 编程,统计单击窗体的次数 全局量(公有的模块级变量,即可被本应用程序的任何过程或函数访问。)。 在“通用”“声明”段用Public关键字声明 3种变量声明及使用规则 若在不同级声明相同的变量名,系统按 局部→窗体/模块→全局次序访问 Public Temp As integer 全局量 Sub Form_Load() Dim Temp As Integer 局部量 Temp=10 访问局部量 Form1.Temp=20 访问全局变量必须 加窗体名 Print Form1.Temp, Temp End Sub (三) 静态变量 局部变量声明: 1.动态变量 Dim声明:随过程的调用而分配存贮单元,变量的初始化;过程体结束,变量的内容自动消失,存贮单元释放。 2.静态变量 Static声明,每次调用过程,变量保持上次调用结束时的值。 Private Sub Form_Click() Dim i% ,x% For i = 1 To 5
显示全部