
Використання функцій
Процедури-функції (функції користувача) майже повністю ідентичні процедурам-підпрограмам за винятком того, що вони повертають лише одне значення у викликаючу програму.
Як і для процедур-підпрограм, є два способи створення функцій. При використанні одного із цих методів буде створено наступний шаблон функції:
Зауваження. Процедура-функція може мати декілька вхідних аргументів і тільки один вихідний аргумент, тип якого може задаватися при описі функції.
Приклад. Обчислити n!
Створюємо процедуру-функцію FCT і викликаємо її в основній програмі
Function Fct(N) As Double
Fct = 1
For i = 1 To N
Fct = Fct * i
Next
End Function
зЗЗPrivate Sub Run_Click()
N = Val(TxtN)
If N < 0 Or N <> Int(N) Then
Print "N має бути цілим невід’ємним"
Else
TxtRes = Fct(N)
End If
End End Sub
Вікна повідомлень
В процесі виконання програми в залежності від конкретної ситуації інколи треба передати повідомлення користувачу програми. У VB така можливість реалізується за допомогою вікна повідомлення, що викликається за допомогою функції MsgBox(). Базова конструкція функції MsgBox() така:
MsgBox(“Повідомлення”[[, Buttons][,Назва вікна]])
Текст повідомлення задається першим параметром. Повідомленням може бути рядок, який містить не більше, ніж 1024 символів. Цей рядок може складатися із кількох фізичних рядків, які можна об’єднувати за допомогою символів повернення каретки та переводу рядка – Chr(13) та Chr(10).
Другий параметр (необов’язковий) повинен бути сумою базових констант VB, які відповідають за наявність у вікні повідомлення кнопок, а також інших елементів інтерфейсу.
Третій параметр (необов’язковий) задає назву вікна повідомлення.
При появі вікна повідомлення, програма зупиняє роботу і чекає на реакцію користувача. У вікні повідомлення відображаються кнопки і користувач має вибрати одну із з них. За кожною кнопкою закріплене ціле число. Функція MsgBox() повертає числове значення, яке відповідає вибраній кнопці. Потім у програмі в залежності від отриманого значення можуть виконуватися ті чи інші дії. Кнопки у вікні повідомлення визначаються наступним чином:
Базові значення іменованих кнопок:
Константа Набор кнопок Значення
vbOkOnly OK 0
vbOkCancel OK, Cancel 1
vbAbortRetryIgnore Abort, Retry, Ignore 2
vbYesNoCancel Yes, No, Cancel 3
vbYesNo Yes, No 4
vbRetryCancel Retry, Cancel 5
Базові значення параметра піктограм:
Константа Тип повідомлення Значення
vbCritical Критичне 16
vbQuestion Запит 32
vbExclamation Попередження 48
vbInformation Інформація 64
Числові значення кнопок:
Константа Кнопка Значення
vbOk OK 1
vbCancel Cance 2
vbAbort Abort 3
vbRetry Retry 4
vbIgnore Ignore 5
vbYes Yes 6
vbNo No 7
Зауваження 1. За допомогою вікна повідомлення можна передати одне із цих семи значень.
Для введення даних часто доцільно використовувати вікна вводу даних. Вікно вводу даних створюється функцією InputBox():
InputBox(“Повідомлення”[[, Назва вікна][,Default][,x][,y]])
Перший параметр. Текст повідомлення (так само, як у і MsgBox()).
Другий параметр (необов’язковий) задає текст заголовку.
Третій параметр (необов’язковий) задає рядок по замовчуванню.
Додаткові параметри. За допомогою двох необов’язкових параметрів можна вказати x та y – координати лівого верхнього кута вікна вводу.
z = InputBox("Введіть прізвище", "Інформація", " ")
Якщо користувач вибере ОК або натисне кнопку [Enter], то змінній z присвоїться значення “Козак”. Прізвище Козак вводимо з клавіатури. При натисканні Cancel або [Esc], функція повертає пустий рядок.