Процедуры в Visual Basic
Обновлен: Ноябрь 2007
Процедура является блоком операторов Visual Basic, объединенных оператором объявления (FunctionSubOperator, Get, Set) и соответствующего объявления End. Все выполняемые инструкции в Visual Basic должны находиться в пределах некоторой процедуры.
Вызов процедуры
Процедура вызывается из какой-либо другой части кода. Подобная операция известна как вызов процедуры. После завершения процедуры она возвращает управление коду, вызвавшему ее, который называется вызывающий код. Вызывающий код — это инструкция или выражение в составе инструкции, которое определяет процедуру по имени и передает ей управление.
Возвращение из процедуры
Процедура возвращает управление вызывающему коду после завершения работы. Чтобы сделать это, она использует оператор Оператор Return (Visual Basic), соответствующий инструкции Оператор Exit (Visual Basic) для процедуры, или оператор End (Visual Basic) процедуры. Управление затем передается вызывающему коду, следуя за точкой вызова процедуры.
Управление немедленно возвращается вызывающему коду оператором Return. Инструкции, следующие за инструкцией Return, не работают. В одной и той же процедуре допускается несколько инструкций Return.
Управление немедленно возвращается вызывающему коду оператором Exit Sub или Exit Function. Инструкции, следующие за инструкцией Exit, не работают. В одной и той же процедуре можно использовать несколько инструкций Exit, кроме того, инструкции Return и Exit можно сочетать.
Если процедура не имеет операторов ReturnExit, она завершается оператором End SubEnd Function, End Get или End Set, следующим за последним оператором тела процедуры. Оператор End немедленно возвращает управление вызывающему коду. В процедуре допускается только один оператор End.
Параметры и аргументы
В большинстве случаев процедуре необходимо работать с различными данными при каждом ее вызове. Можно передать эти сведения в процедуру как часть вызова процедуры. Процедура определяет ноль или более параметров, каждый из которых представляет значение, ожидаемое ею для приема. Каждому параметру в определении процедуры соответствует аргумент в вызове процедуры. Аргумент представляет значение, которое передается соответствующему параметру в вызове данной процедуры.
Типы процедур
Visual Basic использует несколько типов процедур:
Процедуры Sub выполняют действия, но не возвращают значение в вызывающий код.
Процедурами обработки событий являются процедуры Sub, которые выполняются в ответ на событие, вызванное действием пользователя или определенными условиями в программе.
Процедуры Function возвращает значение в вызывающий код. Они могут выполнять другие действия перед возвратом.
Процедуры свойств возвращают и задают значения свойств объектам или модулям.
Процедуры операторов определяет поведение стандартного оператора, если один или оба операнда являются недавно определенным классом или структурой.
Универсальные процедуры в Visual Basic определяет один или несколько параметров типа в дополнение к их обычным параметрам, поэтому код вызова может передавать определенные типы данных каждый раз, когда он совершает вызов.
Процедуры и структурированный код
Каждая строка исполняемого кода в приложении должна находиться внутри некоторых процедур, таких как Maincalculate и Button1_Click. Если разделить большие процедуры на несколько менее крупных, приложение будет удобнее читать.
Процедуры применяются для выполнения повторяющихся задач или задач, которые нужно выполнять в разных компонентах кода, например, для часто используемых расчетных операций, действий с текстом и элементами управления, а также операций с базами данных. Процедуры можно вызывать из разных частей кода, поэтому их можно использовать в качестве элементарных структурных блоков при создании приложения.
Структурирование кода с помощью процедур предоставляет следующие возможности.
Процедуры позволяют разбить программу на отдельные логические блоки. Отлаживать такие отдельные блоки легче, чем всю программу целиком.
Процедуры, разработанные для одной программы, можно в том же виде (или после внесения незначительных изменений) использовать в другой программе. Это помогает избежать дублирования кода.
См. также
Задачи
Практическое руководство. Создание процедуры
Основные понятия
Параметры и аргументы процедуры
Универсальные процедуры в Visual Basic