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

5 Розробка програм з використанням підпрограм – процедур і функцій, вікон повідомлень

5.1 Підпрограми – процедури і функції

У програмах, що розглядалися раніше, використовувалися процедури як частки програмного коду, які виконуються коли відбувається певна подія, пов’язана з деяким об’єктом. Мова програмування Visual Basic дозволяє, як і інші мови програмування, створювати окремі підпрограми – процедури і функції, які не пов’язані з об’єктами, подіями. Підпрограми використовуються коли у декількох частинах програми треба виконати подібні дії – обчислення показників, привласнення нових значень властивостям об’єктів і т. ін. Підпрограми створюються як окремі фрагменти коду, до яких можна звертатися з різних частин програми, викликати підпрограми.

Існують такі види підпрограм: підпрограми – процедури, підпрограми – функції.

Підпрограма – процедура призначена для виконання деякої послідовності дій. Щоб створити нову процедуру слід активізувати вікно коду і подати команду ToolsAdd Procedure. У вікні діалогу Add Procedure необхідно визначити ім’я процедури, тип підпрограми – процедура Sub, у області діалогу Scope визначити видимість процедури: Public – процедура буде доступна для будь-яких частин коду програми або Private – процедура доступна лише для інших підпрограм поточної форми. Після натиснення на кнопці Ок до коду програми додається заголовок і заключний рядок процедури.

Наприклад, можна створити процедуру, яка дає змогу визначити будь-який колір символів і фону всіх об’єктів форми:

Public Sub ChangeColor()

End Sub

Всередині процедури можна створювати програмний код з використанням усіх можливостей Visual Basic. У коді процедури можна застосовувати оператори мови, змінювати властивості об’єктів, використовувати змінні, масиви, оголошувати і використовувати локальні змінні, відомі лише всередині процедури.

Процедура може приймати якісь початкові значення, які в тілі процедури використовуються, обробляються. Ці значення називаються параметрами процедури, задаються в круглих дужках у заголовку процедури. Параметрами процедури можуть бути будь-які змінні. При створенні процедури слід визначити її параметри як певні змінні з обов’язковим зазначенням їх типів. Наприклад, процедура, яка буде змінювати кольори об’єктів форми повинна отримувати значення двох параметрів – коду кольору символів, коду кольору фону. Цим параметрам повинні відповідати дві змінні типу Integer, які будуть використовуватись у процедурі для зміни властивостей об’єктів. Процедура для зміни кольорів може виглядати так:

Public Sub ChangeColor(F As Integer, Sim As Integer)

frmMain.BackColor = QBColor(F)

lbl1.BackColor = QBColor(F)

lbl2.BackColor = QBColor(F)

lbl1.ForeColor = QBColor(Sim)

lbl2.ForeColor = QBColor(Sim)

End Sub

Після того, як процедуру створено, її можна викликати з різних частин програмного коду. Для звернення до процедури слід визначити її ім’я, перелічити через кому фактичні параметри процедури, які за складом, типами повинні точно відповідати параметрам, що визначено в заголовку процедури.

Наприклад, щоб встановити чорний колів символів і світло-бірюзовий колір фону, в коді програми можна так звернутися до процедури:

ChangeColor 11, 0

Якщо треба встановити синій колір символів, жовтий колір фону можна виконати, наприклад, такі дії:

Simbol = 1

BackC = 14

ChangeColor BackC, Simbol

Підпрограми – функції, на відміну від процедур, призначені для обчислення деякого параметру. Кажуть, що функція повертає деяке значення. Для створення функції, як і процедури, слід виконати команду меню ToolsAdd Procedure, ввести ім’я процедури, обрати перемикачі Function, Public. Функція може також приймати деякі параметри, у тілі функції можна виконувати різні дії. Обов’язково всередині функції привласнити якесь значення імені функції, значення, яке буде повертати функція.

Наприклад, у декількох частках програми треба виконувати розрахунок значення функції:

Щоб скоротити програмний код, спростити програму, цю операцію можна оформити як функцію:

Public Function RozF(S As Integer, i As Integer, X As Integer)

Dim Y As Integer

Y = 0

For n = 1 To X

Y = Y + S * (1 + i)

Next

RozF = Y

End Function

Щоб отримати певне значення функції для визначених значень аргументів, до неї слід звернутися по імені після якого в круглих дужках зазначити значення фактичних параметрів функції. Оскільки функція повертає деяке значення, то, на відміну від процедури, результат звернення до функції можна використовувати для привласнення значень змінним, обчислення деяких значень у виразах, виведення результатів роботи.

Наприклад, таке використання функції

lbl1.Caption = Str(RozF(10, 1, 2))

призводить до зміни властивості Caption об’єкту lbl1 – їй привласнюється значення, яке розраховується функцією RozF для S=10, i=1, X=2.