
- •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. Результат обчислення площі круга.
- •Що нового ми дізналися?
Універсальні змінні
Універсальні змінні можуть набувати будь-якого значення (ціле, байтове, строкове або логічне) і перетворювати його в будь-який тип. Якщо змінна використовується без явного оголошення оператором Dim, Visual Basic вважає, що вона відноситься до універсального типу.
Універсальний тип даних на перший погляд здається зручним, але я повинен попередити вас: користуйтеся ним лише в тих випадках, коли у вас немає іншого вибору. Універсальні змінні повільно працюють, оскільки Visual Basic вимушений витрачати час на їх інтерпретацію. До того ж вони даремно витрачають пам'ять - під універсальну змінну виділяється область, достатня для зберігання рядка, навіть якщо насправді потрібно всього один байт.
Зона видимості змінних
Змінні, з якими нам доводилося мати справу досі, оголошувалися словом Dim (скорочення від Dimension, тобто "розмірність"). Воно оголошено в процедурі. При цьому звертатися до такої змінної можна лише з тієї ж процедури. Іншими словами, ви не зможете визначити або задати її значення з іншої процедури, що знаходиться в тій же або іншій формі або в стандартному модулі.
Такі змінні називаються локальними (тобто видимими тільки в цій процедурі). Щоб змінна була видна на рівні модуля, її необхідно оголосити трохи інакше. По-перше, оголошення повинне знаходитися в секції(Declarations) форми або стандартного модуля. По-друге, замість Dim використовується ключове слово Private (хоча Dim також підтримується для забезпечення сумісності з більше ранніми версіями Visual Basic). Оголошена у такий спосіб змінна доступна на рівні модуля, і до неї можна звертатися з будь-якої процедури цього модуля - її зона видимості ширша, ніж у локальних змінних (мал. 7.6).
Projectl.Vbp
Мал. 7.6. Зона видимості змінних.
Крім того, змінна може бути доступна на рівні усього застосування. Такі змінні часто називаються відкритими, або глобальними. Вони оголошуються в секції(Declarations), але замість Dim або Private використовується ключі-витті слово Global. Зазвичай в таких випадках в проект включається стандартний модуль з розширенням .BAS, а усі глобальні змінні поміщаються в його секцію оголошень.
Щоб краще зрозуміти, чим відрізняються зони видимості, розглянемо наступний приклад:
1. Створіть новий проект.
2. У вікні Project Wizard виберіть значок Standard EXE.
3. Додайте в проект модуль - для цього слід клацнути правою кнопкою миші у вікні проекту і вибрати з контекстного меню команду Add > Module.
4. У діалоговому вікні Add Module виберіть значок Module. Створений модуль Module1 відкривається у вікні програми.
5. У вікні програми додайте наступний фрагмент:
Option Explicit
Global UserID As String
Global ACL As Integer
6. Додайте в модуль Module1 наступну процедуру:
Public Sub InitApp()
UserID = "Джо"
ACL = 255
End Sub
Перш ніж йти далі, давайте уважніше розглянемо два останні кроки. Оголошення змінних UserID і ACL c ключовим словом Global дозволяє звернутися до них з будь-якої процедури або модуля цього застосування. Оскільки функція InitApp знаходиться усередині модуля і супроводжується ключовим словом Public, вона є глобальною і може бути викликана з будь-якої процедури додатка. У ній відбувається ініціалізація додатка - змінній UserID привласнюється значення "Джо", а змінній ACL - 255. Тепер давайте створимо форму для реєстрації користувача:
1. Двічі клацніть на формі Form1 у вікні проекту, щоб активізувати її в конструкторі форм.
2. У вікні властивостей задайте властивості Name форми Form1 значення frmLogon, а властивості Caption - значення Реєстрація користувача.
3. Створіть на формі напис. Задайте властивості Name значення lblUserID, а властивості Caption - Ім'я користувача:.
4. Створіть під lblUserID ще один напис, задайте властивості Name значення
lblPassword, а властивості Caption - значення Пароль:.
5. Додайте текстове поле праворуч від першого напису і задайте його властивості Name значення txtUserID.
6. Додайте текстове поле праворуч від другого напису. У вікні властивостей задайте його властивості Name значення txtPassword, а властивості PasswordChar - символ "зірочка" (*).
7. Розмістите кнопку в середині нижньої частини форми. Задайте її властивості Name значення cmdLogon, а властивості Caption - значення &Реєстрація.
Після того, як на формі з'являться усі перераховані елементи, вона повинна виглядати приблизно так, як показано на мал. 7.7.