【vb精品源码栏目提醒】:网学会员鉴于大家对vb精品源码十分关注,论文会员在此为大家搜集整理了“第08章 过程 - 教育”一文,供大家参考学习
第22讲 过程一 SUB过程及其调用二 Function函数定义及调用三 参数的传递四 变量的作用域五 实验 §8 过 程 如同常量的定义一样,有时不仅仅是几个数字反复出现在程序中,而且是很多段代码在做几乎同样的事,如果有一些通用的代码可供调用的话,那么程序就会简练得多,而且更为清晰,这就是过程与函数。
Vb中使用的过程分为子程序过程、函数过程和属性过程。
窗体过程 事件过程 子程序过程(SUB) 控件过程 过程 通用过程 函数过程(FUNCTION) 属性过程(PROPERTY)§一 SUB过程及其调用 事件过程 通用过程 过程 1 事件过程加入对发生事件进行处理的代码的过程,称为事件过程。
1、建立事件过程 (1)打开代码窗口(双击控件或窗体,单击查看 代码)—选择对象和事件—输入代码——保存 (2)“工具”菜单——“添加过程”(如下 图)——输入代码——保存 1、事件过程2、定义事件过程(1)控件事件过程形式: Private Sub 控件名_事件名 argumentlist 语句块 Private Sub cmd1_Click End Sub end End Sub 说明: (1)控件名必须与窗体中某个控件相匹配,否则为通用过程 且该过程也属于私有过程。
(2)argumentlist 指的是参数列表,所谓参数,就是指过程 操作所需的指导条件。
有无参数由事件本身决定,用户不可以 自行添加。
§8.1.1 事件过程2)窗体事件过程形式: Private Sub Form_事件名 argumentlist 语句块 如有一窗体名为f1,则可以有如下代码: Private Sub Form_Activate End Sub L2.ForeColor RGB0 255 255 End Sub 说明: (1)Private 表明该过程的使用范围是模块级的,在该窗体之 外是不可见的。
(2)不论定义的窗体名称为什么,均用Form 或MIDFORM(多文 档界面窗体)表示。
(3)事件由
VB提供。
注意部分事件的发生顺序:Initialize、 Load、Activate、GotFocus事件的发生顺序是依次的。
1、 事件过程例题 演示 2、 通用过程 将多次被重复使用的程序段设计成一个具有一定功能的独立程序段,即为通用过程。
引例1:编程时经常要用到两个数的交换,可以将其编写成过程。
2、 通用过程1、建立通用过程(1)打开代码编辑器窗口——选择工具菜单——选择添加过程(2)在代码编辑器窗口中选择“通用——声明” 2、 通用过程2. 通用过程的定义: 形式如下: Private/PublicStatic Sub 过程名 (参数列表) 局部变量和常量声明 语句块 例 Exit Sub Public Sub swapx y 语句块 Dim t As Integer t x: x y: y t End Sub End Sub 2、 通用过程说明: (1)Private/Public可缺省,若缺则系统默认为Public。
Static如果不省则指定过程中的局部变量为“静态”变量。
(2)过程名命名规则和变量名相同,且不能重名。
(3)参数列表中的参数是形式参数,可以是变量名或数组名(此时要加()),参数可以省略,但是外层()不可省,若有多个参数,则用逗号分开。
(4)过程体中Exit Sub可以有多个,执行到此语句,立即退出该过程。
Sub过程不可以嵌套。
2、 通用过程3.SUB过程调用 格式1:CALL 过程名 (实参表) 格式2:过程名 实参1,实参2,……说明:(1)过程名是被调用过程的名字,当调用程序执行 到此代码时,
VB将开始执行被调用过程。
(2)实参是传送给被调用过程的变量、常数或表达式。
实参的个数和类型、顺序应与被调过程的形参相匹配,且个参数之间应用逗号分隔。
对于格式1,若被调过程无参数,则(实参表)可以省略。
而格式2,不论是否有参数,实参列表均不需要加括号。
2、 通用过程例题 若在应用程序中用“Private Sub Sub1X As Integer Y AsSingle”定义了子程序Sub1,调用程序中的变量IJ均为Integer型,则正确调用子程序Sub1的Call语句是______。
①Call Sub1IJ ②Call Sub13.1415I ③ Call Sub13.14234 ④Call Sub1245231.5A. ①③ B. ③④ C. ①②③ D. 无 2、 通用过程例1:调用两数交换过程 Public Sub swapx y Dim t As Integer t x: x y: y t End Sub Private Sub Command2_Click Dim a As Integer b As Integer a ValText2.Text: b ValText3.Text call swap ab 或 swap a b Text2.Text Stra:Text3.Text Strb End Sub 1 FUNCTION函数的建立与定义1. FUNCTION函数的建立 Function函数的建立与SUB类似。
2. FUNCTION函数的定义Private/PublicStatic Function 函数名 (参数列表)as 数据类型 语句块 函数名表达式 Private Function swap1x y Exit Sub Dim t As Integer 语句块 t x: x y: y t 函数名表达式 End FunctionEnd 1、 FUNCTION函数的建立与定义说明: Function函数和Sub过程的区别及注意事项:两者的主要区别是有无返回值。
SUB过程没有返回值,而Function函数有返回值。
“函数名表达式”语句功能是给函数名赋值,通常情况下在函数体内至少要对函数名进行一次赋值,若缺省,则返回对应类型的缺省值。
因为函数有返回值,所以过程名也有类型。
“as数据类型”指定函数类型,若缺省,默认为变体型。
而SUB过程名没有值,因而也没有类型,且在子过程体内也不能对子过程名赋值。
只要能定义成函数过程的就一定能定义成子过程,反之不一定。
2、 FUNCTION函数的调用格式如下: 格式1:Function 过程名(实参表) 格式2:CALL 过程名(实参) 格式3:过程名 实参 说明:通常用第一种比较多,用后两种方法调 用函数时
VB放弃函数的返回值。
2、 FUNCTION函数的调用例题 在应用程序中用“Private Function Fun XAs IntegerY As Integer”定义了函数Fun.调用函数Fun的过程中的变量I定义为Integer型,变量J定义为STRING型,能正确引用函数Fun的是______。
B ①FunIJ ②Call FunI3.65 ③Fun3.14234 ④Fun245231.5A. ①③ B. ②③④ C. ①②③ D. ①②③④ 2、 FUNCTION函数的调用例题 2、编写一段求三角形面积的函数,并多次调用。
(设三角形 三边长为x,y,z,则面积为c 1 / 2 x y z; area Sqrc c - x c - y c - z) Public Function areax y z As Single Dim c As Single c 1 / 2 x y z area Sqrc c - x c - y c - z End Function