Подтвердить что ты не робот

В чем разница между Sub и Function в VB6?

Я просматриваю какой-то старый код VB, и я нахожусь в определениях функций, подобных этим -

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

 Private Sub cmdCustomerList_Click()

Какая разница?

4b9b3361

Ответ 1

Функция возвращает значение, Sub - нет. Это просто.

Ответ 2

Функция также может использоваться в выражении. Подпрограмма не может. Функции могут обеспечить читабельность вашего кода лучше, чем подпрограмма.

Вот пример того, как функция может повысить читаемость:

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 существуют некоторые нечетные правила, регулирующие скобки. Если параметров нет, то скобки не нужны (я думаю, Visual Studio может удалить скобки). Один из способов заключается в том, чтобы добавить ключевое слово "Вызов" перед вашим юзером.

Call CheckIfAccountLocked()

против

CheckIfAccountLocked

Ответ 3

В функции мы можем возвращать значения в виде логических, строковых и других типов данных данных.

но sub ничего не возвращает. он просто выполняет код и инструкцию, которые мы даем. Они также рассматриваются как методы

Sub также используется в контрольных событиях, и эти события также не возвращают никакого значения.

например, событие щелчка командной кнопки: Частный sub cmd_click()

end sub

Ответ 4

Это обе секции для записи кода, однако функция должна возвращать значение. Например, если у вас была программа, в которой сложная математическая процедура должна выполняться несколько раз, вы просто выполняли бы функцию и имели бы сложный математический код там, и в любое время, когда вам нужно сделать расчет, вы можете просто вызвать функцию, Надеюсь, это не помогло, если бы я объяснил это хорошо.

Ответ 5

В чем разница между Sub и Function в VB6?

" sub" может выполнять некоторые действия. "sub" не возвращает значение.

Пример:

Form_Load()

" функция" также может выполнять некоторые действия, но также возвращает некоторое значение в точку, из которой он был вызван.  то есть "Функции возвращают значение, часто основанное на переменной"

Пример:

Val(), FormatPercentage().

Ответ 6

в vb

  • функция должна возвращать некоторое значение /s
  • Синтаксис: private function fun_name (аргумент/с (необязательно)) как return_type (integer, string..)  возвращаемое значение  конечная функция
  • fun_name (аргументы (необязательно)) достаточно для вызова функции

sub в vb

  • не нужно возвращать значение sub/s
  • Синтаксис: private sub sub_name (аргумент/с (необязательно))

    end sub

  • sub_name (аргументы (необязательно)) достаточно для вызова функции

Ответ 7

Функция содержит данные и код. Но подпрограмма содержит только код, но не данные.

Ответ 8

  1. Синтаксис функций будет следующим: Function... End function, а для Sub будет Sub... End Sub.
  2. Функции могут иметь или не иметь объекты, но у sub нет объектов
  3. Функции могут использоваться повторно, когда Sub не
  4. Функции могут возвращать значения, но sub не
  5. Функции могут иметь хранилище объектов, но sub не имеет
  6. Расширение функций.qfl, где для sub это.vba