vb 如何将子程序的值传递出来
展开全部
有两种方法可以实现将子程序中的值传递出来。
(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
展开全部
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可以传递多个结果.
用关键字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可以传递多个结果.
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
Function aaaa() as Integer
aaa=2 '这里是返回值,也就是 左侧是函数名,右侧是你想要返回的值
end Function
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
VB中函数的参数都是默认传址的,也就是说你主程序里的参数在子过程里面的变化都会反映到主程序中去,也可以通过函数的返回值来使主程序获取子程序里面产生的值
追问
可以通过函数的返回值来使主程序获取子程序里面产生的值,兄弟,这个可不可以详细点或者举个例。另外,可不可以在子程序中使用全局变量把值传递出来。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
如果子程序也是自己写的那就用IPC具体请百度“进程间通信”
如果子程序不是你自己写的那你只能在子程序中找出你要取值的指针从内存中读出来了
如果子程序不是你自己写的那你只能在子程序中找出你要取值的指针从内存中读出来了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询