【vb精品源码栏目提醒】:网学会员为需要vb精品源码的朋友们搜集整理了第六章模块化程序设 - 技术总结相关资料,希望对各位网友有所帮助!
第六章 模块化程序设计6-1 变量在程序中的工作模式 局部变量 在子程序、函数、事件程序某一工作区定义变量称为局部变量 全局变量 凡在子程序外定义变量称为全局变量。
又分为:“模块私用”全 局变量(dim,private定义的变量),“模块公用”全局变量 public定义变量 静态变量 指用static关键字来定义的局部变量与C含意一样在程序开始存在 直到程序结束才消失但是有效范围是定义它的子程序内 这三个变量工作范围: 局部变量(静态变量):工作范围仅限于单一程序(子程序内)。
全局变量:工作范围覆盖整个模块(当该变量用dim 或private或 整个程序(当变量用public定义)。
例:假设工程中含有两个窗体模块(form1和form2)和一个标准模块 (mokule1而这几个模块中所定义的变量如下: Form1 Form2 Module1模 Private A1 Private B1 Private C1块 Dim A2 Dim B2 Dim C2私 Public A3 Public B3 Public C3 模块公用 工程全局变量用全 Sub SubX1 全局变量 Sub SubY1 Sub SubZ1局 Dim A4 Dim B4 Dim C4 局部变量变 End Sub End Sub End Sub量 Sub SubX2 可以引用A1、 Sub SubY2 Sub SubZ2 Dim A5 A2、A3 Dim B5 Dim C5 End Sub 可以引用B3 End Sub End Sub Form2.B3 可以引用C3 C36-2 窗体模块与标准模块 标准模块: 标准模块与窗体模块最大的不同在于它没有窗体可供设计操 作界面。
同时标准模块与窗体模块在用途上也有所区别。
标准模 块主要用途是编写主动模式的程序、提供其它模块共用数据(常 量、变量)、自定义数据。
而窗体模块则自成一个体系,主要用 途就是操作介面的设计。
Public与priavte 不论是标准模块或是窗体模块,都可以在这些模块上的过程或函 数之前加上private或public关键字。
1)如果在某个模块某个过程前被加上private则不论它是隶属于标 准模块还是窗体模块都是封闭,也就是其它模块是不可使用。
2)如果在某个模块某个过程前被加上pubic,那么标准模块与窗 体模块是有区别。
标准模块中的该子程序可以被其它模块直接调用。
窗体模块的该子程序可以被其它模块调用,其格式: form名.子程序名 未加上private/ public的情况: 性质 例子 相当于 变量 Dim x Private x 常量 Const c123 Private Const c123 程序 Sub subx Public Sub subx 窗体模块: 1)窗体模块增加 随着应用程序的复杂化,使用多重窗体成了必须现象。
增加窗体方法: 工程/添加窗体 在多重窗体的程序中,通常会有一个主窗体,并且由这个窗体来控制其它窗 体的装入、显示和卸载的工作。
装入窗体: load form名 如果要显示窗体 form名.visibletrue 显示窗体: form名.show 卸载窗体: unload form名 或 form名.hide显示窗体的方法:利用show方法显示窗体有两种可能的方式:1)强制响应模式: form名.show vbmodal特点:程序的运行必须等到被显示窗体被关闭(或隐藏之后),程序才会回到show方法下面的一行。
例: …… form1.show vbmodal 被显示 …… …… 关闭(隐藏)窗体 窗体 2)非强制响应模式: form名.show vbmodeless 或 form名.show 特点:不管被显示的窗体是否被关闭(或隐藏),仍 然继续向下执行。
…… form1.show …… 被显示 …… 窗体例:多模块程序实例。
ch06/练习7.vbp 设我们想要为第五章练习3(画板应用程序)增加一个软件封套。
在主窗体(画图所在窗体)出现前,先显示一个“标志窗体”2秒钟,然后将其关闭,接着再显示登录窗体,让用户输入用户名称和密码,输入正确后,才进入主窗体。
分析: 由于这三种窗体(标志、登录、主窗体)是依次显示很适合用标准模块的sub main主程序来控制流程。
show 启动对象 标志窗体 frmlogo 延迟2秒 Sub main show 强制 登录窗体 frmlogin show 主窗体 frmmain 非强制用户在登录窗体中所输入的数据可能是正确的也可能是错误的。
因此在主程序必须取得登录窗体的返回值,然后决定是否继续往下运行。
所以在标准模块中定义一个工程全局变量。
Public log