vb过程和变量的作用域.ppt
文本预览下载声明
* * 本节内容: 1、变量和过程的作用域 2、多窗体程序设计 一个稍大的VB应用程序(也就是工程)通常包含窗体模块、标准模块和类模块组成。VB程序代码就保存在窗体模块文件(*.Frm)、标准模块文件(*.Bas)或类模块文件(*.Cls)中。它们形成了工程的一种模块层次结构,如下图所示。 过程和变量的作用域 概 述 应用程序 工程文件(.vbp) 窗体模块 (.frm)文件 类模块 (.cls)文件 标准模块 (.bas)文件 Function过程 Sub过程 事件过程 Function过程 Sub过程 一个应用程序的组成结构 窗体模块 处理事件的过程 (Form_Load()、Command_Click()等) 通用过程(Function过程、 Sub过程) 通用声明(变量、常量、类型等) 标准模块 如何创建?使用 “工程/添加模块”命令 可包含全局的或模块级的常量、变量、通用过程,但不能包含事件过程 不对应于某个窗体,可供同一工程的多个窗体调用 类是用来创建对象实例的模板 类模块 在类模块中编写代码建立新对象 缺省的设置为全局的 23 不同模块间如何实现代码的调用? 模块间如何实现变量值的共享? 过程的作用域 #模块级过程: 在Sub过程或Function过程前加Private关键字 #全局过程: 在Sub过程或Function过程前加Public关键字,或是关键字缺省 24 过程的作用域及过程定义、调用规则 【例】:某工程有两个窗体Form1和Form2,每个窗体各有两个命令按钮 窗体模块Form1: Public Sub aa MsgBox (这是窗体Form1中的过程) End Sub Private Sub Command1_Click() Call aa End Sub Private Sub Command2_Click() Form2.Show End Sub 可以省略 在本窗体模块中调用过程aa Public能被本应用程序中其它模块调用,过程名必须唯一 窗体模块Form2: Private Sub Command1_Click() Call Form1.aa End Sub Private Sub Command2_Click() Call Module1.bb End Sub 标准模块Module1 Public Sub bb() MsgBox (这是标准模块中的过程bb) End Sub 调用其它窗体模块代码,必须有窗体名Form1 标准模块名唯一则可以省略 27 变量的作用域 1、概述: 在VB中,由于可以在过程中和模块中声明变量,根据定义变量的位置和定义变量的语句不同,变量可以分为: 局部变量(过程级变量) 窗体/模块级变量(私有的模块级变量,能被本模块的所有过程和函数使用) 全局级变量(公有的模块级变量)。 3种变量声明及使用规则如下表: Sub S() X = 1 ′局部变量 Y = 2 Z = X + Y Print X, Y, Z End Sub Private Sub Command1_Click() X = 2 ′局部变量 Y = 3 Z = X + Y Call S Print X, Y, Z End Sub 单击Command1运行结果 1 2 3 2 3 5 Dim Z As Integer ′窗体级变量 Sub S() Z = Z + 2 Print Z End Sub Private Sub Command1_Click() Z = Z + 2 Call S Print Z End Sub 第一次单击Command1 4 4 第二次单击Command1 8 8 第三次单击Command1 12 12 Dim Z As Integer ′窗体级变量 Sub S() Dim Z As Integer ′局部变量 Z = Z + 2 Print Z End Sub Private Sub Command1_Click() Z = Z + 2 Call S Print Z End Sub 第一次单击Command1 2 2 第二次单击Command1 2 4 第三次单击Command1 2 6 一、公用变量与局部变量同名
显示全部