VB 程序设计_第07章 过程

上传人:油条 文档编号:48603189 上传时间:2018-07-18 格式:PPT 页数:45 大小:94KB
返回 下载 相关 举报
VB 程序设计_第07章 过程_第1页
第1页 / 共45页
VB 程序设计_第07章 过程_第2页
第2页 / 共45页
VB 程序设计_第07章 过程_第3页
第3页 / 共45页
VB 程序设计_第07章 过程_第4页
第4页 / 共45页
VB 程序设计_第07章 过程_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《VB 程序设计_第07章 过程》由会员分享,可在线阅读,更多相关《VB 程序设计_第07章 过程(45页珍藏版)》请在金锄头文库上搜索。

1、第 7 章 过 程 7.1 程序设计的模块化结构7.2 过 程 与 函 数 7.3 自定义过程与函数 7.4 作 用 域 与 生 存 期 7.5 多模块与多窗体应用程序的设计7.1 程序设计的模块化结构7.1.1 模块化程序设计的必要性所谓一个应用程序,是指指挥计算机完成 特定任务的指令集。程序的模块化结构是 组织计算机指令的方法,也就是指令的存 放位置和指令的执行顺序。简单的应用程序结构简单。对于只有几行代码的应用程序来讲,其结构如何并不是 很重要。但是,应用程序越复杂,那么它 对组织或结构的要求就越明显。因此,对 程序进行模块化就显得非常重要。在程序设计的过程中,对程序进行模块化非常重要。

2、 7.1.2 模块划分的原则 在Visual Basic 中,模块有3种类型:窗体 模块、标准模块和类模块。 每个标准模块、类模块和窗体模块中都可 以包含以下元素。 (1)所有的声明:包括常数、类型、变量 和动态连接库(DLL)过程的声明。 (2)所有的过程:包括子过程(Sub)、 函数过程(Function)、属性(Property )过程和可以作为单元来执行的代码片段 。1窗体模块 (其文件扩展名为 .frm) 在Visual Basic 中,窗体模块是大多数应用 程序的基础。在屏幕上看到的窗体属性, 如大小、位置和背景色等,定义了窗口的 外观和内在特性,包括处理事件的过程、 通用过程以及

3、变量、常数、类型和外部过 程的窗体级声明。 注意,窗体模块中的代码是该窗体所属的 具体应用程序的,它也可以引用该应用程 序内的其他窗体或对象。2标准模块 (其文件扩展名为 .bas) 标准模块中存放的是那些与特定的窗体或 控件无关的代码且只含有Visual Basic 代码 。它们可以是变量、常数、类型、外部过 程和全局过程的全局声明或模块声明。写 入标准模块的代码不必绑在特定的应用程 序上,在许多不同的应用程序中都可以重 复使用标准模块。3类模块 (其文件扩展名为 .cls)在Visual Basic中,类模块是面向对象编程的 基础,是为了描述具有相同特征的对象而引入的 。类模块是用来创建对

4、象的样板,它包含所创建 对象的状态描述和方法定义,而对象只是类的一 个实例,这些对象可被应用程序内的过程调用。 同时这些对象可以包含自定义的属性和方法。事 实上,窗体就属于这样的类模块,它可以随意安 放控件,可以显示窗体窗口。类模块与窗体模块 类似,只是没有可见的用户界面。7.2 过 程 与 函 数 7.2.1 认识过程 在Visual Basic中有两类过程,一类是系统 提供的内部函数过程和事件过程,事件过 程是构成Visual Basic应用程序的主体,在 Visual Basic中经常使用。另一类是用户根 据自己的需要定义、提供事件过程多次调 用的过程。过程可以用于压缩代码,如重复任务或

5、者共 享任务,使用过程大致有两个优点。 (1)使程序简练、便于调试和维护。过程可 以将每个程序划分为许多的逻辑单元,每个 单元都可以方便地进行调试,从而为程序员 节省更多的时间以完成其他的任务。 (2)非常方便的成为另一个程序的构件。在 一个程序的过程中,往往不必修改或者只需 要稍加改动就可成为另一个程序的组件。在Visual Basic 6.0中,过程分为以下几种。 (1)事件程序过程。 (2)Function过程,即函数,有返回值。 (3)Sub过程,即子过程,不返回任何值。(4)Property过程,即属性过程,返回指 定值以及设置对象引用。 7.2.2 事件程序过程 当Visual B

