第8章变量作用范围.docVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第8章变量作用范围

第8章 变量与过程的作用范围 8.1 代码模块的概念 VB应用程序的组成 8.1.1 窗体模块 由于 Visual Basic 应用程序是基于对象的,所以应用程序的代码结构就是该程序在屏幕上物理表示的模型。根据定义,对象包含数据和代码。在屏幕上看到的窗体代表属性,这些属性定义了窗体的外观和内在特性。应用程序中的每个窗体都有一个包含其代码的相关的窗体模块(文件扩展名为 .FRM)。 每个窗体模块都包含: ⑴事件过程,即代码部分,其中有为响应特定事件而执行的指令; ⑵控件。在窗体模块中,对窗体上的每个控件都有一个对应的事件过程集; ⑶窗体模块还可包含通用过程,它对来自任何事件过程的调用都作出响应。 用户可以通过“工程”菜单上的“添加窗体”或工具条上的添加窗体按钮来创建一个新的窗体,或把一个属于其它工程的窗体添加到当前工程中. 8.1.2 标准模块 标准模块(具有 .bas 文件扩展名)可以包含类型、常数、变量、外部过程和公共过程的公共的或模块级的声明。 可将那些与特定窗体或控件无关的代码放入另一类型的模块— 标准模块(文件扩展名为 .BAS )中。一个过程可能用来响应几个不同对象中的事件,应该将这个过程放在标准模块中,而不应在每一个对象的事件过程中重复相同的代码。 添加标准模块的步骤: 工程菜单→添加模块→打开添加模块对话框→选择新建选项卡→ 双击模块图标(单击打开按钮)→在属性窗口给标准模块命名(Name)→在标准模块的代码窗口中编写代码。 8.1.3 类模块 类模块(具有 .cls 文件扩展名)与窗体模块类似,只是没有可见的用户界面。可以使用类模块创建含有方法和属性代码的自己的对象。 用类模块(文件扩展名为 .CLS )创建对象,这些对象可被应用程序内的过程调用。标准模块只包含代码,而类模块既包含代码又包含数据,可视为没有物理表示的控件。 8.2 变量的作用范围 变量的作用范围确定了能够知晓该变量存在的那部分代码,即变量的作用空间。在一个过程内部声明变量时,只有过程内部的代码才能访问或改变那个变量的值;它有一个范围,对该过程来说是局部的。但是,有时需要使用具有更大范围的变量,例如这样一个变量,其值对于同一模块内的所有过程都有效,甚至对于整个应用程序的所有过程都有效。Visual Basic 允许在声明变量时指定它的范围。 8.2.1 过程级变量 也就是局部变量——在过程内用dim或Static语句声明的变量 或不加声明直接使用的变量 均为过程级变量,只能在本过程中使用,别的过程不可访问.过程级变量在过程被调用时分配存储并初始化,一旦过程执行结束,变量自动释放所分配的存储单元.因此,不同的过程可以有同名的过程级 变量,彼此互不相干. [例8-1] p166-1.vbp 过程级局部变量示例 Private Sub Form_Activate Dim a As Integer, b As Integer, c As Integer a 5: b 3 Print Tab 15 ; a; Tab 25 ; b; Tab 35 ; c a×b Print 调用prod前; Tab 14 ; a; Tab 24 ; b; Tab 34 ; c Call prod Print 调用prod 后; Tab 14 ; a; Tab 24 ; b; Tab 34 ; c Print Print 调用sum前; Tab 14 ; a; Tab 24 ; b; Tab 34 ; c Call sum Print 调用sum后; Tab 14 ; a; Tab 24 ; b; Tab 34 ; c End Sub Private Sub prod Dim a As Integer, b As Integer, c As Integer c a * b Print prod子程序; Tab 14 ; a; Tab 24 ; b; Tab 34 ; c End Sub Private Sub sum Dim a As Integer, b As Integer, c As Integer c a + b Print sum子程序; Tab 14 ; a; Tab 24 ; b; Tab 34 ; c End Sub 从运行结果可以看出:在事件过程中定义的变量,只在事件过程存在,在调用的过程中定义的同名变量与事件过程中相应的变量没有关系。 8.2.2 模块级变量 在模块的通用段中声明的变量为模块级变量。 1.私有模块级变量 在窗体/模块内通用声明段,过程之外用dim语句或用private语句声明的变量,可被本窗体/模块中的任何过程访问. 2.公有模块级变量 即全局变量,在标准模块中通用

您可能关注的文档

文档评论(0)

liudao + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档