




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、 理解多窗体及多模块应用程序各过程与变量的关系理解多窗体及多模块应用程序各过程与变量的关系 理解通过全局变量实现各过程之间数据的传递;理解通过全局变量实现各过程之间数据的传递; 掌握多模块中过程的作用域和调用关系掌握多模块中过程的作用域和调用关系 掌握变量作用域及生存周期。掌握变量作用域及生存周期。本章要求:本章要求:过程和变量的作用域过程和变量的作用域 本章重点:本章重点:本章难点:本章难点: 多模块应用程序各过程与变量的关系、变量和过程多模块应用程序各过程与变量的关系、变量和过程和作用域。和作用域。多模块应用程序各过程与变量的关系多模块应用程序各过程与变量的关系 前面我们介绍了前面我们介绍
2、了VBVB应用程序(通常称为工程)的组织结构,应用程序(通常称为工程)的组织结构,它由它由窗体模块、标准模块和类模块窗体模块、标准模块和类模块组成。组成。VBVB程序代码就保存在程序代码就保存在窗体模块文件(窗体模块文件(.Frm.Frm)、标准模块文件()、标准模块文件(.Bas.Bas)或类模块)或类模块文件(文件(.Cls.Cls)中。它们形成了工程的一种模块层次结构,如)中。它们形成了工程的一种模块层次结构,如下图所示。下图所示。1 概概 述述2 过程的作用域过程的作用域Public|Private Sub 子过程名子过程名(形式参数列表形式参数列表) . End Sub概念概念 通用
3、子过程和函数过程既可写在通用子过程和函数过程既可写在窗体模块中窗体模块中也也可写在可写在标准模块中标准模块中,在定义时可选用关键字,在定义时可选用关键字PrivatePrivate(局部)(局部)和和PublicPublic(全局)(全局),来决定它们,来决定它们能被调用的范围。能被调用的范围。 1、窗体窗体/模块级过程:模块级过程: 加加Private关键字的过程,只能被定义的窗体或模关键字的过程,只能被定义的窗体或模 块中的块中的过程调用。过程调用。2、全局级过程:全局级过程: 加加Public关键字关键字(或缺省)(或缺省)的过程,可供该应用程序的的过程,可供该应用程序的所有窗体和所有标
4、准模块中的过程调用。所有窗体和所有标准模块中的过程调用。按过程的作用范围来划分,过程可分为:按过程的作用范围来划分,过程可分为: 模块级过程模块级过程 全局级过程全局级过程用例用例1来说明过程的作用域来说明过程的作用域 2 过程的作用域过程的作用域总结归纳过程的定义及作用域如下表总结归纳过程的定义及作用域如下表2 过程的作用域过程的作用域Sub Main过程过程(P96)3 变量的作用域变量的作用域概述:概述: 在在VB中,由于可以在过程中和模块中声明变量,中,由于可以在过程中和模块中声明变量,根据定义变量的位置和定义变量的语句不同,变量根据定义变量的位置和定义变量的语句不同,变量可以分为:可
5、以分为:局部变量局部变量(过程级变量)(过程级变量)窗体窗体/模块级变量模块级变量(私有的模块级变量,能被本模(私有的模块级变量,能被本模块的所有过程和函数使用)块的所有过程和函数使用)全局级变量全局级变量(公有的模块级变量)。(公有的模块级变量)。3.1 过程级变量过程级变量局部变量局部变量 局部变量:局部变量:在过程内用声明的变量,只能在在过程内用声明的变量,只能在本过程中使用。本过程中使用。 在过程内部使用在过程内部使用 Dim 或者或者 Static 关键字来声明关键字来声明的变量,只在声明它们的过程中才能被访问或改变该的变量,只在声明它们的过程中才能被访问或改变该变量的值,别的过程不
6、可访问。所以可以在不同的过变量的值,别的过程不可访问。所以可以在不同的过程中声明相同名字的局部变量而互不影响。程中声明相同名字的局部变量而互不影响。 3 变量的作用域变量的作用域例:例:Private Sub Form_Load() Dim n% n= 10End SubPrivate Sub From_Click() Dim n% Print “n=“;nEnd Sub程序运行后单击窗体,其输出结果是什么?程序运行后单击窗体,其输出结果是什么?3 变量的作用域变量的作用域3.2 窗体窗体/模块级变量模块级变量 窗体窗体/模块级变量:模块级变量:在在“ “通用通用声明声明” ”段中用段中用Di
7、m语句或用语句或用Private语句声明的变量,可被本窗体语句声明的变量,可被本窗体/模模块的任何过程访问。但其他模块块的任何过程访问。但其他模块却不能访问该变量。却不能访问该变量。 例如:在例如:在“ “通用声明通用声明” ”段声明如段声明如下变量下变量:Private s As StringDim a As Integer3 变量的作用域变量的作用域例:例:Dim n% Private Sub Form_Load() n= 10End SubPrivate Sub From_Click() Print “n=“;nEnd Sub3.3 全局变量全局变量 全局变量全局变量也称公有的模块级变量
8、,在窗体模块也称公有的模块级变量,在窗体模块或标准模块的顶部的或标准模块的顶部的“通用通用”声明段用声明段用Public关键关键字声明,它的作用范围是整个应用程序,即可被本字声明,它的作用范围是整个应用程序,即可被本应用程序的任何过程或函数访问。应用程序的任何过程或函数访问。例如:例如: Public a As Integer,b As single3 变量的作用域变量的作用域3种变量声明及使用规则如下表:种变量声明及使用规则如下表:3 变量的作用域变量的作用域一、公用变量与局部变量同名一、公用变量与局部变量同名 在不同过程中定义同名变量,它们互不影响,但若在一在不同过程中定义同名变量,它们互
9、不影响,但若在一过程中定义使用了与全局变量同名的变量,则就应注意。过程中定义使用了与全局变量同名的变量,则就应注意。 3.4 3.4 关于多个变量同名关于多个变量同名3 变量的作用域变量的作用域Public Temp As Integer 定义全局变量定义全局变量Private Sub Form_Load() Temp = 1 将全局变量将全局变量Temp 的值设置成的值设置成 1End SubPrivate Sub Command1_Click()Dim Temp As Integer 定义局部变量定义局部变量Temp = 2 将局部变量将局部变量Temp 的值设置成的值设置成 2 Print temp=; Temp Print temp=; Form1.TempEnd SubPrivate Sub Command2_Click() Print temp=; Temp End Sub3 变量的作用域变量的作用域Private Sub Form_Click() Dim i% ,isum% For i = 1 To 5isum = sum(i)Print isum, Next i End Sub Private Function sum(n As Integ
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 激光技术工程师职业转型的机会与挑战试题及答案
- 卫生管理医疗机构资源管理试题及答案
- 药剂基础概念复习试题及答案
- 药学模拟考试题型剖析试题及答案
- 激光技术工程师证书考试创新思维及试题答案
- 编内护士考试题目及答案
- 药品市场动态分析的重要性试题及答案
- 网络规划设计师考试时间管理方法试题及答案
- 小学一年级语文下册多音字组词及答案
- 2025年-广东建筑安全员-B证(项目经理)考试题库
- 2025届湖北省黄冈高考数学一模试卷含解析
- 【MOOC】中国近现代史纲要-浙江大学 中国大学慕课MOOC答案
- 江苏省南京市2025届高三第二次联考英语试卷含解析
- 2024年10月自考01685动漫艺术概论试题及答案含评分参考
- 设备运输包装方案
- 2025高考数学专项复习:指对同构问题 讲义
- 虚拟用户场景构建
- 湖北公务员面试模拟6
- 医疗美容病历模板范文
- 2018年四川省高考数学试卷(文科)(全国新课标Ⅲ)
- 前列腺增生患者的护理查房课件
评论
0/150
提交评论