预览加载中,请您耐心等待几秒...
1/10
2/10
3/10
4/10
5/10
6/10
7/10
8/10
9/10
10/10

亲,该文档总共30页,到这已经超出免费预览范围,如果喜欢就直接下载吧~

如果您无法下载资料,请参考说明:

1、部分资料下载需要金币,请确保您的账户上有足够的金币

2、已购买过的文档,再次下载不重复扣费

3、资料包下载后请先用软件解压,在使用对应软件打开

在第二章我们介绍了VB应用程序(通常称为工程)的组织结构,它由窗体模块、标准模块和类模块组成。VB程序代码就保存在窗体模块文件(*.Frm)、标准模块文件(*.Bas)或类模块文件(*.Cls)中。它们形成了工程的一种模块层次结构,如下图所示。一个应用程序的组成结构7.1.1窗体模块 (文件扩展名为.FRM) 窗体模块。窗体模块可以包含处理事件的过程、通用过程以及变量、常数、类型和外部过程的窗体级声明。如果要在文本编辑器中观察窗体模块,则还会看到窗体及其控件的描述,包括它们的属性设置值。写入窗体模块的代码是该窗体所属的具体应用程序专用的;它也可以引用该应用程序内的其它窗体或对象。7.1.2标准模块 (文件扩展名为.BAS) 它们可以包含变量、常数、类型、外部过程和全局过程的全局(在整个应用程序范围内有效的)声明或模块级声明。写入标准模块的代码不必绑在特定的应用程序上,则在许多不同的应用程序中可以重用标准模块。7.1.3类模块 (文件扩展名为.CLS) 在VisualBasic中类模块是面向对象编程的基础。可在类模块中编写代码建立新对象。这些新对象可以包含自定义的属性和方法。实际上,窗体正是这样一种类模块,在其上可安放控件,可显示窗体窗口。7.2过程的作用域1、窗体/模块级过程: 加Private关键字的过程,只能被定义的窗体或模块中的过程调用。 2、全局级过程: 加Public关键字(或缺省)的过程,可供该应用程序的所有窗体和所有标准模块中的过程调用。总结归纳过程的定义及作用域如下表(教材Pg.163)7.3变量的作用域7.3.1过程级变量——局部变量例: PrivateSubForm_Load() Dimn% n=10 EndSub PrivateSubFrom_Click() Dimn% Print“n=“;n EndSub7.3.2窗体/模块级变量7.3.3全局变量3种变量声明及使用规则如下表:一、公用变量与局部变量同名 在不同过程中定义同名变量,它们互不影响,但若在一过程中定义使用了与全局变量同名的变量,则就应注意。PublicTempAsInteger'定义全局变量 PrivateSubForm_Load() Temp=1'将全局变量Temp的值设置成1 EndSub PrivateSubCommand1_Click() DimTempAsInteger'定义局部变量 Temp=2'将局部变量Temp的值设置成2 Print"temp=";Temp Print"temp=";Form1.Temp EndSub PrivateSubCommand2_Click() Print"temp=";Temp EndSub二、全局变量同名 如果不同模块中的全局变量使用同一名字,则通过同时引用模块名和变量名就可以在代码中区分它们。 例如,如果有一个在Form1和Module1中都声明了公用的Integer变量intX,则把它们作为Module1.intX和Form1.intX来引用便得到正确值。也就是说如果不同模块中的全局变量使用同一名字,引用时就需要使用“模块名.变量名”的形式来区分它们。7.3.5静态变量局部变量声明: Dim声明:随过程的调用而分配存贮单元,变量的初始化;过程体结束,变量的内容自动消失,存贮单元释放。 Static声明,每次调用过程,变量保持上次调用结束时的值。 声明形式: Static变量名[AS类型] StaticFunction函数过程名([参数列表])[As类型] StaticSub子过程名[(参数列表)] 注意:过程名前加Static,表示该过程内的局部变量都是静态变量。例7.2有一个人编了下面一段程序,想用变量n记录单击窗体的次数。 PrivateSubForm_Click() DimnAsInteger n=n+1 Print"已单击次数:";n&"次" EndSubPrivateSubForm_Click() Dimi%,isum% Fori=1To5 isum=sum(i) Printisum, Nexti EndSub7.4多重窗体与多模块程序设计7.4.1设置启动对象7.4.2窗体的加载与卸载过程在窗体的加载过程的各阶段所用一的语句或方法以及所触发的事件可用下面的图来说明:在窗体的卸载过程的各阶段所用一的语句或方法以及所触发的事件如下图:1、窗体的加载与显示2、窗体的隐藏与卸载7.4.3与窗体加载与卸载过程的关的事件7.4.4应用举例(教材Pg.175——178)