
- •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. Результат обчислення площі круга.
- •Що нового ми дізналися?
Мал. 7.7. Форма для реєстрації користувачів.
8. Відкрийте вікно програми подвійним клацанням на формі Form1.
9. Розташуєте курсор зліва від рядка Option Explicit секції(Decla - rations) форми Form1.
10. Двічі натисніть на клавішу Enter, щоб вставити перед Option Explicit два порожні рядки.
11. Введіть наступний рядок над Орtion Explicit:
Private Password As String
12. Відкрийте процедуру події Load форми і додайте наступний фрагмент:
Private Sub Form_Load()
InitApp
txtUderID.Text = UserID
txtPassword.Text = ""
End Sub
13. У вікні програми відкрийте процедуру події Click кнопки cmdLogon і додайте в неї наступний фрагмент:
Private Sub cmdLogon_Click()
Dim msg As String
UsertID = txtUser.Text
Password = txtPassword.Text
msg = "Ім'я користувача: " & UserID & Chr$(13)
msg = msg & "Пароль: " & Password & Chr$(13)
msg = msg & "ACL: " & Str$(ACL)
End Sub
14. Запустіть програму командою Run > Start.
Зверніть увагу на те, що в полі Ім'я користувача міститься ім'я "Джо". Це значення було узяте з глобальної строкової змінної з ім'ям UserID. Змінна не оголошується в процедурі події Form_Load, вона оголошена глобальною в модулі Module1.
Змінна для зберігання пароля також заслуговує на увагу. Вона була оголошена в секції(Declarations) форми. Звертатися до неї можуть тільки функції цієї форми. Це важливо, тому що інша частина програми не має права змінювати пароль користувача. Говорять, що змінна пароля доступна лише в модулі форми.
Введіть будь-який текст в поле Пароль: і натисніть кнопку Реєстрація. Процедура події Click використовує змінні модуля і глобальні змінні для відображення інформації про користувача.
Ключове слово Static
Окрім змінних рівня процедури (Dim) існує ще один спосіб оголошення змінних - з ключовим словом Static:
Static X As Integer
Це означає, що змінна зберігатиме останнє присвоєне нею значення навіть після завершення процедури. Статичні змінні зручні для зберігання поточного значення накопичуваної суми. Якщо пропустити ключове слово Static (і скористатися замість нього Dim), то при кожному запуску процедури змінна обнулюватися разом з іншими числовими змінними. Розглянемо наступний приклад, в якому показана статична змінна у дії. Відвідаєте кафетерій Sybex і замовте в нім усе, що вам завгодно. Кава подається безкоштовно, але попереджаю - туалету тут немає! Якщо ви відчуваєте спрагу або потребуєте "хорошої дози кавового допінга", поступите так:
1. Створіть новий проект типу Standard EXE.
2. Задайте властивості Caption форми Form1 значення Кафетерій Sybex.
3. Створіть напис в середині верхньої частини форми. У вікні властивостей задайте її властивості Name значення lblQuantity, а властивості Caption - значення Замовлене каві;0.
4. Створіть кнопку під написом lblQuantity. Задайте її властивості Name значення cmdAdd, а властивості Caption - значення &Принесіть ще!.
5. Двічі клацніть на кнопці cmdAdd в конструкторі форм, щоб відкрити вікно програми.
6. Вставте наступний код в процедуру події Click кнопки cmdAdd:
Private Sub cmdAdd_Click()
Static count As Integer
count = count + 1
lblQuantity = "Замовлений каві:" & Str$(count)
End Sub
7. Запустіть програму і натисніть кнопку, щоб замовити будь-яку кількість чашок кави.
Змінна count в процедурі події Click оголошена статичній (Static), завдяки чому її значення зберігається між подіями. В результаті змінна пам'ятає, скільки чашок кави ви встигли замовити.
Масиви
Масиви можна вважати різновидом змінних, проте в них зберігається відразу декілька значень. Наприклад, електронна таблиця є масивом осередків. Масив можна використовувати для зберігання записів невеликої бази даних або червоного, зеленого і синього (RGB) компонентів растрового зображення. Хоча масиви використовуються дещо рідше за змінних, вони відіграють важливу роль в розробці програм. У наступному прикладі оголошується масив чисел цілого типу, а потім його елементам привласнюються значення:
Static X(2) As Integer
X(0) = 7
X(1) = 99
X(2) = 123
Для обробки масивів часто застосовується цикл For..Next, в якому в якості лічильника використовується цілочисельна змінна (мал. 7.8):
Dim Y As Integer
For Y = 0 To 2
Print X(Y)
Next Y