Ескертпе
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Жүйеге кіруді немесе каталогтарды өзгертуді байқап көруге болады.
Бұл бетке кіру үшін қатынас шегін айқындау қажет. Каталогтарды өзгертуді байқап көруге болады.
Процедура Function — это ряд инструкций Visual Basic, заключенных в Function инструкции и End Function инструкции. Процедура Function выполняет задачу, а затем возвращает контроль в вызывающий код. При возврате элемента управления он также возвращает значение вызывающему коду.
Каждый раз, когда процедура вызывается, ее операторы выполняются, начиная с первой исполняемой инструкции после Function инструкции и заканчивая первой End FunctionExit Functionили Return обнаруженной инструкцией.
Процедуру Function можно определить в модуле, классе или структуре. Это по Public умолчанию означает, что вы можете вызывать его из любого места в приложении с доступом к модулю, классу или структуре, в которой он определен.
Процедура Function может принимать аргументы, такие как константы, переменные или выражения, передаваемые в него вызывающим кодом.
Синтаксис объявления
Синтаксис объявления Function процедуры выглядит следующим образом:
[Modifiers] Function FunctionName [(ParameterList)] As ReturnType
[Statements]
End Function
Модификаторы могут указывать уровень доступа и сведения о перегрузке, переопределении, совместном использовании и тени. Дополнительные сведения см. в инструкции function.
Вы объявляете каждый параметр таким же образом, как и для вложенных процедур.
Тип данных
Каждая процедура имеет тип данных так же, как и каждая Function переменная. Этот тип данных указывается As предложением в Function инструкции и определяет тип данных значения, возвращаемого функцией в вызывающий код. Ниже приведены примеры объявлений.
Function Yesterday() As Date
End Function
Function FindSqrt(radicand As Single) As Single
End Function
Дополнительные сведения см. в разделе "Части" в инструкции функции.
Возвращаемые значения
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)
См. также
- Процедуры
- Подпрограммы
- Процедуры свойств
- Процедуры операторов
- Параметры и аргументы процедуры
- Оператор Function
- Практическое руководство. Создание процедуры, возвращающей значение
- Практическое руководство. Возврат значения из процедуры
- Практическое руководство. Вызов процедуры, возвращающей значение