6、asic 中的对象发生某一 事件后(如单击、双击),系统便自动 调用这个对象的事件处理过程,称为事 件程序过程,也称事件过程。 事件过程是附加在窗体和控件上 的。当Visual Basic中的对象触发一个 事件时,便自动通过事件的名字调用该 事件过程。程序利用控件名称在对象和 代码之间建立联系。 (1)一个控件的事件过程将控件的实际名 称(在属性窗口Name属性中显示的名称) 加上下画线(_)和事件名组合起来。 (2)与按钮的事件过程相似,一个窗体的 事件过程将Form、下画线和事件名组合起 来。例如,单击窗体之后,程序会自动调 用 Form_Click过程。注意, 窗体和控件 一样,都有惟一

7、的名字,只是窗体的名字 不能像控件那样在事件过程中使用。7.2.3 函数过程 函数过程,即Function过程,是具有返回 值的一段程序代码,可以是模块中相对独 立的一个结构。 Visual Basic内部提供了大量的函数, 这些函数称为内部函数,又称为内置函数 。对于那些由自己编写的函数,统称为外 部函数或用户自定义函数。 7.3 自定义过程与函数 7.3.1 过程的定义与调用 在Visual Basic 6.0中,过程又称为子过程 。它是一段具有特定功能的代码片段,是 在响应外部事件时执行的代码块。自定义 子过程有以下两种方法。(1)利用“工具”菜单下的“添加过程”命令, 步骤如下。 为想

8、要编写过程的窗体或标准模块打开代码 窗口。 选择“工具”菜单下的“添加过程”命令。 在文本框中输入过程名、选择过程类型和过 程作用范围。 这时,Visual Basic建立了一个函数过程或子 过程的模板,可在其中添加代码以完成过程所 需要的功能。添加子过程的界面如图7-1所示 。图图7-1 7-1 “ “添加过程添加过程” ”对话框对话框(2)通过手写代码自定义子过程的形式如 下。Private | Public | Friend Static Sub _(参数列表)局部变量或常数定义语句序列Exit Sub语句序列End Sub过程的调用。 子过程利用语句加以调用,使子过程成为 一个独立的语

9、句。其调用方法有两种。 (1)使用Call语句。语法形式为:Call (实参列表) (2)直接使用过程名。语法形式为:(实参列表)7.3.2 参数传递方法 过程参数有两种传递方式。 1按值传递 使用关键字ByVal声明。当使用按值传递 时,过程所传递的只是变量的一个副本, 如果过程或函数改变了变量的值,则所作 的改变只影响该变量的副本而不影响原本 ,即过程中对形参的任何操作不会影响实 参。按值传递的语法形式为:Sub PlayMusic(ByVal Music1,Music2) 过程语句End Sub2按地址传递 使用ByRef声明。顾名思义,按地址传递 即是传递内存地址。在调用一个程序的过

10、程时,如果使用按地址传递来传递参数, 则会将实参的内存地址传递给形参,即让 形参和实参使用相同的内存地址。所以, 在被调用的过程中,对形参所做的任何操 作或修改都将影响实参,也就是说,实参 的值会因形参值的修改而改变。 在Visual Basic中,系统默认的参数传 递方法是按地址传递。 7.3.3 函数的定义与调用函数可由函数过程名返回一个值,故它可以作为表达式或表达式中的一部分。但是 函数不能作为一个单独的语句加以调用, 它必须配合其他语法从而形成完整的语句 。自定义函数的方法有以下两种。(1)利用“工具”菜单下的“添加过程”命令。步骤如下。 为想要编写函数的窗体或标准模块打开代码窗口。

11、选择“工具”菜单下的“添加过程”命令。 在文本框中输入过函数过程名、选择过程类型和函数过程作用范围。完成上面步骤后,Visual Basic就建立了一个函数过程或子过程的模板,就可在 其中添加函数过程的代码以实现函数过程 的功能。添加函数过程的界面如图7-2所示。 图图7-2 7-2 “ “添加过程添加过程” ”对话框对话框(2)通过手写代码自定义函数的语法格式 如下:Private | Public | Friend Static Function 函数名(参数列表) As数据类型局部变量或常数定义语句序列函数名 = 表达式Exit Function语句序列函数名 = 表达式End Func

