VB程序设计08

上传人:hy****d 文档编号:242879874 上传时间:2024-09-10 格式:PPT 页数:37 大小:87KB
返回 下载 相关 举报
VB程序设计08_第1页
第1页 / 共37页
VB程序设计08_第2页
第2页 / 共37页
VB程序设计08_第3页
第3页 / 共37页
点击查看更多>>
资源描述
单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,请单击鼠标左键换页!,第8章 过程,过程是用来执行一个特定任务的一段程序代码。VB应用程序(又称工程或项目)由若干过程组成,这些过程保存在文件中,每个文件的内容通常称为一个模块。,在程序设计过程中,将一些常用的功能编写成过程,可供多个不同的事件过程多次调用,从而可以减少重复编写代码的工作量,实现代码重用,使程序简练、便于调试和维护。在VB6.0中,用户自定义过程分为:以“Sub”保留字开始的子过程、以“Function”保留字开始的函数过程、以“Property”保留字开始的属性过程、以“Event”保留字开始的事件过程。,本章主要介绍用户自定义的子过程和函数过程。,退出,8.1 子过程,8.2 函数过程,8.3 参数传递,8.4 过程与变量的作用域,8.5 鼠标事件和键盘事件,8.1 子过程,子过程是用特定格式组织起来的一组代码,通常用来完成一个特定的功能,可以被其它过程作为一个整体来调用。,8.1.1 子过程的定义,定义子过程有以下两种方法。,1利用“工具”菜单下的“添加过程”命令定义,2利用代码窗口直接定义,在窗体或标准模块的代码窗口把插入点放在所有现有过程之外,键入Sub子过程名即可。定义一般形式如下:,StaticPublic|PrivateSub 子过程名(参数列表),局部变量或常数定义,语句序列,Exit Sub,语句序列,End Sub,下面是一个子过程的例子:,Sub sum(x%,y%,s%),s = x + y,End Sub,8.1.2 过程的调用,要执行一个过程,必须调用该过程。,子过程的调用有两种方式,一种是利用Call语句加以调用,另一种是把过程名作为一个语句来直接调用。,1用Call语句调用Sub过程,格式:Call 过程名(参数列表),例如: Call sum(a,b,c),2把过程名作为一个语句来使用,格式: 过程名参数列表,与第一种调用方法相比,这种调用方式省略了关键字Call,去掉了“参数列表”的括号。,例如: sum a,b,c,【例8.2】编一个求n!的子过程,然后调用它计算7!+11!-10!。,程序如下:,Sub jch(n%,p&),Dim i%,p = 1,For i = 1 To n,p = p,*,i,Next i,End Sub,Private Sub Form_Click(),Dim a&,b&,c&,d&,Call jch(7,a),Call jch(11,b),Call jch(10,c),d = a + bc,Print 7!+11!-10!=;d,End Sub,8.2 函数过程,函数过程是自定义过程的另一种形式。VB提供了许多内部函数,如Sin(),Sqr()等,在编写程序时,只需写出函数名和相应的参数,就可得到函数值。另外,VB还允许用户自己定义函数过程。同内部函数一样,函数过程也有一个返回值,。,8.2.1 函数的定义,函数过程的定义方法也有以下两种。,1利用“工具”菜单下的“添加过程”命令定义,2利用代码窗口直接定义,在窗体或标准模块的代码窗口把插入点放在所有现有过程之外,键入Function函数名即可。定义形式如下:,StaticPublic|Private Function 函数名(参数列表)As类型,局部变量或常数定义,语句序列,Exit Function,语句序列,函数名=表达式,End Function,8.2.2 函数的调用,调用函数过程可以由函数名带回一个值给调用程序,被调用的函数必须作为表达式或表达式中的一部分,再与其它的语法成分一起配合使用。因此,与子过程的调用方式不同,函数不能作为单独的语句加以调用。,最简单的情况就是在赋值语句中调用函数过程,其形式为:,变量名=函数过程名(参数列表),【例8.3】用函数过程实现对例8-2的求解。,程序如下:,Function jch&(n%),Dim i%,jch = 1,For i = 1 To n,jch = jch,*,i,Next i,End Function,Private Sub Form_Click(),Dim d&,d = jch(7)+ jch(11)jch(10),Print 7!+11!10!=;d,End Sub,8.3 参数传递,在调用过程时,一般主调过程与被调过程之间有数据传递,即将主调过程的实参传递给被调过程的形参,完成实参与形参的结合,然后执行被调过程体。在VB中,实参与形参的结合有两种方法:传址和传值。传址是默认的方法。两种结合方法的区分标志是“ByVal”,形参前加“ByVal”关键字时是传值,否则为传址。本章前面的举例,例8.4是传值,其余均为传址。,8.3.1 传值,传值的参数传递过程是:当调用一个过程时,系统将实参的值复制给形参,之后实参与形参便断开了联系。被调过程对形参的操作是在形参自己的存储单元中进行,当过程调用结束时,这些形参所占用的存储单元也同时被释放。因此在过程中对形参的任何操作都不会影响到实参。,8.3.2 传址,传址的参数传递过程是:当调用一个过程时,它将实参的地址传递给形参。因此在被调过程体中对形参的任何操作都变成了对相应实参的操作,因此实参的值就会随形参的改变而改变。当参数是字符串或数组时,使用传址传递直接将实参的地址传递给过程,会使程序的效率提高。,8.3.3 数组参数的传递,数组可以作为过程的参数。过程定义时,形参列表中的数组用数组名后的一对空的圆括号表示。在过程调用时,实际参数表中的数组可以只用数组名表示,省略圆括号。,当用数组作为过程的参数时,进行的不是“值”的传递,而是“址”的传递。,【例8.7】用数组作参数,求一维数组中的所有负元素之和。,程序如下:,Function sum%(b%(),Dim i%,For i = LBound(b)To UBound(b),If b(i)= 65 And KeyAscii = 90,Then,Text1 = Text1 + Chr(KeyAscii),Else,str = UCase(Chr(KeyAscii),KeyAscii = 0,Text1 = Text1 + str,End If,End Sub,
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!