Visual Basic程序设计 教学课件 ppt 作者 邱寄帆 第07章

上传人:E**** 文档编号:89397217 上传时间:2019-05-24 格式:PPT 页数:45 大小:92KB
返回 下载 相关 举报
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第07章_第1页
第1页 / 共45页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第07章_第2页
第2页 / 共45页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第07章_第3页
第3页 / 共45页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第07章_第4页
第4页 / 共45页
Visual Basic程序设计 教学课件 ppt 作者  邱寄帆 第07章_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《Visual Basic程序设计 教学课件 ppt 作者 邱寄帆 第07章》由会员分享,可在线阅读,更多相关《Visual Basic程序设计 教学课件 ppt 作者 邱寄帆 第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中经常使用。另一类是用户根据自己的需要定义、提供事件过程多次调用的过程。,过程可以用于压缩代码,如重复任务或者共享任务,使用过程大致有两个优点。 (1)使程序简

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

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

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

8、选择过程类型和过程作用范围。 这时,Visual Basic建立了一个函数过程或子过程的模板,可在其中添加代码以完成过程所需要的功能。添加子过程的界面如图7-1所示。,图7-1 “添加过程”对话框,(2)通过手写代码自定义子过程的形式如下。 Private | Public | Friend Static Sub _ (参数列表) 局部变量或常数定义 语句序列 Exit Sub 语句序列 End Sub,过程的调用。 子过程利用语句加以调用,使子过程成为一个独立的语句。其调用方法有两种。 (1)使用Call语句。 语法形式为: Call (实参列表) (2)直接使用过程名。 语法形式为: (实

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

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

11、ic就建立了一个函数过程或子过程的模板,就可在其中添加函数过程的代码以实现函数过程的功能。添加函数过程的界面如图7-2所示。,图7-2 “添加过程”对话框,(2)通过手写代码自定义函数的语法格式如下: Private | Public | Friend Static Function 函数名(参数列表) As数据类型 局部变量或常数定义 语句序列 函数名 = 表达式 Exit Function 语句序列 函数名 = 表达式 End Function,函数的调用有以下两种方法。 (1)把函数看作一个数据,直接放在赋值号右边。 (2)可以把它当作参数,使之直接出现在调用过程或函数中。,7.4 作

12、用 域 与 生 存 期,7.4.1 变量的作用域 变量的作用域决定了哪些子过程和函数过程可以访问该变量。变量的作用域分为:局部变量、全局变量、窗体/模块级变量。下面分别来介绍这3类变量。,1局部变量 指在过程内用Dim、Static语句声明或不加声明直接使用的变量。在模块级代码和过程级代码中都可以使用局部变量。模块级中的局部变量可以在该模块中的所有过程中使用,所以这种局部变量又称为模块级变量。,而过程级中的局部变量只能在本过程中使用,所以这种局部变量又称为过程级变量。局部变量随过程的调用而分配存储单元,一旦该过程体结束,变量的内容自动消失,占用的存储空间自动释放。不同过程中可以有名称相同的变量

13、,它们之间彼此互不相干。使用局部变量有利于程序的调试。,2全局变量 指在通用声明段中用Public语句声明的变量,即公用变量。全局变量可被应用程序的任何过程或函数访问。全局变量的值在整个应用程序中不会消失,只有当整个应用程序执行完毕时,全局变量才会消失。声明全局变量的方法是,在代码模块的声明部分用Public关键字来声明(注意,不能在过程中声明公用变量)。其一般格式为: Public 变量名 As 数据类型,3窗体/模块级变量 指在一个窗体或者模块的任何过程外,即在通用声明段中用Dim语句或者Private语句声明的变量。窗体/模块级变量可被本窗体或模块的任何过程访问,但是对其他窗体或模块的代

14、码不可用。建立模块级变量形式如下: Private int Temp As Integer,7.4.2 变量的生存期 除了作用范围外,变量还有生存周期,在这期间,变量的值保持不变。在应用程序存活期内,模块级变量和公用变量的值都会一直保持。但是,对于用Dim关键字声明的变量,只要过程一结束,变量也就随之消失,它起先所占用的内存也被系统回收。,当变量用Static(静态)关键字修饰时,不同的过程互相调用的时候,变量的值将保持不变,因为使用Static修饰过程中的变量时,变量值将强制保持不变。 为了使过程中的所有变量都为静态变量,可以将Static关键字放在Sub或者Function过程的前面,包括

15、事件过程声明为Private的过程 。,7.4.3 自定义过程和函数的作用域与生存期 1过程的作用域与生存期 (1)窗体/模块级 窗体/模块级是指在窗体和标准模块内用Private定义的子过程或函数过程,这些过程只能被窗体或者本模块中的过程调用。 定义方式:Private Sub 过程名(参数列表)。,(2)全局级 在窗体或标准模块中定义的过程就称为全局级过程,也可以通过使用Public关键字进行说明。在Visual Basic中系统默认的过程是全局级过程。但是根据过程所处的位置不同,其调用方式也有区别,其区别有以下两种。 如果是在窗体中定义的过程,那么在其他外部过程调用它时,必须在过程名前加

16、定义该过程的窗体名。其调用形式为: Call 窗体名.要调用的过程名, 如果是在标准模块中定义的过程,那么所有的外部过程都可调用它。但是必须保证该过程是惟一的,否则要加定义该过程的模块名。其调用方式和前一种一样。 过程的生存期和变量的生存期很相似。即在生存期期间,过程将保持不变。在应用程序存活期内,窗体/模块级和全局级的作用范围都会一直保持。,2函数的作用域与生存期 在Visual Basic中函数的作用域、生存期与过程的作用域、生存期非常的相似。所以这里就不再复述,请读者参考过程的作用域与生存期的内容。,7.5 多模块与多窗体应用程序的设计,7.5.1 多窗体的设计 1添加窗体 2设置启动对象,3有关窗体的语句、方法和事件 与窗体相关的一些方法。 (1)Load语句 (2)Unload语句 (3)Show方法 (4)Hide方法,7.5.2 多模块的设计 在建立Visual Basic的应用程序时,首先应该设计代码结构。VB将代码存储在

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

当前位置:首页 > 高等教育 > 大学课件

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