
- •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. Результат обчислення площі круга.
- •Що нового ми дізналися?
Модулі і класи
У попередніх уроках ми встигли розглянути два найважливіші "будівельні блоки" Visual Basic - форми і елементи. Настав час зайнятися третім видом "блоків" - програмними модулями (чи просто модулями). Програмний модуль є текстовий ASCII - файл, що містить підпрограми, функції, змінні і/або константи. Насправді ми вже користувалися модулями в попередніх уроках, але зараз ми детально вивчимо, як вони працюють. Програмний модуль схожий на ящик з інструментами. Уявіть собі, що у вас в одному ящику зберігаються молоток, викрутка, різні цвяхи і шурупи. Молоток і цвяхи відповідають процедурам програмного модуля, а цвяхи і шурупи - змінним (чи даним). Тепер уявіть, що цвяхи не розкладені по окремих коробках, а валяються в ящику разом з іншими інструментами. Приблизно такий влаштований простий програмний модуль.
ПІДКАЗКА. Модулі є текстові ASCII - файли з програмним кодом. У них зручно групувати взаємозв'язані процедури, які можуть використовуватися в програмі.
Код проекту може складатися з безлічі програмних модулів. Наприклад, молоток і викрутку можна зберігати в одній коробці, а цвяхи і шурупи - в іншій. Подібна структурна організація спрощує читання програми. Усе це, звичайно, добре, але уявіть собі робітника-будівельника, якому доводиться тягати з собою безліч ящиків з інструментами і коробочок з цвяхами і шурупами. Було б набагато зручніше мати один ящик для молотка і викрутки із спеціальними відділеннями для кожного типу цвяхів. Аналогічна можливість передбачена і в Visual Basic - вам знадобиться модуль класу, що частіше іменується просто класом.
Класи є основними будівельними блоками об'єктно-орієнтованого програмування (ТОП) - моделі, при якій програма описується у вигляді сукупності об'єктів. Клас не лише дозволяє виділити частину функціональних коштів програми в окремий об'єкт, але і розширює можливості базових модулів - ви можете захистити одні фрагменти програми, а інші - надати в розпорядження програми. Цей процес називається інкапсуляцією. Програмні об'єкти, що конструюються в ТОП, імітують поведінку об'єктів реального світу.
Як і елементи, про які говорилося в уроці 3, класи мають властивості, методи і події, призначені для виконання взаємозв'язаних операцій. Добре спроектований клас є цілком самостійним фрагментом програми. Це означає, що ви можете перенести клас з одного проекту в іншій, і він буде нормально працювати без яких-небудь виправлень. Об'єкти і ТОП детально розглядаються в уроці 15.
Оскільки модулі містяться в окремих файлах, їх можна включати відразу в декілька проектів. Таким чином, з'являється можливість повторно використовувати написаний код. Наприклад, у мене є декілька модулів, що містять взаємозв'язані процедури. У одному модулі зберігаються функції для роботи з діалоговими вікнами, якими я користуюся у своїх програмах. У іншому модулі об'єднані функції, що спрощують роботу з мультимедіа-пристроями. Групуючи однорідні функції в межах одного модуля, ви створюєте програмну бібліотеку. Якщо помістити модулі в один каталог або логічно пов'язаний набір підкаталогів, їх можна буде використовувати в інших проектах.
Використання програмних бібліотек економить час, оскільки вам не доведеться наново створювати вже написаний код. Продовжуючи метафору з інструментами, можна сказати, що програмна бібліотека нагадує вантажівку для перевезення інструментів і припасів. У нім поміщається багато ящиків, що містять різні інструменти; у одному ящику лежать молотки і викрутки, в іншому - пензлі і ролики для фарби. Різні типи даних знаходяться в одній бібліотеці, але при цьому не змішуються один з одним.
Інша перевага програмних бібліотек полягає в тому, що після відладки їх вміст можна сміливо використовувати в інших проектах. Ви отримуєте у своє розпорядження набір інструментів з довічною гарантією: вам вже не доведеться ходити магазинами і купувати нове устаткування для кожного нового завдання! Перш ніж приступати до модулів і класів, давайте створимо програмну бібліотеку, в якій ви почнете колекціонувати свої власні програмні засоби.