Функції
Функція - це певний блок коду, який буде повертати значення. Цим, і тільки цим функції відрізняються від процедур.
Загальний синтаксис функції:
[Public | Private | Friend] [Static] Function ім’я функції [(arglist)] [As type]
[тут певний код]
[ім’я функції = вираз]
[Exit Function]
[тут теж може бути певний код]
[ім’я функції = вираз]
End Function
Що значить “буде повертати значення”? Розглянемо наступну функцію:
Public Function MyFunc() As Byte
MyFunc = 234
End Function
Коли ми говорили про вираз, ми говорили, що MyFunc - це вираз, зі значенням 234. Тобто тут, функція MyFunc повертає значення 234. Щоб задати це значення, необхідно привласнити імені функції вираз. У нашому випадку як вираз виступає число 234.
c = MyFunc()
Давайте розглянемо більш практичний приклад. Напишемо функцію для обчислення квадрата числа. У функції буде 1 параметр типу Integer - число для зведення в квадрат. Функція буде повертати значення квадрата параметра. Тип значення, що повертається - Long:
Public Function Square(ByVal number As Long) As Long
Square = number * number
End Function
Викликати функцію можна так:
b = Square(5)
А можна так, використовуючи нашу процедуру для виведення повідомлення на екран:
ShowMessage(Square(5))
А можна і так:
Square 5
В останньому випадку повернуте значення функцій іде в нікуди, але сама функція благополучно виконається. Зверніть увагу на відсутність дужок в останньому виклику. Дужки тут не обов’язкові, на відміну від двох попередніх викликів. Там дужки обов’язкові. (ну це і зрозуміло, як би Visual Basic без дужок догадався, де параметри для ShowMessage, а де для Square.