vb教学第7章.pptVIP

  1. 1、本文档共17页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第7章 过程与函数 7.1 过程 过程有两种:事件过程和通用过程。 事件过程:即对象的事件,调用可由用户操作或系统触发,代码由用户编写。 通用过程:由用户定义、编写代码和调用。 通用过程的定义 [Private|Public] Sub 过程名([形式参数列表]) …… [Exit Sub] …… End Sub 如果中途要退出过程,使用语句: Exit Sub Sub过程不能嵌套定义,即不能在一个过程中定义另一个过程;但允许嵌套调用,即可以在一个过程中调用另一个过程。 Public为全局过程,可以在所有模块中调用它。一般定义在工程的标准模块内。 在定义函数或过程前加上static,表示该过程中的所有局部变量都为静态变量。 过程 要执行一个过程,必须调用该过程。 调用过程 用Call语句调用过程 Call 过程名 [(实际参数)] 如:Call readdata(“c:\s1.txt”) 有参数 如:Call savedata 无参数时省略括号 把过程名作为一个语句来使用(必须省略括号) 过程名 [实际参数] 如:readdata “c:\s1.txt” 有参数 如:savedata 无参数时省略括号 过程定义举例 定义一个求n!的过程suba(Form71) 7.2 函数 函数包括:系统函数和用户自定义函数。 与过程相比,函数有返回值,方法是:将返回值赋值给函数名。 自定义函数的定义: [Private|Public] Function 函数名([形式参数列表])[As 数据类型] 语句块 [函数名=表达式] [Exit Function] End Function AS 数据类型决定了函数返回值的类型。省略为Variant型。 如果没有函数名=表达式语句,函数会根据AS 数据类型自动返回一个缺省值。数值为0;字符为空串”” ;Boolean为False。 函数名=表达式语句可以出现在函数的任意位置,该语句并不代表函数的结束。 如果中途要退出函数,可以使用语句: Exit Function 函数的调用 在表达式中调用 例如: c=max(a,b) n=year(date()) 如果函数没有参数,可以省略括号。如上date()可以写成: n=year(date) 调用过程的方法同样适用于函数,但函数的返回值会自动放弃。 例如:msgbox “数据输入错误!” 例如:Call MsgBox(数据输入错误!“, 2) 函数定义举例 将前面的suba过程修改为函数形式。 编写函数Fun (Form72) ,用于求1-n内能被3整除的数的和。 过程、函数中的参数传递 形参与实参 形参是指在Sub,Function的定义行中出现的变量。 实参是指在调用Sub或Function时传送的常量、变量、表达式或数组。 参数传递的两种方式 按地址传递 在形参名前加ByRef (可省略)。调用时,实际上是将实参的地址传递给形参。此时,实形与形参是同一个变量,对形参的改变,相当于改变了实参。 按值传递 在形参名前加ByVal,调用时,实际上是将实参的值复制给形参。此时,形参和实参是两个不同的变量,对形参的改变不会影响到实参的值。 参数传递举例(过程) 按地址传递 参数传递举例(过程) 按值传递 参数传递举例(过程) 思考:下列过程被调用后执行的结果是多少? 参数传递举例(函数) 按地址传递 7.3 高级用法-数组参数 定义过程和函数时,VB允许用数组作为形参。 形参数组必须是动态数组。即:数组名() [as 数据类型] 。 形参为数组,则只会按地址方式传递参数。因此,无论函数或过程,都可以省略数组名前的byref 。 调用时,实参必须是数组,直接用数组名,且数组名后可以不跟括号。并且实参与形参的数据类型必须一致。 如果形参为一个变体类型(Variant)的变量,则实参可以为任意类型的数组。这时,不要求实参与形参的类型必须一致。 数组参数 形参为数组的过程(示例:从数组值中随机取出一个值)(Form74) 7.3 高级用法-可选参数 定义函数和过程时,如果在形参前加上optional关键字,则代表该参数是可选的。 可选参数以后的所有参数都必须定义成可选参数。 可选参数必须是Variant类型。 举例:求2个或3个数中的最大数函数 Function max(x, y, Optional z) max = IIf(x y, x, y) If Not IsMissing(z) T

文档评论(0)

qwd513620855 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档