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

3.2.3. Процедуры

В Visual Basic весь текст программы разбит на отдельные программные блоки, имеющие один вход и один выход и выполняющие определенные вычислительные или логические операции. Эти программные блоки оформляются в виде процедур.

Процедура начинается оператором Sub и заканчивается оператором End Sub, между этими операторами и помещается код. Такие процедуры могут вызываться или самим VB (процедуры обработки событий), или другими процедурами.

Различают процедуры обработки событий и пользовательские процедуры.

Процедуры обработки событий (обработчики событий)

Все обработчики событий реализуются как процедуры. Общий синтаксис заголовка для объявления процедуры обработки события:

[ОбластьОределения] Sub [ИмяФормы.]Объект_Событие(аргументы)

Опции, указанные в квадратных скобках могут быть опущены. Если аргументы отсутствуют, ставятся пустые скобки. Например:

Private Sub frmForm1.cmdVvod_KeyUp(KeyCode As Integer, Shift As Integer)

Тело процедуры

End Sub

В данном примере ОбластьОределения – область доступности или видимости процедуры: Private – локальная, доступна только в данной форме или модуле; Public – глобальная, доступна во всем проекте. frmForm1– имя формы, cmdVvod – имя кнопки, KeyUp – событие, связанное с нажатием клавиши, KeyCode – возвращаемый код нажатой клавиши , Shift – возвращаемый код нажатой дополнительной клавиши;

Private Sub Command1_Click ( )

Тело процедуры

End Sub

В данном примере имя формы опущено, по умолчанию принимается имя текущей формы, передаваемые параметры – аргументы отсутствуют.

Процедуры обработки событий для каждого объекта выбираются из правого списка окна программы (Code).

Процедуры пользователя

Visual Basic позволяет создавать и пользовательские процедуры. Основной отличительной чертой пользовательских процедур является то, что они не связаны ни с каким событием и вызов их пользователь осуществляет по своему усмотрению. В виде пользовательской процедуры можно оформить любую подпрограмму и использовать ее в текущем проекте или сохранить на диске и использовать в других программах. Для создания пользовательской процедуры необходимо перейти к секции Главная, в окне программы ввести служебное слово Sub и имя процедуры и нажать клавишу Enter. После этого появится новая процедура:

Sub <имяПроцедуры>()

<Тело процедуры>

End Sub

Например:

Sub HelloOut()

Print “Здравствуй читатель”

End Sub

Процедура, описанная в разделе Главная доступна всем другим процедурам формы.

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

[ОбластьОпределения] Sub [ИмяФормы.]Объект_ИмяПроцедуры (аргументы)

<Тело Процедуры>

End Sub

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

Вызов процедуры

Для вызова процедуры используются два способа: по имени процедуры и с помощью оператора Call.

При вызове процедуры по имени после имени указываются без скобок передаваемые параметры:

ИмяПроцедуры аргумент1, аргумент2, ...

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

При вызове процедуры с помощью оператор Call передаваемые параметры заключаются в скобки:

Call ИмяПроцедуры (аргумент1, аргумент2,…)

Оператор Call используется, как правило, для вызова внешних процедур. Чтобы отличить вызов функции от вызова процедуры, рекомендуют не использовать оператор Call для вызова процедур (при вызове функций передаваемые параметры также заключаются в .скобки).

Пример 3.3. Процедура вычисления площади поверхности параллелепипеда.

‘ Процедура, объявленная в секции главная формы

Sub SPoverch(a As Single, b As Single, h As Single, s As Single)

s = 2 * (a * b + (a + b) * h)

End Sub

-------------------------------------------------------------------------------

Private Sub Form_Click()

‘ Вызывающая процедура

Dim x As Single, y As Single, z As Single, s As Single

x = Val(InputBox("Длина параллелепипеда”))

y = Val(InputBox("Ширина параллелепипеда "))

z = Val(InputBox("высота параллелепипеда "))

‘ вызов процедуры

SPoverch x, y, z, s

Print Str$(s)

End Sub

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