网站大量收购闲置独家精品文档,联系QQ:2885784924

vb过程间参数的传递..docx

  1. 1、本文档共7页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
vb过程间参数的传递.

一、????????????形式参数与实际参数1 形式参数:就是在定义函数或过程的时候命名的参数。通俗讲就是一个记号。2 实际参数:就是在执行时,调用函数或过程时,传递给函数或过程的参数。通俗讲就是实际值。3 参数嘛,就是一个可变量,它随着使用者的不同而发生变化。举个例子,在中学的时候学过sin(x)函数,这里的x就是形式参数,当你需要求1的正弦值时,你会使用sin(1),这里的1就是实际参数。4 形参和实参间的关系:两者是在调用的时候进行结合的,通常实参会将取值传递给形参,形参去之后进行函数过程运算,然后可能将某些值经过参数或函数符号返回给调用者。在过程之间传递参数,形式参数和实际参数是很重要的概念。我们通常说形式参数是过程为了运行的需要预先在内存中保留的地址单元,而实际参数就是在调用过程时放入这些内存地址中进行处理的数据。如果形式参数是一个盒子,那么实际参数就是盒子里面装的东西。在参数传递的过程中,形式参数和实际参数的数据类型要一致。二、????????????参数传递函数参数的传递方式有两种,一种是按地址传递,一种是按值传递。按地址传递:调用函数时,不直接把实参的值“告诉”函数,而是把地址“告诉”它,函数根据这个地址来寻找并处理值,如果函数修改了这个值,也就修改了这个地址对应的值。按值传递:把值复制一份再给函数,这个值只属于函数,函数对这个值的修改不影响原值。VBScript中,要按地址传递可在形参前加 ByRef,要按值传递得在形参前加?ByVal,如果什么也不加则表示按地址传递。1)???????按值传递如果在声明过程时,形式参数名前面加上关键字“ByVal”,即规定了在调用此过程时该参数是按值传递的。按值传递参数时,传递的只是变量的副本。如果过程改变了这个值,则所做的改动只影响副本而不会影响变量本身。?代码1**********************************Private Sub Command1_Click()Dim num1 As Integer num1 = 5 Print num1 Call MySub(num1)Print num1 输出结果为5 Call MySub2(num1)Print num1 输出结果仍为5End SubPrivate Sub MySub(ByVal A As Integer) A = 10End SubPrivate Sub MySub2(ByVal A As String) A = abcEnd Sub**********************************如果过程中的形式参数设定为按值传递,就不要求调用时相应实参数的类型必须与其一致,只要实参数的值能够转换为形参的类型即可。代码2**********************************Private Sub Command1_Click() Dim num1 As Integer num1 = 5 Print num1 Call MySub2(num1)Print num1 输出结果仍为5End Sub?Private Sub MySub2(ByVal A As String) A = abcEnd Sub**********************************??2)???????按地址传递参数按地址传递参数时,过程用变量的内存地址去访问实际变量的内容,将结果的变量传递给过程时,通用过程可永远改变该变量值。ByRef 是 Visual Basic 的缺省选项。如果指定按地址传递参数的数据类型,就必须将这种类型的值传给参数,即如果过程中的形式参数设定为按地址传递,就必须要求调用时相应实参数的类型必须与其一致。按地址传递参数时,传递给所调用过程的形参实际是实参的地址。如果过程改变了这个值,则所做的变动也会影响实参变量本身?代码3******************************************Private Sub Command1_Click() Dim num1 As Integer num1 = 5 Print num1 Call MySubByRef(num1) Print num1 输出结果为10 Call MySubByRef2(num1) Print num1 默认情况,输出结果仍为10End Sub??Private Sub MySubByRef(ByRef A As Integer) A = 10End SubPrivate Sub MySubByRef2(A As Integer) A = 1

文档评论(0)

xznh + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档