12、tion函数的调用有以下两种方法。(1)把函数看作一个数据,直接放在赋值号右边。 (2)可以把它当作参数,使之直接出现在调用过程或函数中。 7.4 作 用 域 与 生 存 期 7.4.1 变量的作用域变量的作用域决定了哪些子过程和函数过 程可以访问该变量。变量的作用域分为: 局部变量、全局变量、窗体/模块级变量。 下面分别来介绍这3类变量。1局部变量 指在过程内用Dim、Static语句声明或 不加声明直接使用的变量。在模块级代码 和过程级代码中都可以使用局部变量。模 块级中的局部变量可以在该模块中的所有 过程中使用,所以这种局部变量又称为模 块级变量。而过程级中的局部变量只能在本过程中使 用

13、,所以这种局部变量又称为过程级变量 。局部变量随过程的调用而分配存储单元 ,一旦该过程体结束,变量的内容自动消 失,占用的存储空间自动释放。不同过程 中可以有名称相同的变量,它们之间彼此 互不相干。使用局部变量有利于程序的调 试。 2全局变量 指在通用声明段中用Public语句声明的变量 ,即公用变量。全局变量可被应用程序的任 何过程或函数访问。全局变量的值在整个应 用程序中不会消失,只有当整个应用程序执 行完毕时,全局变量才会消失。声明全局变 量的方法是,在代码模块的声明部分用 Public关键字来声明(注意,不能在过程中 声明公用变量)。其一般格式为:Public 变量名 As 数据类型3

14、窗体/模块级变量 指在一个窗体或者模块的任何过程外,即 在通用声明段中用Dim语句或者Private语 句声明的变量。窗体/模块级变量可被本窗 体或模块的任何过程访问,但是对其他窗 体或模块的代码不可用。建立模块级变量 形式如下:Private int Temp As Integer7.4.2 变量的生存期 除了作用范围外,变量还有生存周期, 在这期间,变量的值保持不变。在应用 程序存活期内,模块级变量和公用变量 的值都会一直保持。但是,对于用Dim 关键字声明的变量,只要过程一结束, 变量也就随之消失,它起先所占用的内 存也被系统回收。 当变量用Static(静态)关键字修饰 时,不同的过程

15、互相调用的时候,变量的 值将保持不变,因为使用Static修饰过程中 的变量时,变量值将强制保持不变。 为了使过程中的所有变量都为静态变 量,可以将Static关键字放在Sub或者 Function过程的前面,包括事件过程声明 为Private的过程 。7.4.3 自定义过程和函数的作用 域与生存期 1过程的作用域与生存期 (1)窗体/模块级窗体/模块级是指在窗体和标准模块内用 Private定义的子过程或函数过程,这些过 程只能被窗体或者本模块中的过程调用。 定义方式:Private Sub 过程名(参数列表) 。(2)全局级在窗体或标准模块中定义的过程就称为全 局级过程,也可以通过使用Pu

16、blic关键字 进行说明。在Visual Basic中系统默认的过 程是全局级过程。但是根据过程所处的位 置不同,其调用方式也有区别,其区别有 以下两种。 如果是在窗体中定义的过程,那么在其 他外部过程调用它时,必须在过程名前加 定义该过程的窗体名。其调用形式为:Call 窗体名.要调用的过程名 如果是在标准模块中定义的过程,那么 所有的外部过程都可调用它。但是必须保 证该过程是惟一的,否则要加定义该过程 的模块名。其调用方式和前一种一样。 过程的生存期和变量的生存期很相似 。即在生存期期间,过程将保持不变。在 应用程序存活期内,窗体/模块级和全局级 的作用范围都会一直保持。 2函数的作用域与生存期在Visual Basic中函数的作用域、生存期与过程的作用域、生存期非常的相似。所以这里就不再复述,请读者参考过程的作用域与生存期的内容。 7.5 多模块与多窗体应用程序的设计7.5

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号