Visual Basic程序设计第8章过程与作用域 .pptVIP

Visual Basic程序设计第8章过程与作用域 .ppt

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
2.实参 实参是主调过程中调用过程时所给出的具体参数,这些参数是有确定值的,它们可以是直接常量或有值变量、表达式、数组中的某一个元素等。形参表和实参表都以括号“( )”括住,其表中的多个变量以逗号“,”隔开,变量名可以不同,在传递时形参和实参的个数必须相同,类型必须相容,传递值时一一对应。 以8.4.4函数过程应用实例为例,形参和实参的对应关系为: 形参 Private Function Find(a( ) As Integer, x As Integer) As Integer 实参 find_flag = Find(a( ), x) 定义Function Find时,定义了Find的两个形式参数数组a( )和x。调用Find时需要两个参数,第一参数是一个数组,它的值将对应传递给形式参数数组a( ),第二个参数是一个整数,它的值将对应传递给形式参数x。注意形参和实参是按照位置对应关系传递而不是参数的名称。 8.5.2传址与传值方式 形参和实参之间的数据传递方式有两种:按地址传递和按值传递。 1.按地址传递 按地址传递参数,是指被调用的过程的形式参数并不建立自己的存储单元,而是与主调过程共享同一存储单元,因此当被调用过程的形参值发生变化时,主调过程中的实参值也将发生同样的变化。在定义按地址传递时,需要在形参前面加上关键字ByRef,若省略VB也默认参数传递方式为按地址传递。按地址传递时,若实参是表达式或者用括号括住,形参的值将不能在过程调用结束时反向传递给实参。 2.按值传递 值传递则是主调过程的实际参数与被调用过程的形式参数各有自己的存储单元,调用过程时主调过程的实参值被复制到被调用过程的形参存储单元中,这样以后被调用过程形参的变化与主调过程的实参不再发生任何联系。在定义按值传递时,需要在形参前面加上关键字ByVal。 3.两种参数传递方式的比较实例 下面通过一个实例,来对比一下两种参数传递方式的不同效果。本实例中, 窗体给出同一个过程按两种不同方式进行参数传递的代码,用户输入一个数后,分别单击参数按地址传递和参数按值传递按钮,可以对比看出过程执行后参数x的值是不同的。 应用程序设计步骤如下: ①建立应用程序用户界面和设置对象属性。 选择“新建工程”,进入窗体设计器。设计好的程序用户界面如图8-7所示。 图8-7 两种参数传递方式的比较实例设计界面 ②编写代码。 在通用段中定义half过程按两种不同方式进行参数传递的代码: Private Sub half1(ByRef x As Integer) x = x / 2 End Sub Private Sub half2(ByVal x As Integer) x = x / 2 End Sub 编写命令按钮Command1(参数按地址传递按钮)的Click事件代码如下: Private Sub Command1_Click() Dim x As Integer x = Val(Me.Text1.Text) Call half1(x) Me.Text4.Text = x End Sub 编写命令按钮Command2(参数按值传递按钮)的Click事件 代码如下: Private Sub Command2_Click() Dim x As Integer x = Val(Me.Text1.Text) Call half2(x) Me.Text4.Text = x End Sub 程序执行后,输入偶数8,单击参数按地址传递按钮后,输出4,单击参数按值传递按钮后,输出8,如图8-8所示。 过程调用时,如果实参使用括号括住,则参数的传递方式为按值传递。 图8-8 两种参数传递方式的比较实例设计界面 返回 8.5.3 传递数组 在过程的调用中,数组值的传递有其特殊性: (1)数组只能按地址传递,不能按值传递。 (2)在主调过程的实参表和被调用过程的形参表中无需说明数组的维数。 (3)若传递数组中的某一个元素,则在Call语句中直接写上该数组的元素,例如:Call find(a(

文档评论(0)

132****9295 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档