【问题标题】:Difference between Function and Sub procedures in VB6VB6中Function和Sub过程的区别
【发布时间】:2016-06-30 09:16:33
【问题描述】:

我无法理解 VB.NET 中 Function 和 Sub 过程之间的区别。

具有功能的:

Private Function remainder (intno1 As Integer, intno2 As _ Integer) As Integer   

Dim intresult As Integer

intresult = intno1 Mod intno2      
remainder = intresult 

End Function

然后我这样称呼它:

Private Sub cmdrem _Click()
Dim intm  As Integer, intn As Integer     
Dim intmod  As Integer 
intm = Val (txtno1.Text) 
intn = Val (txtno2.Text) 
intmod = remainder (intm, intn) 
lblres.text = "Answer Is = " + Str(intmod)
End Sub

你能帮帮我吗?

【问题讨论】:

  • 这似乎不是 VB.Net(Visual Studio 2002 及更高版本中的 Visual Basic 版本)。它似乎是 VB6(Visual Studio 1998 或更早版本)或 VBA(Microsoft Office 中使用的 Visual Basic 版本)。这些都是不同的语言。请编辑您的问题以使用正确的标签。
  • vb.net语法和vb6语法有区别吗?我的教程适用于 vb6,但我在 Visual Studio (Visual Basic .net) 中编写代码
  • 如果您使用的是 VB.Net,您应该完全忽略与 VB6 相关的材料并找到一些 VB.Net 特定的东西,它们是完全不同的东西。

标签: vb6


【解决方案1】:

vb 中过程和函数之间的一些主要区别是函数返回一个值,但子过程从不返回值。 返回类型必须在函数声明中定义。

函数总是用关键字 Function 声明,子过程用关键字 Sub 声明。

函数以关键字end function结束 并且过程以关键字 end sub 结束。

【讨论】:

  • 返回值是什么意思?您能否提供有关这部分答案的更多信息:该函数是否返回一个值,但子过程从不返回值。谢谢大家
  • intmod = 余数 (intm, intn) 在这一行中,此函数正在为来自该函数的 intmod 变量赋值。
  • 在函数中你为函数名赋值remainder = intresult这个你在子进程中收到的值
  • 这两个程序中哪一个在VB中好用? @扎希德
  • 它们都易于使用。这仅取决于您的需求。函数返回一个对象(尽管您不需要对对象做任何事情,在这种情况下,您将函数视为子对象)。例如,如果您有一个返回 Boolean 类型的函数,您可以使用类似 If MyBoolFunc(some_parameter) Then do_some_tasks Else do_other_tasks End If 的代码,但如果您出于某种原因不关心它返回的内容,您也可以单独使用类似 MyBoolFunc(some_parameter) 的相同函数。正如其他人所说,如果您想学习 .Net,请不要使用 VB6 材料!
猜你喜欢
  • 2011-05-02
  • 2020-06-23
  • 1970-01-01
  • 2019-11-03
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多