В результате работы программы на форме будет напечатано число 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). Для исправления данной ошибки следует изменить заголовок функции следующим образом: