Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程

上传人:E**** 文档编号:89183559 上传时间:2019-05-20 格式:PPT 页数:60 大小:327KB
返回 下载 相关 举报
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程_第1页
第1页 / 共60页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程_第2页
第2页 / 共60页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程_第3页
第3页 / 共60页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程_第4页
第4页 / 共60页
Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程_第5页
第5页 / 共60页
点击查看更多>>
资源描述

《Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程》由会员分享,可在线阅读,更多相关《Visual Basic程序设计教程 第2版 教学课件 ppt 作者 刘瑞新 电子教案 第7章 过程(60页珍藏版)》请在金锄头文库上搜索。

1、第7章 过 程,第7章 过 程,使用“过程”是实现结构化程序设计思想的重要方法。结构化程序设计思想的要点之一就是对一个复杂的问题采用“分而治之”的策略 模块化,把一个较大的程序划分为若干个模块,每个模块只完成一个或若干个功能。这些模块通过执行一系列的语句来完成一个特定的操作过程,因此被称为“过程”。 在VB中,根据过程是否返回值,分为Sub过程(子程序)和Function过程(函数)。,7.1 Sub过程 VB的Sub过程分为事件过程和通用过程两大类。 事件过程是当发生某个事件时,对该事件作出响应的程序段,它是VB应用程序的主体。 有时多个不同的事件过程可能需要使用同一段程序代码,为此,可将这

2、段代码独立出来,编写为一个共用的过程,这种过程通常称为通用过程,它独立于事件过程之外,可供其它事件过程调用。,7.1.1 事件过程与通用过程 1. 事件过程 事件过程由VB自行声明,用户不能增加或删除。当用户对某个对象发出一个动作时,Windows会通知VB产生了一个事件,VB会自动地调用与该事件相关的事件过程。即当对象对一个事件的发生作出认定时,VB便自动用相应于事件的名字调用该事件的过程。因为名字在对象和代码之间建立了联系,所以说事件过程是依附于窗体和控件上的。,(1) 事件过程名 控件的事件过程名由控件的(在Name属性中规定的)实际名字、下划线“_”和事件名组合起来构成。例如,如果希望

3、在单击了一个名为playCommand的命令按钮后,这个按钮会调用单击事件过程,则要使用playCommand_Click过程名。 窗体的事件过程名由单词“Form”、下划线“_”和事件名组合起来构成。例如,如果希望在单击窗体后窗体会调用单击事件,则要使用Form_Click过程名。 MDI窗体的事件过程名由词汇“MDIForm”、下划线“_”和事件名组合起来构成。例如MDIForm_Load。,(2) 事件过程的编写 编写事件过程代码应注意以下几点: 1) 控件事件过程的语法为: Private Sub 控件名_事件名(形参表) 语句序列 End Sub 2) 窗体事件过程的语法为: Pri

4、vate Sub Form_事件名(形参表) 语句序列 End Sub 3) 虽然可以自行键入首行的事件过程名,但使用模板会更方便,模板自动将正确的过程名包括进来。,图7-1 “代码编辑器”窗口 4) 事件过程名是由VB自动给出的,如Form_Click。因此,在为新控件或对象编写事件代码之前,应先设置它的Name属性。如果编写代码后再改变控件或对象的Name属性,也必须同时更改事件过程的名字。否则,控件或对象会失去与代码的联系,这时将会把它当作一个通用过程。,2. 通用过程 通用过程告诉应用程序如何完成一项指定的任务。通用过程不与任何特定的事件相联系,只能由别的过程来调用,它可以存储在窗体或

5、标准模块中。 建立通用过程的理由之一是,几个不同的事件过程也许要执行同样的动作。将公共语句放入分离开的过程(通用过程)并由事件过程来调用它,这样一来就不必重复代码,也容易维护应用程序。,7.1.2 通用过程的创建 通用过程与事件过程不同,通用过程并不是由对象的某种事件激活,也不依附于某一对象,故其创建的方法略有区别。建立通用过程有两种方法:直接在“代码”编辑窗口中输入过程代码或使用“添加过程”对话框。 1. 在“代码”编辑窗口中输入 在“代码”编辑窗口中,把光标定位在已有过程的外面。然后按如下格式输入通用过程: Private | Public Static Sub 过程名( 形参表 ) 语句

6、序列 Exit Sub 语句序列 End Sub,说明: 1) 可以将通用过程放入标准模块、类模块和窗体模块中。按照缺省规定,所有模块中的子过程为Public(公用的),这意味着在应用程序中可随处调用它们;如果选用Private,则只有该过程所在模块中的程序才能调用该过程。 2) 如果使用Static(静态)关键字,则该过程中的所有局部变量都是Static类型,也就是说该过程中的所有局部变量的存储空间只分配一次,且这些变量的值在整个程序运行期间都存在,即在每次调用该过程时,各局部变量的值一直存在;如果省略Static,过程每次被调用时重新为其变量分配存储空间,当该过程结束时释放其变量的存储空间

7、。,3)形参表类似于变量声明,它指明了从调用过程传递给过程的变量个数和类型,各变量名之间用逗号分隔。其中的形式参数被缺省为具有Variant数据类型,最好将形式参数声明为一个数据类型。 不能用定长字符串变量或定长字符串数组作为形式参数。不过可以在Call语句中用简单定长字符串变量作为实际参数,在调用Sub过程之前,把它转换为变长字符串变量。 4) 在过程内,不能再定义过程,但可以调用其它Sub过程或Function过程。,2. 形参的语法 形参表中形参的语法为: Optional ByVal | ByRef | ParamArray 变量名( ) As 类型 =缺省值 . 其中:Optiona

