Пользовательская функция



Рассмотрим пример создания и использования функции, которая выполняет очень простую задачу: возводит переданное ей число во вторую степень.

Функция, реализующая эту задачу, выглядит так (листинг 11.):

Public Function Square (num_One As Double) As Double

Square = num_One ^ 2

End Function

Листинг 11. Пользовательская функция

Объявление функции очень похоже на объявление процедуры. Здесь мы используем модификатор доступности Public, дающий доступ к функции из всех модулей. Ключевое слово Function означает, что мы объявляем функцию. Следом за ним, в скобках, идет объявление параметров, которые мы можем передать функции. В нашем случае это - одна переменная num_One типа Double. После объявления имени и параметров функции следует объявление типа самой функции, или, точнее - типа возвращаемого функцией значения. В нашем случае с помощью конструкции As Double мы задали тип функции Double. При объявлении функции можно не указывать тип - тогда он автоматически будет установлен в Variant.

Последняя строка объявления функции - End Function, означает конец функции. Как и в случае с процедурой, внутри тела функции можно разместить операторы, необходимые для выполнения задачи. Однако, здесь есть одна очень важная особенность. После того, как найдено значение, которое функция должна возвратить, в тексте кода функции нужно присвоить это значение переменной, которая имеет то же имя, что и функция. В нашем случае, при имени функции Square это присвоение выглядит как Square = num_One ^ 2.

Для испытания функции добавим в документ еще одну кнопку - cmd_UserCalc, подписанную как Функция с таким кодом (листинг 12.):

Private Sub cmd_UserCalc_Click()

Dim num_Res As Double

Dim num_Input As Double

num_Input = CDbl(InputBox("Введите число"))

num_Res = Square (num_Input)

MsgBox (Str(num_Input) + " во 2-й степени = " + _

Str(num_Res))

End Sub

Листинг 12. Работа с пользовательской функцией

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


Дата добавления: 2016-01-06; просмотров: 12; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!