Sub和Function在VB6中有什么区别?

我正在经历一些旧的VB代码,我遇到这样的函数定义 –

Private Function ExistingCustomer(Index As Integer, Customer As String) As Integer Private Sub cmdCustomerList_Click() 

有什么不同?

函数返回值,Sub不。 就这么简单。

一个函数也可以用在expression式中。 子程序不能。 函数可以比子程序更好地提高代码的可读性。

下面是一个函数如何提高可读性的例子:

 If AccountIsLocked("JJones") then Msgbox("This account is locked") 

这个函数会在某个地方定义

 public function AccountIsLocked(UserId as string) as boolean dim usr = uow.AccountRepository.UserInfo(UserId) return usr.locked end function 

这里是相同的例子,但用子程序编码:

 CheckIfAccountLocked("JJones") 

在其他地方定义这个子部分:

 public sub CheckIfAccountLocked(UserId) if uow.AccountRepository.UserInfo(UserId).locked then msgbox("Account is locked") end if end sub 

还要注意检查价值是否与行动分开 – 这有助于职责分离。 这个函数可以提供重用性。

用VB6有一些奇怪的规则来pipe理括号。 如果没有参数到一个子然后括号是不需要的(我想Visual Studio可能会删除括号)。 解决这个问题的方法之一就是在你的子版本之前添加关键字“Call”。

 Call CheckIfAccountLocked() 

VS

 CheckIfAccountLocked 

在函数中,我们可以返回值为布尔值,string和其他数据数据types。

但sub不返回任何东西。 它只是执行我们给的代码和指令。 这些也被视为方法

Sub也用于控件的事件,这些事件也不会返回任何值。

例如命令button的单击事件:Private sub cmd_click()

结束小组

它们都是编写代码的部分,但函数必须返回一个值。 例如,如果你有一个程序,其中一个复杂的math过程需要执行多次,你只需要一个函数,并有复杂的math代码在那里,任何时候你需要做计算,你可以调用函数。 希望这个帮助不确定我是否解释得好。

Sub和Function在VB6中有什么区别?

”可以执行一些操作。 “sub”没有返回任何值。

例:

的Form_Load()

函数 ”也可以执行一些操作,但是它也返回一些值,从中调用它。 即“函数返回一个值,通常基于一个variables”

例:

Val(),FormatPercentage()。

在vb中的function

  • 一个函数必须返回一些值/ s
  • 语法:private function fun_name(argument / s(optional))as return_type(integer,string ..)返回值结束函数
  • fun_name(arguments(可选))对于函数调用来说已经足够了

sub in vb

  • 一个子不需要返回任何值
  • 语法:private sub sub_name(argument / s(optional))

    结束小组

  • sub_name(arguments(可选))对于函数调用是足够的

一个函数保存数据和代码。 但是一个子程序只包含代码,而不包含数据。

  1. 函数的语法将是Function … End函数和Sub将Sub … End Sub。
  2. 函数可能有也可能没有对象,但是子没有对象
  3. Sub没有的function是可重用的
  4. 函数可以返回值,但不能
  5. 函数可能有对象存储库,但子没有
  6. 扩展function是.qfl其中的子.vba