8、l表示参数不是必需的关键字。如果使用了该选项,则形参表中的后续参数都必须是可选的,而且必须都使用Optional关键字声明。如果使用了ParamArray,则任何参数都不能使用Optional。 ByVal表示该参数按值传递。 ByRef表示该参数按地址传递。ByRef是VB的缺省选项。,变量名代表参数的变量的名称,遵循变量命名约定。如果是数组变量,要在数组名后加上一对小括号。 类型代表传递给该过程的参数的数据类型,可以是Byte、Boolean、Integer、Long、Currency、Single、Double、Date、String(只支持变长)、Object或Variant。如果没有

9、选择参数Optional,则可以指定用户定义类型或对象类型。注意:如果形式参数中的变量用类型声明了变量的数据类型,则实际参数中的对应变量也必须声明为相同的数据类型。 缺省值代表任何常数或常数表达式。只对Optional参数合法。如果类型为Object,则显式的缺省值只能是Nothing。,3. 使用“添加过程”对话框 使用“添加过程”对话框建立过程的方法为: 1) 打开要添加过程的代码编辑窗口。 2) 执行“工具”菜单中的“添加过程”命令,打开“添加过程”对话框。 3) 在“名称”文本框中输入过程名。从“类型”组中选择过程类型。从“范围”组中选择范围,相当于使用Public或Private关键

10、字。 4) 单击“确定”按钮。 使用本方法,建立一个过程模板,程序员可以通过修改它建立自己的过程。,7.1.3 通用过程的调用 建立通用过程的目的之一就是减少重复代码,将公共语句放入分离开的过程(通用过程)并由事件过程来调用它。每次调用过程都会执行Sub和End Sub之间的语句序列。Sub过程以Sub开始,以End Sub结束。当程序遇到End Sub时,将退出过程,并立即返回到调用语句的后续语句。 调用过程有诸多技巧,它们与过程的类型、位置以及在应用程序中的使用方式有关。 调用Sub过程有两种方法: 使用Call语句:Call 过程名( 实参表 ) 直接使用过程名:过程名实参表,说明: 1

11、) 实参表是实际参数列表,参数与参数之间要用逗号分隔。 2) 当用Call语句调用执行过程时,其过程名后必须加括号,若有参数,则参数必须放在括号之内。 3) 若省略Call关键字,则过程名后不能加括号,若有参数,则参数直接跟在过程名之后,参数与过程名之间用空格隔开,参数与参数之间用逗号分隔。 例如,以下两个语句都调用了名为Stars的过程: Stars 40 Call Stars(40) 其中的40是实际参数。实际参数还可以是变量或表达式。例如: m = 40: Call stars(m),【例7-1】计算阶乘5!、6!、8!,以及阶乘的和5! + 6! + 8!,如图7-2所示。 图7-2

12、计算阶乘以及阶乘的和 分析:要计算s = 5! + 6! + 8!,先要分别计算出5!,6!和8!。由于3个求阶乘的运算过程完全相同,因此可以用通用Sub过程来计算任意阶乘tot!,每次调用Sub过程前给tot一个值,在Sub过程中将所求结果放入到totol变量中,返回主程序后tot变量接收total的值。这样三次调用子程序便可求得s。,1) 双击窗体的空白区,打开代码编辑窗口。单击“工具”菜单中的“添加过程”,打开“添加过程”对话框。在“名称”文本框中输入过程名“Fact”;从“类型”组中选中“子程序”,从“范围”组中选中“公有的”,如图7-3左所示。单击“确定”按钮后,在代码窗口中可以看到

13、添加了一个子过程,如图7-3右所示。 图7-3 “添加过程”对话框与代码编辑窗口,2) 编写通用过程代码。 在括号中添加形参表“m As Integer, total As Long”,fact通用子过程代码为: Sub Fact(m As Integer, total As Long) 计算阶乘子过程 Dim i As Integer total = 1 For i = 1 To m total = total * i Next i End Sub,3) 编写事件过程来调用通用过程。 命令按钮组的Click事件代码为: Private Sub Command1_Click(index As

14、Integer) Dim a As Integer, b As Integer, c As Integer, s As Long, tot As Long n = index Select Case n Case 0 a = 5: Call Fact(a, tot): Label1.Caption = a & “! = “ & tot Case 1 a = 6: Call Fact(a, tot): Label1.Caption = a & “! = “ & tot Case 2 a = 8: Call Fact(a, tot): Label1.Caption = a & “! = “ & t

15、ot Case 3 a = 5: b = 6: c = 8: Call Fact(a, tot): s = tot: Call Fact(b, tot) s = s + tot: Call Fact(c, tot) s = s + tot: Label1.Caption = a & “! + “ & b & “! + “ & c & “! = “ & s End Select End Sub,7.2 Function过程 函数是过程的另一种形式,当过程的执行返回一个值时,使用函数就比较简单。VB包含了许多内置的或内部的函数,如Sqr、Cos或Chr。用户在编写程序时,只需写出一个函数名并给定参

16、数就能得出函数值。当在程序中需要多次用到某一公式或要处理某一函数关系,而又没有现成的内部函数可以使用时,VB允许使用Function语句编写用户自定义的Function(函数)过程。Function过程与内部函数一样,可以在程序或函数嵌套中使用。,7.2.1 Function过程的定义 与Sub过程一样,Function过程也是一个独立的过程,可读取参数、执行一系列语句并改变其参数的值。与Sub过程不同的是,Function过程可返回一个值到调用的过程。Function过程的语法是: Private | Public Static Function 函数名( 形参表 ) As 类型 语句序列 函数名=表达式 Exit Function 语句序列 函数名=表达式 End Funct

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

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

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