Функції

Функція - це певний блок коду, який буде повертати значення. Цим, і тільки цим функції відрізняються від процедур. 

Загальний синтаксис функції:

   [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.