
- •5.05150104 "Дизайн друкованої продукції"
- •Робота з модулями і класами
- •Модулі і класи
- •Створення програмної бібліотеки
- •Створення модулів
- •Мал. 4.1. Діалогове вікно Add Procedure.
- •Прискорений спосіб додавання процедур
- •Процедури
- •Функції
- •Мал. 4.2. Вікно програми з функцією для обчислення кубічного кореня.
- •Мал. 4.3. Код виклику функції CubeRoot.
- •Мал. 4.4. Функція повертає кубічний корінь 3.
- •Мал. 4.5. Змінене вікно програми і форма.
- •Мал. 4.6. Новий варіант додатка. Тестування у вікні відпадки
- •Оновлення програмної бібліотеки
- •Передача параметрів
- •Мал. 4.7. Вікно додатка-прикладу.
- •Мал. 4.8. Зміна властивості Caption в програмі.
- •Ключове слово Optional
- •Ключове слово ByRef
- •Ключове слово ByVal
- •Ключове слово ParamArray
- •Ключові слова Public і Private
- •Закриті процедури (Private)
- •Мал. 4.9. Сім форм у вікні проекту.
- •Відкриті процедури (Public)
- •Робота з модулями класів
- •Властивості
- •Створення класу SmartForm
- •Використання Class Builder
- •Мал. 4.10. Утиліта Class Builder.
- •Мал. 4.12. Діалогове вікно Property Builder.
- •Мал. 4.13. Діалогове вікно Event Builder.
- •Мал. 4.14. Клас Person з властивостями, подіями і методами.
- •Що нового ми дізналися?
- •5. Створення і використання меню і панелей інструментів
- •Для чого потрібні меню і панелі інструментів
- •Мал. 5.1. Меню і панелі інструментів Visual Basic.
- •Об'єкт меню
- •Мал. 5.2. Редактор меню.
- •Властивості меню
- •Методи меню
- •Створення меню в редакторові меню
- •Мал. 5.3 Створення меню в редакторові меню.
- •Мал. 5.4. Працююче меню.
- •Проектування меню
- •Створення панелей інструментів
- •Мал. 5.5. Завдання властивості Style. Створення кнопок на панелі інструментів
- •Мал. 5.6. Форма із панеллю інструментів. Створення малюнків на кнопках
- •Мал. 5.7. Вставка растрових зображень в список зображень.
- •Мал. 5.8. Зв'язування панелі інструментів із списком зображень.
- •Мал. 5.9. Панель інструментів зі значками.
- •Використання вдосконаленої панелі
- •Мал. 5.11. Вкладка General в сторінках властивостей вдосконаленої панелі.
- •5.12. Вкладка Bands в сторінках властивостей вдосконаленої панелі.
- •Мал. 5.14. Вдосконалена панель у дії.
- •Що нового ми дізналися?
- •Урок 6. Логіка і послідовність виконання програми
- •Як "думає" комп'ютер?
- •Логічні оператори
- •Логічний оператор and
- •Логічний оператор eqv
- •Логічний оператор or
- •Логічний оператор xor
- •Логічний оператор not
- •Порівняння
- •Перевірка умови "рівно"
- •Мал. 6.1. Гра із вгадуванням числа
- •Перевірка умови "більше"
- •Мал. 6.2. Назване число більше за загадане.
- •Перевірка умови "менше"
- •Мал. 6.3. Назване число менше за загадане. Перевірка умови "не рівно"
- •Перевірка умови "більше або рівно"
- •Мал. 6.5. Перевищення граничної швидкості. Перевірка умови "менше або рівно"
- •Ухвалення рішень в програмі
- •Оператор If..Then..Else
- •Функція iIf
- •Оператор Select Case..End Select
- •Виконання дій, що повторюються
- •Цикл For..Next
- •Цикл Do..Loop
- •Цикл While..Wend
- •Перебір колекцій
- •Приклад використання циклів
- •Мал. 6.7. Створення команди меню.
- •Мал. 6.8. Створення масиву елементів.
- •Мал. 6.9. Форма з масивом текстових полів.
- •Мал. 6.10. Приклад роботи з циклами. Що нового ми дізналися?
- •Урок 7. Змінні
- •Перше знайомство із змінними
- •Що таке пам'ять?
- •Типи змінних
- •Байтові змінні
- •Строкові змінні
- •Puc. 7.3. Діалогове вікно Options.
- •Мал. 7.4. Вікно програми для прикладу.
- •Мал. 7.5. Вікно додатка-прикладу.
- •Універсальні змінні
- •Зона видимості змінних
- •Мал. 7.6. Зона видимості змінних.
- •Мал. 7.7. Форма для реєстрації користувачів.
- •Ключове слово Static
- •Мал. 7.8. Використання циклу For..Next.
- •Динамічні масиви
- •Константи
- •Мал. 7.10. Результат обчислення площі круга.
- •Що нового ми дізналися?
Мал. 6.5. Перевищення граничної швидкості. Перевірка умови "менше або рівно"
Іноді вимагається перевірити, що деяка величина менше або рівна (але не більше) іншої величини. Для перевірки цієї умови застосовується оператор <=. Наступний фрагмент показує, як виконуються подібні перевірки:
if x <= 3 Then
MsgBox "x менше або рівне 3"
End If
Ми скористаємося новим оператором в новому варіанті попереднього прикладу. Якщо літак летить занадто повільно, він може увійти до штопора і впасти. Haш датчик швидкості повинен повідомляти пілота про те, що він летить занадто повільно. Продовжимо роботу над прикладом:
1. Відкрийте приклад з попереднього розділу, якщо він не був відкритий раніше.
2. Вставте наступний рядок в секцію(Declarations) форми frmMain:
Private Const VSTALL = 73 ' Мінімальна швидкість
3. Припустимо, ви в даний момент летите і руків'я газу встановлене на 77 відсотків. Відредагуйте процедуру події Form_Load і приведіть її до наступного виду:
Private Sub Form_Load()
vscThrottle.Value = 23
vscThrottle_Change
End Sub
Нарешті, відредагуйте процедуру події Change елементу vscThrottle:
Private Sub vsc_Throttle_Change()
Dim ias As Integer ' Поточна швидкість
' Відстань до верхньої позиції смуги прокрутки
Throttle = 100 - vscThrottle.Value
' Вичислити поточну швидкість за значенням газу
ias = Throttle * 4.5
' Відновити датчик швидкості
lblAirspeed.Caption = "Поточна швидкість: " & _ Trim$(Str$(ias))
' Перевірити поточну швидкість і переконатися, '
що вона не перевищує граничної
If ias >= VNE Then
MsgBox "Зменшити газ"!, vbCritical, "Перевищення швидкості"
End If
' Переконатися, що літак не входить в штопор
If ias <= VSTALLThen
MsgBox "Збільшити газ"!, vbCritical', "Вхід в штопор"!
End If
End Sub
5. Збережете і Запустіть проект. Якщо зменшити газ нижче за порогове значення датчик швидкості видає попередження.
Отже, ви навчилися користуватися різними операторами для ухвалення рішень в програмах. Після знайомства з азами комп'ютерної логіки ми переходимо до наступної теми - як використовувати цю логіку для управління виконанням програми і як приймати прості рішення в додатках.
Ухвалення рішень в програмі
Логіка - лише одна складова "мислячого" застосування. Вам також знадобляться засоби її практичного використання. Наведені в цьому уроці приклади наочно показують, як приймаються рішення в програмах.
Оператор If..Then..Else
Оператор If..Then..Else є простою, але і найпоширенішою формою перевірки умов в Visual Basic. Його скорочена форма - оператор If..Then - має наступний синтаксис:
If Выражение1 Оператор Вираження 2 Then
' Виконати деякі дії
End If
В даному прикладі Оператор може бути будь-яким з операторів, розглянутих раніше,: AND, OR, =, <>і т. д. Выражение1 і Выражение2 - змінні або константи, що допускають порівняння цим оператором. Наприклад, порівняння рядків виконується таким чином:
PIN = "123456"
If PIN = "123456" Then
MsgBox "Вірне значення PIN"
End If
В цьому випадку PIN порівнюється із заздалегідь відомим значенням, "123456". Якщо умова істинна, на екран виводиться повідомлення.
Іноді ми реагуємо лише на виконання умови, але частіше доводиться обробляти і протилежну ситуацію. Для обробки протилежних ситуацій використовується оператор Else. Синтаксис виглядає так:
If Выражение1 Оператор Вираження 2 Then
Виконати деякі дії
Else
Виконати інші дії
End If
Усе, що вам доведеться зробити, - включити секцію Else після першого виконуваного блоку. Потім наступний виконуваний блок розміщується між ключовими словами Else і End If. У нім виконуються дії для умови, протилежної до того, що перевіряється. У попередньому прикладі це виглядало б так:
PIN = "654321"
If PIN = "123456" Then
MsgBox "Вірне значення PIN"
Else
MsgBox "невірне значення PIN"!
End If
Отже, тепер ви знаєте, як обробити умову і виключення з нього. Цей корисний прийом допоможе зменшити кількість помилок в програмі. Якщо вам потрібно буде вичислити декілька умов, оператор If..Then..Else можна помістити усередині іншого оператора (вкладена перевірка). Вкладені оператори If..Then дозволяють виконати серію перевірок в певному порядку. Наприклад:
If ValidUserID(UserID) Then
If ValidPassword(UserID, Password) Then
MsgBox "невірний пароль"!
Else
MsgBox "Користувач зареєстрований"!
End If
Else
MsgBox "невірне ім'я користувача"!
End If
Спочатку ми перевіряємо, що користувач ввів правильне ім'я. Перевірка виконується функцією ValidUserID(). Якщо функція повертає True (правильне ім'я), програма переходить до перевірки пароля. Інакше вона сповіщає користувача про те, що він ввів невірне ім'я.
Якщо функція ValidPassword() повертає True, користувачеві дозволяється увійти до системи. Інакше спроба реєстрації завершується невдачею. Вкладені оператори If..Then можна створити і іншим способом - за допомогою конструкції ElseIf:
If x = 1 Then
Виконати деякі дії
ElseIf x = 2 Then
' Виконати інші дії
End If
Вибір між цими конструкціями - питання смаку і/або звички. Обидва способи працюють однаково добре.