新Visual Basic程序设计教程 教学课件 郭琳 高世健 第五章 过程.pptVIP

  • 2
  • 0
  • 约 44页
  • 2016-10-26 发布于广东
  • 举报

新Visual Basic程序设计教程 教学课件 郭琳 高世健 第五章 过程.ppt

5.1.2 子过程的定义 子过程的定义形式如下。 [Public | Private] [Static] Sub 子过程名 ( [形式参数列表]) 语句块 [Exit Sub] 语句块 End Sub 5.1.2 子过程的定义 (3)子过程名的命名规则与变量名的命名规则相同。 (4)形式参数列表的格式如下。 [ByVal | ByRef] 变量 [AS类型] [,[ByVal | ByRef] 变量 [AS类型]] [,…] ByVal表示过程被调用时,参数是按值传递的;ByRef或默认情况下,参数是按地址传递的。“AS类型”表示该变量的数据类型,也可以用相应的类型符代替。形式参数通常简称为“形参”,形参列表仅表示形参的类型、个数及位置顺序,定义时是没有值的,只有在过程被调用时,形参与实参相结合才获得相应的值。过程也可以没有形参,但括号不能省略。 (5)Exit Sub语句表示退出子过程。 5.1.2 子过程的定义 例5-1编写子过程,求两个整数的和。 Public Sub add(ByVal a As Integer, ByVal b As Integer) Dim c As Integer c = a + b Print c=; c End Sub 5.1.2 子过程的建立 1.在代码编辑窗口中输入 进入代码编辑窗口后,在左侧显示对象名的下拉框中选择“通用”选项,在右侧显示过程的下拉框中选择“声明”选项,然后在输入Sub、子过程名和形参按回车后,Visual Basic系统自动加上End Sub,这样就可以在中间输入子过程所需的语句 5.1.2 子过程的建立 2.使用“添加过程”对话框 打开想要添加子过程的代码窗口,执行“工具”菜单的“添加过程”命令,打开“添加过程”对话框,如图5-2所示,在“名称”文本框中输入子过程名,在类型选项组中选择“子过程”单选按钮,在“范围”选项组中选择公有的(Public)或私有的(Private)。 5.1.4 子过程的调用 1.Call子过程名(实参列表) Call语句把程序流程转到定义子过程处。使用Call语句调用子过程时,如果子过程本身没有形参,则实际参数和括号都可以省略,否则应给出相应的实际参数,并把它放在括号中。实际参数是指在调用子过程时传给形参的变量或常量,一般简称“实参” 2.子过程名(实参列表) 该方法省略了关键字Call,并且去掉了实参列表的括号。 5.1.4 子过程的调用 例5-2编写程序调用例5-1定义的子过程。 代码如下: Private Sub Form_Click() Dim x As Integer, y As Integer x = 10 y = 20 Call add(x, y) ’也可以写成add x,y End Sub 5.1.5 子过程的传递 参数分为两种: (1)形式参数。 它是指在定义子过程时,出现在子过程名后面圆括号内的参数,专门用于接收实参传递过来的数据。 (2)实际参数。 它是指在调用子过程时,写在子过程名后的参数,专门用于向子过程的形参传递数据。实参列表可以是常量、变量、表达式等。 5.1.5 子过程的传递 参数的传递是指主调过程的实参把数据传给被调过程的形参,传递的方式有两种。 1.按值传递 按值传递是在形参的定义时在变量名前加上关键字“ByVal”,使用这种传递方式时,实参将数值传递给对应的形参。在Visual Basic中,系统会给形参临时分配一个内存单元,实参的值传递到这个临时的内存单元中去,即意味着实参和形参分别占用两个不同的内存单元,因此当在调用子过程时改变了形参的值,不会影响到实参本身,在子过程调用完毕返回主调过程时,临时分配给形参的内存单元被释放,实参的值不变,因此这种传递方式被称为“单向传递”。 5.1.5 子过程的传递 2.按地址传递 在形参定义时变量名前没有任何关键字或用“ByRef”来修饰的,是一种把实参变量的地址传递给形参的方式。传递完成时,实参和形参具有相同的地址,即实参和形参共同占用一个内存单元。子过程被调用时,形参的值如果发生改变,实参的值也会发生改变。因此这种传递方式称为“双向传递”。 5.1.5 子过程的传递 5.1.5 子过程的传递 5.1.5 子过程的传递 5.1.5 子过程的传递 5.1.5 子过程的传递 Private Sub add(x As Integer) x = x + 1 Print 调用后x=; x; End Sub Private Sub Form_Click() Dim a As Integer a = 40 Print 第一次:调用前a=; a; add a ’实参是变量,按地址传递 Print a=; a Print 第

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档