您好,欢迎访问三七文档
当前位置:首页 > 中学教育 > 初中教育 > Visual Basic过程和变量的作用域
理解多窗体及多模块应用程序各过程与变量的关系理解通过全局变量实现各过程之间数据的传递;掌握多模块中过程的作用域和调用关系掌握变量作用域及生存周期。本章要求:过程和变量的作用域本章重点:本章难点:多模块应用程序各过程与变量的关系、变量和过程和作用域。多模块应用程序各过程与变量的关系前面我们介绍了VB应用程序(通常称为工程)的组织结构,它由窗体模块、标准模块和类模块组成。VB程序代码就保存在窗体模块文件(*.Frm)、标准模块文件(*.Bas)或类模块文件(*.Cls)中。它们形成了工程的一种模块层次结构,如下图所示。1概述2过程的作用域[Public|Private]Sub子过程名([形式参数列表])…..EndSub概念通用子过程和函数过程既可写在窗体模块中也可写在标准模块中,在定义时可选用关键字Private(局部)和Public(全局),来决定它们能被调用的范围。1、窗体/模块级过程:加Private关键字的过程,只能被定义的窗体或模块中的过程调用。2、全局级过程:加Public关键字(或缺省)的过程,可供该应用程序的所有窗体和所有标准模块中的过程调用。按过程的作用范围来划分,过程可分为:模块级过程全局级过程用例1来说明过程的作用域2过程的作用域总结归纳过程的定义及作用域如下表2过程的作用域SubMain过程(P96)3变量的作用域概述:在VB中,由于可以在过程中和模块中声明变量,根据定义变量的位置和定义变量的语句不同,变量可以分为:局部变量(过程级变量)窗体/模块级变量(私有的模块级变量,能被本模块的所有过程和函数使用)全局级变量(公有的模块级变量)。3.1过程级变量——局部变量局部变量:在过程内用声明的变量,只能在本过程中使用。在过程内部使用Dim或者Static关键字来声明的变量,只在声明它们的过程中才能被访问或改变该变量的值,别的过程不可访问。所以可以在不同的过程中声明相同名字的局部变量而互不影响。3变量的作用域例:PrivateSubForm_Load()Dimn%n=10EndSubPrivateSubFrom_Click()Dimn%Print“n=“;nEndSub程序运行后单击窗体,其输出结果是什么?3变量的作用域3.2窗体/模块级变量窗体/模块级变量:在“通用声明”段中用Dim语句或用Private语句声明的变量,可被本窗体/模块的任何过程访问。但其他模块却不能访问该变量。例如:在“通用声明”段声明如下变量:PrivatesAsStringDimaAsInteger3变量的作用域例:Dimn%PrivateSubForm_Load()n=10EndSubPrivateSubFrom_Click()Print“n=“;nEndSub3.3全局变量全局变量也称公有的模块级变量,在窗体模块或标准模块的顶部的“通用”声明段用Public关键字声明,它的作用范围是整个应用程序,即可被本应用程序的任何过程或函数访问。例如:PublicaAsInteger,bAssingle3变量的作用域3种变量声明及使用规则如下表:3变量的作用域一、公用变量与局部变量同名在不同过程中定义同名变量,它们互不影响,但若在一过程中定义使用了与全局变量同名的变量,则就应注意。3.4关于多个变量同名3变量的作用域PublicTempAsInteger'定义全局变量PrivateSubForm_Load()Temp=1'将全局变量Temp的值设置成1EndSubPrivateSubCommand1_Click()DimTempAsInteger'定义局部变量Temp=2'将局部变量Temp的值设置成2Printtemp=;TempPrinttemp=;Form1.TempEndSubPrivateSubCommand2_Click()Printtemp=;TempEndSub3变量的作用域PrivateSubForm_Click()Dimi%,isum%Fori=1To5isum=sum(i)Printisum,NextiEndSubPrivateFunctionsum(nAsInteger)DimjAsIntegerj=j+nsum=jEndFunction12345StaticjAsInteger结果如何?补充例题:3变量的作用域
本文标题:Visual Basic过程和变量的作用域
链接地址:https://www.777doc.com/doc-3995269 .html