
- •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. Результат обчислення площі круга.
- •Що нового ми дізналися?
Мал. 4.3. Код виклику функції CubeRoot.
12. Запустіть додаток і натисніть кнопку. Зразковий вид форми показаний на мал. 4.4. У нашому прикладі повертане значення друкується прямо на формі.
Мал. 4.4. Функція повертає кубічний корінь 3.
Зазвичай значення яке повертається відображується в одному з елементів форми, наприклад в текстовому полі (мал. 4.5). Це робиться так:
Мал. 4.5. Змінене вікно програми і форма.
13. Зупините програму, натиснувши кнопку [х] у правому верхньому кутку форми. Ви знову опинитеся в режимі конструктора.
14. Двічі клацніть на формі Form1 у вікні проекту.
15. Створіть на формі текстове поле, задайте його властивості Name значення txtText1. Видалите поточний вміст властивості Text.
16. Видалите з процедури події Click() кнопки cmdCubeRoot останній рядок (Print Y) і заміните її наступній:
txtText1.Text = Y
Результат показаний на мал. 4.6.
Крім того, можна видалити увесь вміст процедури і обмежитися всього одним рядком:
txtText1.Text = CubeRoot(27)
В цьому випадку значення яке повертається привласнюється елементу без використання проміжної змінної.
Мал. 4.6. Новий варіант додатка. Тестування у вікні відпадки
Роботу процедур і функцій можна перевірити у вікні відладки.
Запустіть проект, потім виконаєте команду Run > Break. На передній план виходить вікно відладки, показане на наступному малюнку.
Якщо ви втратите його, виконаєте команду View > Immediate Window. Зараз ви працюєте в режимі відладки. Щоб запустити процедуру з вікна відладки, введіть її ім'я і натисніть Enter. Якщо процедура викликається з параметрами, їх також слід ввести. Наприклад:
AlterCaption "Новий заголовок"
У функціях вас в основному цікавить значення, яке можна вивести у вікні відладки. Це робиться, наприклад, так:
Print CubeRoot(27)
чи так:
? CubeRoot(27)
Оновлення програмної бібліотеки
Давайте доповнимо нашу бібліотеку новою функцією, яка перевіряє, чи існує на диску файл із заданим ім'ям. Цю функцію слід викликати перед спробою відкрити файл або створити його (щоб запобігти випадковому знищенню існуючого файлу):
1. Якщо проект з попереднього розділу не зберігся, створіть новий проект командою File > New Project.
2. Якщо модуль MyLibrary.Bas не був включений в проект, клацніть правою кнопкою миші у вікні проекту і виконаєте команду Add > Module з контекстного меню.
3. У діалоговому вікні Add Module перейдіть на вкладку Existing, знайдіть файл MyLibrary.Bas і натисніть кнопку Open. Програмний модуль включається в проект.
4. Двічі клацніть на файлі MyLibrary.Bas у вікні проекту. У вікні програми, що відкрилося, вставте наступний фрагмент в секцію(Declarations):
Public Function IsFile(FileName As String) As Boolean
If Len(Dir(Filename))> 0 Then
'Файл існує
IsFile = True
Else
'Файл не існує
IsFile = False
End If
End Function
5. Збережете бібліотеку командою File > Save MyLibrary. Уся основна робота виконується в рядку
If Len(Dir(Filename))> 0 Then
У ній викликаються ще дві функції, які формують одне підсумкове значення. Функція Dir() отримує один параметр - Filename. Вона перевіряє, чи існують файли, відповідні заданому критерію (наприклад, *. txt), і повертає перший відповідний файл, якщо він існує. Наприклад, якщо в теці Мої документи існує файл FooBar.txt і змінній Filename буде присвоєне значення З:\Мої документи\FооВаг.txt, функція повертає текстовий рядок FooBar, txt. Якщо файл не існує, Dir() повертає порожній рядок. Після функції Dir() викликається функція Len(). Вона повертає довжину рядка, переданого їй як аргумент. Наприклад, функція Len("abc") повертає значення 3, тому що рядок abc складається з трьох байтів. Оскільки Diг() повертає ім'я файлу, відповідного переданому критерію, ланцюжок Len(Dir()) еквівалентний виклику Len("FooBar. txt"), який повертає значення 10. Нарешті, ми перевіряємо, чи повернула функція Len() позитивне число. Довжина FooBar. txt дорівнює 10; поза сумнівом, це число більше нуля, тому змінною IsFile привласнюється значення True - воно показує, що файл дійсно існує. Якщо Dir() поверне порожній рядок, функція Len() повертає 0. Це число не є позитивним, тому IsFile привласнюється значення False - відповідно, файл не існує.
Перший модуль готовий, і тепер ви можете включати його у свої проекти для виконання деяких простих завдань. Функція IsFile перевіряє, чи існує на жорсткому диску файл із заданим ім'ям. Подібну перевірку слід виконувати перед спробою відкриття файлу в програмі. Від вас вимагається лише вказати, який файл вас цікавить:
If IsFile("C:\CONFIG.SYS") Then
... .. дії вашої програми ..
End If