- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 过程
过程(或称子程序)是完成独立功能的一组代码。Visual Basic的过程可以分为两大类:事件过程和通用过程。
事件过程构成了应用程序的主体,他们总是与特定对象联系在一起。
通用过程独立于事件过程,可以供事件过程或其他通用过程调用。
过程有两个重要作用:
模块化结构
将一个较大的应用程序分解成若干较小的过程,使程序有清晰的模块化结构,有利于代码的分头编写,便于多个程序员协同工作。
代码重用
复杂任务中常包含一些性质相同或相近的小任务,把这些小任务编写成具有通用独立功能的过程,使其能够在程序的不同位置上调用,从而简化了程序,避免了重复编程。
7.1 通用过程
通用过程与事件过程一样,由程序员编写,它既可以保存在窗体模块(.frm文件)中,也可以保存在标准模块(.bas文件)中。通用过程与事件过程不同,它不能由事件的发生来驱动执行,也不能由Visual Basic系统自动调用执行,只能通过事件过程的直接调用或正在被执行的其他通用过程的调用才能被执行。
引例 输入M、N,计算并输出:
利用前面几章的知识可以很容易写出计算公式的代码如下:
Private Sub Form_Click()
Dim m as integer, n as integer, k As Integer
Dim cmn as single, c As Single
read: m = Val(InputBox(请输入m的值:)) ‘m n 才能计算公式
n = Val(InputBox(请输入n的值:))
If n m Then GoTo read:
k = m
c = 1 ‘求m的阶乘
For i = 1 To k
c = c * i
Next i
cmn = c
k = n
c = 1 ‘求n的阶乘
For i = 1 To k
c = c * i
Next i
cmn = cmn / c
k = m – n
c = 1 ‘求(m – n)的阶乘
For i = 1 To k
c = c * i
Next i
cmn = cmn / c
Print m=; m; n=; n; 计算结果为:; cmn
End Sub
◆程序中斜体部分代码出现了3次,做了重复工作,可以将这部分独立书写成通用过程。
Visual Basic中最常用的通用过程是:Sub过程(子过程)和Function过程(函数过程)。
7.1.1 Sub过程
1)Sub过程的定义
Sub过程与对象、事件均无关,是在代码窗口中的独立过程,随时等待其它过程(主要是事件过程)调用。
Sub过程的创建方法有两种:一是在代码窗口中直接按规定的格式编写;二是利用VB的过程添加工具生成过程框架,然后编写过程体。
⑴利用代码窗口直接定义通用过程
在窗体/标准模块的代码窗口,把插入点放在所有过程之外,可直接编写Sub子过程,其格式为:
[Private | Public] [Static] Sub 过程名 [(参数表)]
语句组
[Exit Sub]
语句组
End Sub
说明:
①若选用Public,表示所有模块的所有其它过程都可访问这个Sub过程;若选用Private表示只有在包含其声明的模块中的其它过程可以访问该Sub过程;若选用Static表示Sub过程的局部变量为静态变量,在过程被调用执行之后,其分配的存储单元和值仍然保留。
如果没有使用 Public、Private 显式指定,Sub 过程按缺省情况就是公用的。如果没有使用Static,则局部变量都是非静态变量。
②参数表称为形参表(或虚拟参数表)。说明调用时要传递给Sub过程的变量列表,多个变量需用逗号隔开。参数表格式如下:
[ByVal | ByRef] 变量名[( )][As 数据类型],…
其中:ByVal表示该参数按值传递,ByRef表示该参数按地址传递。ByRef 是Visual Basic 的缺省选项。
当参数是数组时,形参在参数声明时应省略维数,但括号()不能省略。实参③Sub过程可以调用自己,即递归调用。但不能在别的Sub、Function或Property过程中定义Sub过程。
④Exit Sub语句表示从Sub过程中退出。在Sub过程体的任何位置都可出现Exit Sub语句。
⑤Sub过程中使用的变量可以是显式定义或未定义的。在过程内显式
文档评论(0)