Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
512244_74984_sidorov_m_e_algoritmizaciya_i_prog....doc
Скачиваний:
14
Добавлен:
01.05.2019
Размер:
5.08 Mб
Скачать

Функции и процедуры Описание функций и процедур

Процедуры и функции содержат инструкции, обеспечивающие выполнение некоторой задачи. Они имеют имя, могут иметь входные параметры, раздел описания, раздел инструкций и возвращать значения своих параметров. Имена процедур и функций удовлетворяют правилам именования переменных. Перед именем процедуры используют служебное слово Sub, а перед именем функции - Function. Синтаксис процедуры:

[Private | Public]

Sub ИмяПроцедуры[(СписокФормальныхПараметров)]

Инструкции

End Sub

Синтаксис функции:

[Public | Private]

Function ИмяФункции([СписокФормальныхПараметров]) [As Тип]

[Инструкции]

[ИмяФункции = Выражение] ' возврат значения функции

End Function

Для прерывания процедуры используется инструкция Exit sub, функции - Exit Function.

Опция

Назначает область действия

Public

процедура доступна для всех процедур во всех модулях приложения.

Private

процедура доступна для процедур только того модуля, в котором она описана.

static

локальные переменные процедуры сохраняются при каждом вызове процедуры.

Список параметров, значения которых передаются в процедуру (функцию) или возвращаются из процедуры (функции), разделяется запятыми. Синтаксис:

[ByVal | ByRef] ИмяПараметра [As тип]

Опция

Указывает

Optional

что параметр из СпискаФормальныхПараметров - необязательный. Все параметры, следующие за необязательным, также должны быть необязательными и описаны с помощью опции Optional. Все параметры, описанные как Optional, должны иметь тип Variant. He может использоваться с опцией ParamArray.

В процедуре с необязательными параметрами можно использовать функцию isMissing, возвращающую True, если соответствующий параметр не был передан в процедуру, и False в противном случае.

ByVal

что параметр из СпискаФормальныхПараметров передается по значению.

ByRef

что параметр передается по ссылке. Опция ByRef используется по умолчанию.

ParamArray

что конечный (последний) параметр - необязательный массив значений типа Variant. Не может использоваться с опциями ByVal, ByRef или Optional.

Тип

тип параметра. Не допускаются строки фиксированной длины. Если отсутствует ключевое слово Optional, могут быть также указаны определяемый пользователем тип или объектный тип Object.

Значение

константу или выражение, дающее константу, используемое по умолчанию. Задается вместе с опцией optional. Для типа Object задается значение Nothing.

Примеры:

Function Hypotenuse(A As single, B As single) As single

Hypotenuse = Sqr(A ^ 2 + B ^ 2)

End Function

Sub FormsClose()

Dim i as integer

For i = Forms.Count – 1 to 0 Step - 1

Unload Forms(i)

Next

End Sub

Вызов функций и процедур

Вызов процедуры можно произвести несколькими способами.

  1. ИмяПроцедуры СписокФактическихПараметров

  2. Call ИмяПроцедуры (СписокФактическихПараметров)

Инструкцию Call можно также использовать для вызова функции.

Вызов функции

Х = ИмяФункции (СписокФактическихПараметров)

СписокФактическихПараметров должен соответствовать по порядку, количеству и типам параметров спискаФормальныхПараметров, заданному в процедуре (функции) при ее определении.

Примеры:

A=7.7

B=8.9

С= Hypotenuse(A,B)

FormsClose

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

ИмяМодуля.ИмяПроцедуры СписокФактическихПараметров

Используя имена формальных параметров (с опцией ByVal), Visual Basic позволяет вводить фактические параметры в любом порядке. При этом после имени параметра ставятся двоеточие и знак равенства, после которого помещается значение параметра, например:

ИмяПроцедуры a:=l, b:=3

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]