过程和变量的作用域.ppt
《过程和变量的作用域.ppt》由会员分享,可在线阅读,更多相关《过程和变量的作用域.ppt(31页珍藏版)》请在三一办公上搜索。
1、理解多窗体及多模块应用程序各过程与变量的关系理解通过全局变量实现各过程之间数据的传递;掌握多模块中过程的作用域和调用关系掌握变量作用域及生存周期;,本章要求:,第七章 过程和变量的作用域,本章重点:,本章难点:,多模块应用程序各过程与变量的关系、变量和过程和作用域。,多模块应用程序各过程与变量的关系,在第二章我们介绍了VB应用程序(通常称为工程)的组织结构,它由窗体模块、标准模块和类模块组成。VB程序代码就保存在窗体模块文件(.Frm)、标准模块文件(.Bas)或类模块文件(.Cls)中。它们形成了工程的一种模块层次结构,如下图所示。,7.1 概 述,7.1.1 窗体模块(文件扩展名为.FRM
2、)窗体模块。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的;它也可以引用该应用程序内的其它窗体或对象。,7.1 概 述,7.1.2 标准模块(文件扩展名为BAS)它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上,则在许多不同的应用程序中可以重用标准模块。,7.1 概 述,7.1.3 类模块(文件扩展名为.CLS)在 Visual
3、 Basic 中类模块是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口。,7.1 概 述,7.2 过程的作用域,Public|Private Sub 子过程名(形式参数列表).End Sub,概念,通用子过程和函数过程既可写在窗体模块中也可写在标准模块中,在定义时可选用关键字Private(局部)和Public(全局),来决定它们能被调用的范围。,1、窗体/模块级过程:加Private关键字的过程,只能被定义的窗体或模 块中的过程调用。2、全局级过程:加Public关键字(或缺省)的过程
4、,可供该应用程序的所有窗体和所有标准模块中的过程调用。,按过程的作用范围来划分,过程可分为:模块级过程 全局级过程,用例7.1来说明过程的作用域,7.2 过程的作用域,总结归纳过程的定义及作用域如下表(教材Pg.163),几点说明:(教材Pg.164),7.2 过程的作用域,7.3 变量的作用域,概述:,在VB中,由于可以在过程中和模块中声明变量,根据定义变量的位置和定义变量的语句不同,变量可以分为:局部变量(过程级变量)窗体/模块级变量(私有的模块级变量,能被本模块的所有过程和函数使用)全局级变量(公有的模块级变量)。,7.3.1 过程级变量局部变量,局部变量:在过程内用声明的变量,只能在本
5、过程中使用。,在过程内部使用 Dim 或者 Static 关键字来声明的变量,只在声明它们的过程中才能被访问或改变该变量的值,别的过程不可访问。所以可以在不同的过程中声明相同名字的局部变量而互不影响。,7.3 变量的作用域,例:Private Sub Form_Load()Dim n%n=10End SubPrivate Sub From_Click()Dim n%Print“n=“;nEnd Sub,程序运行后单击窗体,其输出结果是什么?,7.3 变量的作用域,7.3.2 窗体/模块级变量,窗体/模块级变量:在“通用声明”段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任
6、何过程访问。但其他模块却不能访问该变量。例如:在“通用声明”段声明如下变量:Private s As StringDim a As Integer,7.3 变量的作用域,例:Dim n%Private Sub Form_Load()n=10End SubPrivate Sub From_Click()Print“n=“;nEnd Sub,7.3.3 全局变量,全局变量也称公有的模块级变量,在窗体模块或标准模块的顶部的“通用”声明段用Public关键字声明,它的作用范围是整个应用程序,即可被本应用程序的任何过程或函数访问。例如:Public a As Integer,b As single,7.
7、3 变量的作用域,3种变量声明及使用规则如下表:,7.3 变量的作用域,一、公用变量与局部变量同名 在不同过程中定义同名变量,它们互不影响,但若在一过程中定义使用了与全局变量同名的变量,则就应注意。,7.3.4 关于多个变量同名,注意:在过程中,如果定义了与模块级变量(在通用部分使用Private或Dim声明的变量),则在该过程内不能引用同名的模块级变量。例如:,7.3 变量的作用域,Public Temp As Integer 定义全局变量Private Sub Form_Load()Temp=1 将全局变量Temp 的值设置成 1End SubPrivate Sub Command1_Cl
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 过程 变量 作用
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6611215.html