Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Процедура 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)
См. также
- Процедуры
- Подпроцедуры
- Процедуры свойств
- Процедуры операторов
- Параметры и аргументы процедуры
- Объявление функции
- Практическое руководство. Создание процедуры, возвращающей значение
- Практическое руководство. Возврат значения из процедуры
- Практическое руководство. Вызов процедуры, возвращающей значение