1.5.4变量的作用域 返回首页 Visual basic应用程序是由三种类型的模块组成,即窗体模块 返回章首 (Form)、标准模块( Module)和类模块(Clas),而各个模垬则是由 个声明和过程组成。窗体模块中包括事件过程( Event procedure 通用过程( General procedure)和声明部分;而标准模块由通用过程 和声明部分组成。 变量的作用域就是指变量的有效范围,它决定了应用程序中哪 些过程可以访问该变量。 在 isual basic中,根据变量的作用域不同,变量可以分为过程 级变量、模块级变量和全局级变量。作用域为某一过程的变量称为 过程级变量;作用域为某一模块的变量称为模块级变量,作用域所 有模块的变量为全局级变量。 上一页 下一页
上一页 下一页 返回首页 1.5.4 变量的作用域 Visual Basic应用程序是由三种类型的模块组成,即窗体模块 (Form)、标准模块(Module)和类模块(Class),而各个模块则是由一个 个声明和过程组成。窗体模块中包括事件过程(Event Procedure)、 通用过程(General Procedure)和声明部分;而标准模块由通用过程 和声明部分组成。 变量的作用域就是指变量的有效范围,它决定了应用程序中哪 些过程可以访问该变量。 在Visual Basic中,根据变量的作用域不同,变量可以分为过程 级变量、模块级变量和全局级变量。作用域为某一过程的变量称为 过程级变量;作用域为某一模块的变量称为模块级变量,作用域所 有模块的变量为全局级变量。 返回章首
1.5.4变量的作用域 返回首页 1.过程级变量 返回章首 在某一过程(事件过程或通用过程)内使用Dm语句声明的变量、在 过程内未显式声明而直接使用的变量以及在过程内用 Static声明的变 量都是过程级变量,其作用域只局限于该过程,有时也称为局部变 量 过程级变量只能被所定义的过程使用,不能被其它过程访问,如果 其它过程中有同名的局部变量,也与本过程中的局部变量无关。过 程中的局部变量在过程被调用时建立,过程返回时自动释放,因此 在定义变量时。过程中的局部变量通常用来存放中间结果或用做临 时变量 2.模块级变量 在某一模块(窗体模块或标准模块)内使用 Private语句或Dim语句声 明的变量都是模块级变量,其作用域只限于该模块,只能被该模块 中的所有过程调用,其它模块中的任何过程都不能调用。 上一页 下一页
上一页 下一页 返回首页 1.5.4 变量的作用域 1.过程级变量 在某一过程(事件过程或通用过程)内使用Dim语句声明的变量、在 过程内未显式声明而直接使用的变量以及在过程内用Static声明的变 量都是过程级变量,其作用域只局限于该过程,有时也称为局部变 量。 过程级变量只能被所定义的过程使用,不能被其它过程访问,如果 其它过程中有同名的局部变量,也与本过程中的局部变量无关。过 程中的局部变量在过程被调用时建立,过程返回时自动释放,因此 在定义变量时。过程中的局部变量通常用来存放中间结果或用做临 时变量。 2.模块级变量 在某一模块(窗体模块或标准模块)内使用Private语句或Dim语句声 明的变量都是模块级变量,其作用域只限于该模块,只能被该模块 中的所有过程调用,其它模块中的任何过程都不能调用。 返回章首
1.5.4变量的作用域 返回首页 要在窗体模块中定义一个模块级变量,其方法是在该窗体模块通丛凹章首 用声明段用 Private语句或Dm语句进行声明,具体操作过程是:选择 个窗体(如Form1),进入该窗体的代码窗口,在“对象”下拉列 表框中选择“通用”,并在“事件”下拉列表框中选择“声明 然后就可以在代码窗口中用 Private语句或Dm语句进行声明,所声 的变量只能被该窗体(Form1)中的所有过程访问 要在标准模块中定义一个模块级变量,其方法是在该标准模块的通 用声明段用 Private语句或Dim语句进行声明,具体操作过程是:选择 个标准模块(如 Module l),进入该标准模块的代码窗口,在“事 件”下拉列表框中选择“声明”,然后就可以在代码窗口中用 Private语句或Dim语句进行声明,所声明的变量只能被该标准模块 ( Modulel)中的所有过程访问。 上一页 下一页
上一页 下一页 返回首页 1.5.4 变量的作用域 要在窗体模块中定义一个模块级变量,其方法是在该窗体模块的通 用声明段用Private语句或Dim语句进行声明,具体操作过程是:选择 一个窗体(如Form1),进入该窗体的代码窗口,在“对象”下拉列 表框中选择“通用” ,并在“事件” 下拉列表框中选择“声明” , 然后就可以在代码窗口中用Private语句或Dim语句进行声明,所声明 的变量只能被该窗体(Form1)中的所有过程访问。 要在标准模块中定义一个模块级变量,其方法是在该标准模块的通 用声明段用Private语句或Dim语句进行声明,具体操作过程是:选择 一个标准模块(如Module1),进入该标准模块的代码窗口,在“事 件” 下拉列表框中选择“声明”,然后就可以在代码窗口中用 Private语句或Dim语句进行声明,所声明的变量只能被该标准模块 (Module1)中的所有过程访问。 返回章首
1.5.4变量的作用域 返回首页 3.全局级变量 返回章首 全局级变量也称全局变量,其作用域最大,可以在工程的所有模块 的所有过程中调用,定义时要在变量名前冠以 Public。全局变量一般 在标准模块的声明部分定义,也可以在窗体模块的通用声明段定义。 要在标准模块中定义一个全局变量,其方法与在标准模块中定义 个模块级变量相同,只是定乂时必须在变量名前冠以 Public,不能使 用Dim和 Private。在标准模块中定义一个全局变量时,关键词 Public 可以缺省 要在窗体模块中定义一个全局变量,其方法与在窗体模块中定义 个模块级变量相同,只是定义时必须在变量名前冠以 Public,不能使 用Dim和 Private。在窗体模块中定义一个全局变量时,关键词 Public 不能省略 在过程中不能定义全局变量 上一页 下一页
上一页 下一页 返回首页 1.5.4 变量的作用域 3.全局级变量 全局级变量也称全局变量,其作用域最大,可以在工程的所有模块 的所有过程中调用,定义时要在变量名前冠以Public。全局变量一般 在标准模块的声明部分定义,也可以在窗体模块的通用声明段定义。 要在标准模块中定义一个全局变量,其方法与在标准模块中定义一 个模块级变量相同,只是定义时必须在变量名前冠以Public,不能使 用Dim和Private。在标准模块中定义一个全局变量时,关键词Public 可以缺省。 要在窗体模块中定义一个全局变量,其方法与在窗体模块中定义一 个模块级变量相同,只是定义时必须在变量名前冠以Public,不能使 用Dim和Private。在窗体模块中定义一个全局变量时,关键词Public 不能省略。 在过程中不能定义全局变量。 返回章首
1.5.4变量的作用域 返回首页 三种变量的作用域及访问规则见表1.1 返回章首 表1.1变量的作用域及访问规则 名 称 声明位置 声明方式 作用域 能否被本模块中 能否被应用程序中 其它过程访问 其它模块访问 过程级 声明该变量 变 量 过程中 的过程 窗体模块的通 用声明部分 Dim或 Private 声明该变量 的窗体模块 能 变 标准模块的通 用声明部分 Dim或 Private 声明该变量 的标准模块 能 窗体模块的通 Public 整个应用程 能 能,但在过程名前要 用声明部分 加窗体名 局级 标准模块的 (可以缺省 整个应用程 能,但过程名要 用声明部分 否则须在过程名前加 标准模块名 上一页 下一页
上一页 下一页 返回首页 1.5.4 变量的作用域 名 称 声明位置 声明方式 作用域 能否被本模块中 其它过程访问 能否被应用程序中 其它模块访问 过程级 变 量 过程中 Dim或Static 声明该变量 的过程 否 否 模块级 变 量 窗体模块的通 用声明部分 Dim或Private 声明该变量 的窗体模块 能 否 标准模块的通 用声明部分 Dim或Private 声明该变量 的标准模块 能 否 全局级 变 量 窗体模块的通 用声明部分 Public 整个应用程 序 能 能,但在过程名前要 加窗体名 标准模块的通 用声明部分 Public (可以缺省 ) 整个应用程 序 能 能,但过程名要唯一, 否则须在过程名前加 标准模块名 三种变量的作用域及访问规则见表1.1。 表 1.1 变量的作用域及访问规则 返回章首