看流星社区

 找回密码
 注册账号
查看: 2269|回复: 1

[VB] vb中能否用return函数

[复制链接]

该用户从未签到

发表于 2014-7-8 08:43:17 | 显示全部楼层 |阅读模式
vb中能否用return函数

该用户从未签到

发表于 2014-7-8 09:02:28 | 显示全部楼层
不能!
在vb中,return语句并不是用在函数的返回值上,这一点跟C和C++不同。主要用在下面两个语句:
1) GoSub...Return 语句
语法:
GoSub line
...
line:
...
Return
必要的 line 参数可以是任何行标签或行号
说明:
可以在过程中的任何地方使用 GoSub 和 Return,但是 GoSub 和与之相应的 Return 语句必须放在同一个过程中。一个子程序中可以包含一个以上的 Return 语句,但是当碰到第一个 Return 语句时,程序就会返回到紧接在刚刚执行的 GoSub 语句之后的语句继续执行。

注意: 不能使用 GoSub...Return 来进入或退出 Sub 过程。

提示: 创建分开的过程,并使用 GoSub...Return 来调用,可以使程序更具结构化。
示例:
Sub GosubDemo()
Dim Num
' 请求用户输入一个数字。
   Num = InputBox("Enter a positive number to be divided by 2.")
' 如果用户输入一个正整型,则使用子程序。
   If Num > 0 Then GoSub MyRoutine   
   Debug.Print Num
   Exit Sub   ' 使用 Exit 命令来避免错误发生。
MyRoutine:
   Num = Num/2   ' 将数除以 2。
   Return   ' 将控制返回 GoSub 之后的语句。
End Sub

2) On...GoSub + Return 语句
语法:
On expression GoSub destinationlist
expression: 必要参数。数值表达式,其运算结果应该是一个界于 0 到 255 之间的整数,包含 0 和 255。如果 expression 的计算结果不是一个整数,则它会先四舍五入为一个整数。
destinationlist: 必要参数。行号或行标签的列表,之间要以逗号隔开。
说明:
expression 的值会决定转到 destinationlist 中的哪一行。如果 expression 的值小于 1 或大于列表的项目个数,则会产生下面的结果之一:
等于 0: 控制权会转移到 On...GoSub 之后的语句。
大于串的项目个数: 控制权会转移到 On...GoSub 之后的语句。
负数: 会发生错误。
大于 255:会发生错误。
可以在同一个列表中混合使用行号和行标签。在 On...GoSub 中也可随意使用任意个行号和行标签。但是,如果使用了太多的行标签或行号,以至于在一行中放不下,那么就必须在一行后使用续行符来衔接到下一行。
示例:
Sub OnGosubGotoDemo()
Dim Number, MyString
   Number = 2   ' 设置变量初值。
   ' Branch to Sub2.
   On Number GoSub Sub1, Sub2   ' 在 On...GoSub 退出后,程序会回到此处来继续完成。
   Exit Sub
Sub1:
   MyString = "In Sub1" : Return
Sub2:
   MyString = "In Sub2" : Return
End Sub
点击按钮快速添加回复内容: 支持 高兴 激动 给力 加油 苦寻 生气 回帖 路过 感恩
您需要登录后才可以回帖 登录 | 注册账号

本版积分规则

小黑屋|手机版|Archiver|看流星社区 |网站地图

GMT+8, 2024-3-28 22:59

Powered by Kanliuxing X3.4

© 2010-2019 kanliuxing.com

快速回复 返回顶部 返回列表