vb 如何将子程序的值传递出来

vb中,一般是通过参数将值传递到子程序中,如何将子程序的值传递出来(传递到主程序中)... vb中,一般是通过参数将值传递到子程序中, 如何将子程序的值传递出来(传递到主程序中) 展开
 我来答
freeeeeewind
推荐于2018-05-17 · TA获得超过1万个赞
知道大有可为答主
回答量:3227
采纳率:94%
帮助的人:1320万
展开全部

有两种方法可以实现将子程序中的值传递出来。

(1)利用模块级或全局变量。例如

Option Explicit

' r是一个模块级变量
Dim r As Integer

Sub Add(ByVal x As Integer, ByVal y As Integer)
    '将计算结果存放到 r
    r = x + y
End Sub

Private Sub Form_Click()
    '调用子程序Add
    Call Add(10, 20)
    '获取计算结果并打印
    Print r
End Sub

(2)用 ByRef 参数实现计算结果回传。 例如

Option Explicit

'Add子程序利用 ByRef r As Integer 回传值
Sub Add(ByRef r As Integer, ByVal x As Integer, ByVal y As Integer)
    r = x + y
End Sub

Private Sub Form_Click()
    Dim r As Integer
    '调用子程序Add,计算结果回传到变量 r
    Call Add(r, 10, 20)
    '打印结果
    Print r
End Sub
syx54
推荐于2017-11-25 · TA获得超过7378个赞
知道大有可为答主
回答量:6567
采纳率:83%
帮助的人:2700万
展开全部
VB的子程序的参数,分两种:
用关键字Byval 声明的是传值参数
用关键字ByRef 声明的是传址参数
例如子程序 aaaa:
sub aaaa(Vyval a as integer,byref b as integer)
a=99
b=100
End sub
现在去调用它如下:
Dim x as integer,y as integer
x=1
y=2
Print x,y
aaaa x,y
Print x,y
可以,看到两次输出的结果x相同,y不同
y把子程序的结果传递出来了
当然,编写函数可以把结果传递出来,但是函数名只可以传递一个结果,而利用ByRef可以传递多个结果.
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
woshidaniel
2015-08-11 · TA获得超过9241个赞
知道小有建树答主
回答量:1760
采纳率:96%
帮助的人:946万
展开全部
Function aaaa() as Integer
   aaa=2 '这里是返回值,也就是 左侧是函数名,右侧是你想要返回的值
end Function
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
一方乐土养生f
2012-07-25 · TA获得超过1044个赞
知道小有建树答主
回答量:691
采纳率:0%
帮助的人:517万
展开全部
VB中函数的参数都是默认传址的,也就是说你主程序里的参数在子过程里面的变化都会反映到主程序中去,也可以通过函数的返回值来使主程序获取子程序里面产生的值
追问
可以通过函数的返回值来使主程序获取子程序里面产生的值,兄弟,这个可不可以详细点或者举个例。另外,可不可以在子程序中使用全局变量把值传递出来。
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
长鱼柳思Sc
2015-08-23 · TA获得超过461个赞
知道小有建树答主
回答量:761
采纳率:16%
帮助的人:235万
展开全部
如果子程序也是自己写的那就用IPC具体请百度“进程间通信”
如果子程序不是你自己写的那你只能在子程序中找出你要取值的指针从内存中读出来了
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式