Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Процедура Function — это ряд операторов Visual Basic, заключенных в инструкции Function и End Function. Процедура Function выполняет задачу, а затем возвращает контроль к вызывающему коду. При возврате элемента управления он также возвращает значение вызывающему коду.
Каждый раз, когда процедура вызывается, её операторы выполняются, начиная с первой исполняемой инструкции после инструкции Function и заканчивая первой обнаруженной инструкцией End Function, Exit Function или Return.
Процедуру Function можно определить в модуле, классе или структуре. Это значение по Public умолчанию, что означает, что вы можете вызывать его из любого места в приложении, имеющего доступ к модулю, классу или структуре, в которых он определен.
Процедура Function может принимать аргументы, такие как константы, переменные или выражения, передаваемые в него вызывающим кодом.
Синтаксис объявления
Синтаксис объявления Function процедуры выглядит следующим образом:
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
[Statements]
End Function
Модификаторы могут указывать уровень доступа и сведения о перегрузке, переопределении, общем использовании и затенении. Дополнительные сведения см. в описании функции.
Вы объявляете каждый параметр таким же образом, как и для вложенных процедур.
Тип данных
Каждая процедура имеет тип данных так же, как и каждая Function переменная. Этот тип данных указывается As предложением в Function инструкции и определяет тип данных значения, возвращаемого функцией в вызывающий код. Следующие примеры объявлений иллюстрируют это.
Function Yesterday() As Date
End Function
Function FindSqrt(radicand As Single) As Single
End Function
Дополнительные сведения см. в разделе "Части" в Function Statement.
Возвращаемые значения
Function Значение, которое процедура отправляет обратно в вызывающий код, называется возвращаемым значением. Процедура возвращает это значение одним из двух способов:
Он использует инструкцию
Returnдля указания возвращаемого значения и немедленно возвращает элемент управления вызывающей программе. Это показано в следующем примере.Function FunctionName [(ParameterList)] As ReturnType ' The following statement immediately transfers control back ' to the calling code and returns the value of Expression. Return Expression End FunctionОн назначает значение собственному имени функции в одной или нескольких инструкциях процедуры. Элемент управления не возвращается в вызывающую программу, пока не будет выполнена
Exit FunctionилиEnd Functionинструкция. Это показано в следующем примере.Function FunctionName [(ParameterList)] As ReturnType ' The following statement does not transfer control back to the calling code. FunctionName = Expression ' When control returns to the calling code, Expression is the return value. End Function
Преимущество присвоения возвращаемого значения имени функции заключается в том, что управление не возвращается из процедуры до тех пор, пока не встретится с оператором Exit Function или End Function. Это позволяет при необходимости назначить предварительное значение и настроить его позже.
Дополнительные сведения о возврате значений см. в инструкции function. Сведения о возврате массивов см. в разделе "Массивы".
Синтаксис вызова
Вы вызываете процедуру Function, указав её имя и аргументы в правой части инструкции присваивания или в выражении. Необходимо указать значения для всех аргументов, которые не являются необязательными, и необходимо заключить список аргументов в скобки. Если аргументы не указаны, можно также опустить круглые скобки.
Синтаксис вызова Function процедуры выглядит следующим образом.
Список аргументов lvalue=functionname[()]
If ((
имя[( функции список аргументов)] / 3) <=выражение) Then
При вызове Function процедуры не требуется использовать возвращаемое значение. Если это не так, выполняются все действия функции, но возвращаемое значение игнорируется.
MsgBox часто вызывается таким образом.
Иллюстрация объявления и вызова
Function Следующая процедура вычисляет самую длинную сторону или гипотенузу правого треугольника, учитывая значения для других двух сторон.
Function Hypotenuse(side1 As Double, side2 As Double) As Double
Return Math.Sqrt((side1 ^ 2) + (side2 ^ 2))
End Function
В следующем примере показан типичный вызов hypotenuse.
Dim testLength, testHypotenuse As Double
testHypotenuse = Hypotenuse(testLength, 10.7)
См. также
- Процедуры
- Подпроцедуры
- Процедуры свойств
- Процедуры операторов
- Параметры и аргументы процедуры
- Объявление функции
- Практическое руководство. Создание процедуры, возвращающей значение
- Практическое руководство. Возврат значения из процедуры
- Практическое руководство. Вызов процедуры, возвращающей значение