一个小问题,如何取得一个过程的返回值?

frank315315 2005-10-12 11:26:55
例如我定义:
Public Sub area(longer, width)
Dim longer As Integer
Dim width As Integer
Dim AreaResoult As Integer
AreaResoult = longer * width
End Sub

然后想在一个按钮上显示过程的结果
Private Sub Command1_Click()
Dim bak As Integer
area 5,6
'//////////////////////////

中间怎么写才能把过程area的返回值传递给bak?

'///////////////////////////
Command1.Caption = Cstr(bak)
End Sub

语句中有错误的地方还望多多指正,谢谢!
...全文
101 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
frank315315 2005-10-12
  • 打赏
  • 举报
回复
byref的话具体该怎么写呢?
另外Function 和 Sub 的方法各自常用在什么情况下?还是看个人爱好呢? 谢谢这些朋友的解答 ^_^
yas 2005-10-12
  • 打赏
  • 举报
回复
byref .OR. function
Summer006 2005-10-12
  • 打赏
  • 举报
回复
sub的话,参数用byref传递,
function的话,函数名就是用来赋返回值的
winehero 2005-10-12
  • 打赏
  • 举报
回复
Public Function area(Byval longer as Long,Byval width as Long) as Long
area=longer * width
End Function

winehero 2005-10-12
  • 打赏
  • 举报
回复
Public Function area(longer, width) as Long
area=longer * width
End Function
frank315315 2005-10-12
  • 打赏
  • 举报
回复
非常感谢各位的精彩解答,让我又学到了好多东西。
northwolves 2005-10-12
  • 打赏
  • 举报
回复
Public Sub area(ByVal longer As Integer, ByVal width As Integer, ByRef AreaResoult As Integer)
AreaResoult = longer * width
End Sub

'然后想在一个按钮上显示过程的结果
Private Sub Command1_Click()
Dim bak As Integer
area 5, 6, bak
MsgBox bak
End Sub
winehero 2005-10-12
  • 打赏
  • 举报
回复
byref传的是变量的引用,即所在过程/函数修改该变量后返回调用者的是修改过的值
byval传的是值,返回调用者后该值是原先传入的值,没有改变

Function 可以有返回值,sub没有。

7,763

社区成员

发帖
与我相关
我的任务
社区描述
VB 基础类
社区管理员
  • VB基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