
- •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. Результат обчислення площі круга.
- •Що нового ми дізналися?
Цикл While..Wend
Інша форма циклу, схожа на конструкцію Do..Loop, - цикл While..Wend. У нім послідовність команд виконується до тих пір, поки залишається істинною вказана умова. Наприклад, наступний цикл:
While X < 10
X = X + 1
Wend
Виконується до тих пір, поки значення X не досягне 10. Оскільки цикл While - Wend еквівалентний конструкції Do..Loop, вибір між ними є справою смаку.
Перебір колекцій
У Visual Basic існує ще один тип циклів, призначений для переборів колекцій. Для цієї мети використовуються цикли For Each..Next. Такий спосіб особливо корисний за ситуації, коли точна кількість об'єктів в колекції невідомо заздалегідь.
Цикл для перебору усіх об'єктів колекції може виглядати так:
Dim cmd As CommandButton
*
For Each cmd In Form1
With cmd
If .Index <> Index Then
MsgBox "Кнопка " & Trim$(Str$(.Index)) &_
не була натиснута"
End If
End With
Next
У першому рядку оголошується об'єкт класу CommandButton. У другому рядку Visual Basic перебирає усі об'єкти CommandButton на формі Form1. Далі слідує оператор With cmd, який повідомляє про те, що операції блоку With..End With виконуються з поточним об'єктом колекції cmd.
Цикли по елементах колекцій використовуються в багатьох завданнях, серед яких перебір елементів дерев і табличних списків, дочірніх форм додатків MDI і об'єктів, що належать документам DHTML (див. урок 18, "Програмування для Інтернету на Visual Basic").
Приклад використання циклів
Наступний приклад наочно показує, як організовується спільна робота циклів, умов і логічних операторів. У нім описані раніше різновиди циклів використовуються для заповнення декількох текстових полів на формі. Хоча така програма не має особливої практичної цінності, вона добре демонструє роботу різних циклів.
1. Створіть новий проект командою File > New Project.
2. У діалоговому вікні New Project виберіть значок Standard EXE і натисніть кнопку ОК.
3. Задайте властивості Name форми Form1 значення frmMain, а властивості Caption - значення Цикли.
4. Відкрийте редактор меню клавішами Ctrl+E. 5. Створіть меню верхнього рівня, вказуючи в полі Caption значення &Цикл. Введіть в поле Name значення mnuLoop.
6. Створіть новий об'єкт меню (натисніть кнопку Next в редакторові меню).
7. Натисніть кнопку із стрілкою /, розташовану прямо над списком (мал. 6.7), щоб забезпечити створений об'єкт одиничним відступом. При цьому він стає командою меню верхнього рівня.
Мал. 6.7. Створення команди меню.
8. Введіть в поле Caption значення &For.. Next, а в поле Name - значення mnuLoop ForNext.
9. Натисніть кнопку Next, щоб створити наступну команду меню. Зверніть увагу: вона вже забезпечена необхідним відступом, тому натискати кнопку із стрілкою не треба.
10. Введіть в поле Caption значення &Do.. Loop, а в полі Name - значення mnuLoopDo - Loop.
11. Натисніть кнопку Next, щоб створити наступну команду меню. Введіть в поле Caption значення &While.. Wend, а в поле Name - значення mnuLoopWhileWend.
12. Натисніть кнопку Next, щоб створити наступну команду меню. Введіть в поле Caption значення "-" (дефіс), а в поле Name - значення mnuLoopSep1.
13. Створіть наступну команду меню, введіть в поле Caption значення&Очистити, а в поле Name - значення mnuLоорС 1еаг.
14. Натисніть кнопку OK, щоб закрити редактор меню.
15. Збережете проект командою File > Save Project.
16. Створіть на формі frmMain текстове поле, розташуєте його в лівому верхньому кутку форми і задайте його властивості Name значення txtTextBox. Видалите поточний вміст властивості Text.
17. Активізуйте елемент, клацнувши на елементі txtTextBox в конструкторі форм.
18. Натисніть Ctrl+C, щоб скопіювати елемент в буфер обміну.
19. Клацніть на формі frmMain.
20. Натисніть Ctrl+V, щоб вставити текстове поле з буфера на форму. З'являється діалогове вікно (мал. 6.8), в якому вам пропонується створити масив елементів. Натисніть кнопку Yes.