文档详情

第七章_过程.ppt

发布:2017-06-10约2.29万字共156页下载文档
文本预览下载声明
第7章 过 程 过程的三要素 1、过程名与过程功能 2、过程的定义与过程的调用(激活) 3、过程的参数传递 按地址传递 按值传递 7.1 Sub过程 在VB中有两种Sub过程: 事件过程 通用过程 7.1.1????事件过程 Visual Basic程序是事件驱动的。例如 用户单击鼠标或按键都会产生一个事件;另 外系统也可以产生事件(例如定时事件)。 我们可以把对这些发生的事件进行处理 的代码放在过程中,这样的过程称为事件过 程。 1.定义窗体事件过程 窗体事件过程的语法:   Private Sub Form_事件名(〔参数列表〕)   〔局部变量和常数声明〕   语句块 End Sub 2、窗体的若干事件 Initialize(初始化)事件是在窗体被加载之前,窗体被配置的时候触发 Load(加载)事件,VB把窗体从磁盘或从磁盘缓冲区读入内存时发生 Activate(激活)事件是在窗体已经被装入内存,变成被激活的窗体时触发 GotFocus事件在窗体成为当前焦点时触发 窗体各事件的发生次序 Initialize和Load事件都是发生在窗体 被显示之前,放入其中的语句是有所限制 的,例如: Print语句 “对象名.SetFocus”一类的语句,不能放入其中。 (6) 参数列表中的参数称为形式参数,它可以是变量名或数组名。若有多个参数时,各参数之间用逗号分隔。 Sub过程可以没有参数,但一对圆括号不可以省略,不含参数的过程称为无参过程。 关于形参与实参 定义过程时的参数——形参 调用过程时的参数——实参 形参与实参在:个数,类型, 位置要一致。 例如:见下页 Optional 表示参数是可选参数的关键字,缺省Optional前缀的参数是必选参数。可选参数必须放在所有的必选参数的后面,而且每个可选参数都必须用Optional关键字声明。所谓的可选参数就是在调用过程时,可以没有实在参数与它结合。本书不涉及可选参数。 调用过程的执行流程 参数传递总结 按地址?双向传递 按值 单向传递 简单变量有按“地址”和按“值”两种传递方式,若简单变量也只想按“值”传递的话,可以将实参变量加上括号,这样简单变量就变为表达式了。例: call max((m),n)。 参数传递总结 表达式只有按“值”传递一种方式。 数组只有按“地址”传递一种方式。 对象只有按“地址”传递一种方式。 在窗体form1 中用“Public Sub Fun(x as integer, Y as single)” 定义过程Fun,在窗体form2中定义了 变量I为integer,j 为single,若要在Form2的某事件 过程中调用Form1中的Fun过程,则下列语句中正确 的语句有___个。 ①Call fun(I,j) ②call form1.fun(I,j) ③form1.fun (i),j ④form1.fun I+1,(j) A. 1 B. 2 C. 3 D. 4 定义两个过程“Private Sub sub1(st() as string)”和“Private Sub sub2(ch() as string*6)” 在调用过程中用“Dim s(3) as string*6,a(3) as string ”定义了两个字符串数组。下面调用语句中, 正确的语句是___。 ①call sub1(s) ②call sub1(a) ③call sub2(a) ④call sub2(s) A. ①② B.①③ C. ②③ D. ②④ 例:用递归函数求两整数的最大公约数 程序中的Function过程Gcd 是按照欧几里德算法(也称为辗转相除法)设计的一个递归函数,其边界条件(终止条件)是:当R = 0时,函数赋值返回 Public x %, y%, z% Private Sub Form_Activate() exam Debug.Print x, y ,z End Sub Private Sub Form_Load() x = 10 : y = 20 : z = 35 End Sub 5、静态变量 静态变量是程序开始运行时创建的变量。同全局变量一样,静态变量在程序的数据区分配存储空间,过程运行结束时静态变量的存储空间仍然保留,所以静态变量的值可以保持,并从一次调用传递到下一次调用。尽管如此,静态变量的作用范围仍然限于包含它的过程内。 使用静态变量与同名
显示全部
相似文档