End Function

В результате работы программы на форме будет напечатано число 30. Функция Sum возвращает значение суммы двух чисел. Очевидно, что у функции два аргумента – а и b. В определении функции указываются не только типы аргументов (As Integer), но и тип значения самой функции As Integer. Переменной Sum присваивается числовое значение; оно и будет возвращаемым значением функции.

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

Например:

Private Function Ответ(Вопрос As String) As String

IF Вопрос = "Назовите столицу Перу" Then

Ответ="Лима"

Else

Ответ = "Не знаю"

End IF

End Function

Private Sub сmdВопрос_Сliсk()

Dim v As String

InputВох("Задайте любой вопрос", "????")

Print Ответ(v)

End Function

В данном примере возврашаемое значение — строка символов один из вариантов ответа на вопрос, который задан в событийной процедуре сmdВопрос_ Click()

Передача apryментов по ссылке и значению. Для передачи аргументов по значению, так же как и в процедурах, используется ключевое слово ByVal. Вернемся к примеру, рассмотренному выше. Добавим в функцию строку Мb=200

Пример

Private Function MbBit(Мb As Integer) As Long

Const k As Long = 8388608 '(8 * 1024 * 1024)

MbBit = Мb * k

Мb=200

End Function

Результат при вводе в диалоговом окне того же числа 100 будет иным (рис. 13.17). Для исправления данной ошибки следует изменить заголовок функции следующим образом:


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: