КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Приклад проекту Windows-додатка, у якому використовуються обумовлені процедури і функціїДодаткові відомості Вправи Питання для роздумів Визначення (створення коду) функції, використання функції. 1. Чи зможете Ви привести приклад вбудованої функції мови Visual Basic без аргументів (згадайте таку функцію, що згадувалася в 1-й частини посібника)? Відповідь: функція Rnd. 2. Чи зможете Ви привести приклад обумовленої функції без аргументів? Підказка: Скористайтеся рішенням вправи 4 наприкінці розд. 1.3. У ньому приведене визначення процедури без вхідних параметрів. А Ви можете зробити з цієї процедури дві функції... 1. Визначите функцію, що повертає ціле випадкове число в заданому інтервалі (наприклад, від 1000 до 2000). 2. Визначте функцію, що повертає об'єм прямокутного паралелепіпеда, якщо аргументи функції — розміри трьох його ребер, що мають одну загальну точку. 3. Визначте функцію, що повертає об'єм прямокутного паралелепіпеда, якщо його ребра рівнобіжні осям координат, а аргументи функції — координати двох вершин паралелепіпеда на кінцях головної діагоналі. 4. Визначите функцію, що повертає значення True (Істина), якщо рядок (аргумент функції) закінчується крапкою, знаком оклику чи знаком питання. У протилежному випадку функція повинна повертати значення False (Неправда). Розглянемо проект Windows-додатка, екранна форма якого зображена на мал. 1.12.
По виду цієї форми неважко здогадатися про призначення даного додатка — малювати на екрані комп'ютера трикутники й обчислювати їх площі. Координати вершин трикутників користувач задає або «на око», за допомогою миші, або точно, вводячи їх у текстові поля за допомогою клавіатури. Насамперед, опишемо інтерфейс для даного додатка (екранну форму й основні об'єкти на цій формі), а потім представимо програму (процедури, що забезпечують функціонування даного додатка). Раніше нами були розглянуті основні етапи створення проекту в середовищі Visual Basic. Нагадаємо, що основні з них — це розробка інтерфейсу і програмування. Інтерфейс. Основний об'єкт екранної форми — графічне поле, розташоване в центрі форми. На цьому полі будуть зображуватися трикутники після того, як користувач задасть значення координат їхніх вершин. Координати точок на графічному полі для простоти вважаються додатними. Початок координат знаходиться в лівому нижньому куті цього поля, вісь X спрямована зліва направо, а вісь Y — знизу нагору. Значення координат допомагає оцінити координатна сітка. (У даному випадку вона відповідає максимальному значенню кожної координати, і дорівює 20.) Під графічним полем розташована командна кнопка, натискання якої викликає малювання трикутників і обчислення їхніх площ. Ліворуч від графічного поля знаходяться 7 міток (зовні вони не відрізняються від текстових полів, що знаходяться праворуч від графічного поля). Імена цих міток такі: Label 8, Label 9,..., Label 14 (Над цими мітками знаходяться ще 7 міток (Label l, Label 2,..., Label 7) з написами: X 1, Y 1,..., Площа.). У перші 6 з них (Label 8 — Label l3) будуть поміщені (помістити деяке значення в мітку означає привласнити це значення властивості Caption даної мітки) координати точок, що користувач за допомогою миші буде вказувати на графічному полі. Ці точки — вершини трикутника, що буде зображуватися синім кольором. В останню мітку (Label l4) після натискання командної кнопки буде поміщена площа цього трикутника. Праворуч від графічного поля знаходяться 6 текстових полів, у які користувач може вводити координати вершин іншого трикутника. (Він буде зображуватися червоним кольором.) Під ними знаходиться мітка з ім'ям Label 23, в яку поміститься площа цього трикутника після щиглика все тієї ж командної кнопки. Програма. Програма даного додатка написана виходячи з блокового принципу: вона складається з декількох невеликих Click — процедур і функцій. Крім процедур-подій, програма містить загальні процедури, поміщені в окремі програмні модулі, і функцію, що також поміщена в окремий модуль. Ці модулі зберігаються в особливих файлах, що дозволяє використовувати їх і в інших додатках. Розглянемо складові частини програми по окремості. Загальна частина програми. Вона містить оголошення змінних — загальних для декількох процедур (оголошення змінних у загальній частині модуля за допомогою ключового слова Dim — це те ж саме, що оголошення їх за допомогою ключового слова Private):
Процедура-подія Commandl_Click. Подією для цієї процедури служить клік командної кнопки. Він є сигналом для зображення двох трикутників — синього і червоного — одного по трьох точках, безпосередньо поміщених у графічне поле, іншого по трьох точках, координати яких вводяться користувачем через текстові поля:
Процедура-подія Form_Load. Подією для цієї процедури служить завантаження форми. Призначення процедури — видача користувачу короткої інструкції, що йому робити після появи форми на екрані:
Процедура-подія Form_Paint. Подією для цієї процедури служить заповнення («зафарбовування») форми після її завантаження. Призначення процедури — нанесення на графічне поле екранної форми прямокутної сітки (спроба нанесення сітки (застосування методу Line) у процедурі завантаження форми приводить до невдачі):
Процедура - подія Piсture1_MоuseDоwn. Подією для цієї процедури служить рух будь-якої клавіші миші вниз (клік лівою клавішею миші по графічному полю Picture l). При першому кліку клавішею миші вниз координати покажчика миші привласнюються змінним x l і y l; при другому — змінним x 2 і y 2; при третьому — змінним х3 і у3. (Відлік кліків робиться за допомогою глобальної змінної Лічильник.) Два інших параметри цієї процедури (Button і Shift) у нашій програмі не використовуються. Їхнє значення вказує на те, яка клавіша миші використовується і чи натиснуті при цьому клавіші Shift, Ctrl чи Alt.
Функція загального призначення ПлТрикутКоopд. Це функція, що повертає площу трикутника, якщо задані координати його вершин. Визначення цієї функції дане в розд. 1.5 (код 1.6). Наступні 2 процедури не мають вихідних параметрів. Їхнє призначення — побудова зображень. Процедура загального призначення Сітка. Призначення процедури — побудова зображення прямокутної сітки в графічному полі Picture l:
Тут пх і ny — це, відповідно, число вертикальних і горизонтальних ліній на сітці, а с— колір цих ліній. Процедура загального призначення Трикутник. Призначення цієї процедури — побудова зображення трикутника в графічному полі Picture l:
Представлена програма може розглядатися як перша боязка спроба створення, ні багато ні мало, саморобного графічного редактора. Завантажити додаток
Дата добавления: 2014-12-23; Просмотров: 549; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |