Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: АрхеологияБиология Генетика География Информатика История Логика Маркетинг Математика Менеджмент Механика Педагогика Религия Социология Технологии Физика Философия Финансы Химия Экология ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Розробка проекту «Графічний конструктор»Содержание книги
Поиск на нашем сайте
Завдання. Створити програму, за допомогою якої користувач зміг би із запропонованого набору фігур зібрати та розфарбувати машинку, повантажити на неї мишку та відправити її в дорогу. «Урочисту» подію старту відзначити святковим салютом Аналіз проекту. Для створення графічного конструктора необхідно познайомитись із засобами Delphi, які забезпечують виведення анімованих стандартних зображень впродовж певного інтервалу часу, причому користувач повинен мати змогу спостерігати за ходом цього процесу. Для розробки цього проекту скористаємось такими компонентами Delphi: Ø Animate (вкладка Win32 палітри компонентів) – анімація, що використовується для виведення стандартних відео кліпів ОС Windows та «німих» відеофайлів *.avi; Ø Timer ( вкладка System палітри компонентів ) – таймер. Використовується для відліку інтервалів реального часу; Ø ProgressBar ( вкладка Win32 палітри компонентів ) – індикатор процесу, за допомогою якого можна відображати перебіг виконання певного процесу.
Для збирання машинки основне поле форми відведемо під компонент Panel, з яким ви вже ознайомлені, але компонент Panel використовуватиметься для об'єднання кількох компонентів. На цьому компоненті будемо розміщувати деталі конструктора: різні види компонента Shape (вкладка Additional палітри компонентів) – фігура, компонент Image та компонент Label. Для того, щоб ці компоненти були «прив'язані» до компонента Panel, необхідно спочатку розмістити на формі цей компонент, а потім з палітри компонентів розміщувати дочірні компоненти. Для організації перетягування фігур скористаємось комбінацією обробки подій: «кнопка миші натиснута», «кнопки миші утримується», «кнопка миші відпущена». Як відомо, до складу ОС Windows входять типові діалогові вікна (вікна вибору: файла, шрифту, кольору, настройки принтера тощо). У цьому проекті ми використаємо засіб Delphi, який дає змогу організувати виклик стандартних вікон Windows (додати до проекту невізуальні компоненти вкладки Dialogs). ХІД РОБОТИ Алгоритм розробки проекту 1. Створити папку С:\Delphi\lab_12. 2. Створити новий проект. 3. Розмістити на формі компоненти Label1, Panell, BitBtnl. Встановити цим компонентам властивості за табл. 1. Таблиця 1
Пояснення. Кнопка «Готово» запускатиме салют і відправлятиме мишку в дорогу. 4. Компоненту Раnel1 надати такого розміру, щоб він зайняв всю форму від компонента Label1 до кнопки BitBtnl. На панелі Panell розмістити геометричні фігури Shapel - Shape3 (три прямокутника: кузов, кабіна, вікно кабіни) та Shape4, Shape5 – два кола (колеса). Для встановлення виду фігури використати властивість Shape, для встановлення стилю та кольору зафарбовування використати властивості Brush.Color, Brush.Style, для встановлення кольору та типу лінії контуру використати властивості Pen.Color, Pen.Style. На компоненті Panell розмістити такі об'єкти, як на табл. 2. Таблиця 2
Зауваження. Якщо планується, що при конструюванні машинки одні об'єкти будуть накладатися на інші (наприклад, вікно кабіни на кабіну), то встановити порядок розташування об'єктів: активізувати об'єкт, викликати правою кнопкою миші контекстне меню, вибрати компонент. Зробити нижнім (верхнім). 5. Для всіх компонентів, розміщених на панелі Panel1, запрограмувати перетягування об'єктів по панелі. Для цього створити для цих компонентів процедури опрацювання подій OnMouseDown (кнопку натиснуто), OnMouseMove (кнопка миші утримується натиснутою), OnMouseUp (кнопку відпущено): procedure TForml.Label2MouseUp(Sender: TObject; Button: TMouseButton;Shift: TShiftState; X, Y: Integer); Begin flag:=False; end; procedure TForml.Label2MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); Begin xl:=x;yl:=y; flag:=True; end; procedure TForml.Label2MouseMove(Sender: TObject; Shift: TShiftState; X, Y: Integer); Begin if flag then with TShape (sender) do begin Left:=Left+x-xl;Top:=Top+y-yl; end; end; Пояснення. Якщо під час виконання програми кнопка миші буде натиснута в той час, коли її курсор знаходиться в області компонента Label2, змінні х1 і х2 запам'ятають координати розміщення фігури, а прапорець flag отримає значення True, що означатиме «перетягування почалось». Якщо кнопку миші не відпускати й рухатись, то працюватиме процедура TForml. Label2MouseMove, в якій відбуватиметься перерахування координат об'єкта Label2 стосовно системи координат форми. Після того, як кнопка миші буде відпущена, спрацює процедура TForml.Label2MouseUp, де прапорець flag отримає значення False – перетягування закінчилось. 6. Зберегти проект у палці C:\Delphi\lab_l2. 7. Запустити проект та перевірити правильність його виконання: перетягуючи об'єкти на панелі – зібрати машинку та повантажити мишку на машинку. Кнопка «Готово» поки не працює. 8. Розмістити на формі об'єкт Animatel (праворуч або ліворуч від компонента Labell) – для відображення відеокліпу. Розмістити в будь-якому місці форми об'єкт Timerl – для відліку інтервалів часу. Таймер включається при присвоєнні значення True його властивості Enabled і виключається, коли виконується Timerl.Enabled:=False; 9. Поруч з кнопкою «Готово» розмістити об'єкт ProgressBarl – для відображення процесу анімації. Цей об'єкт використовується для відображення виконання тривалого процесу, який починається з моменту включення таймера. Його властивості Міn та Мах – значення діапазону зміни. Властивість Position містить поточне значення величини.
10. Встановити об'єктам такі властивості (табл. 3). Таблиця 3
11. Для кнопки «Готово» створити процедуру обробки події OnClick: Labell.Font.Color:=clblue; Labell.Caption:='Щасливої дороги!'; Animate1.FileName:='bart.avi'; Animatel.Active:=True; Animatel.visible:=True; Timerl.Enabled:=True; ProgressBar1.Visible:=True; ProgressBarl.show; 12. Для таймера створити процедуру обробки події ОnТіmеr (для цього у вікні Інспектор об'єктів на вкладці Events (Події) двічі клікнути у полі праворуч від події ОnТіmеr): ProgressBarl.Position:=ProgressBarl.Position+1; if ProgressBarl.Position>=ProgressBarl.max then begin Timerl.enabled:=False; ProgressBarl.Position:=0; ProgressBarl.hide; Animatel.Stop; end; 13. Зберегти проект у палці C:\Delphi\lab_l2. 14. Запустити проект та перевірити правильність його виконання.
Питання для самоконтролю: 1. Які компоненти надає Delphi в розпорядження програміста, що дозволяють розробляти мультимедійні програми? 2. Який компонент дозволяє відтворювати просту анімацію, кадри якої знаходяться в Avi-файлі? 3. Яка властивість зберігає ім'я Avi-файла, в якому знаходиться анімація, що відображається за допомогою компоненту? 4. Яка властивість задає номер кадру, з якого починається відображення анімації? 5. Яка властивість задає номер кадру, на якому закінчується відображення анімації? 6. Яка властивість задає кількість повторів відображення анімації? 7. Який компонент дозволяє відтворювати відеоролики, звук і супроводжувану звуком анімацію? 8. Яка властивість визначає компонент, на поверхні якого відтворюється відеоролик? 9. Яка властивість визначає видимі кнопки компоненту, а також дозволяє зробити невидимими деякі кнопки? 10. Яка властивість задає ознаку автоматичного відкриття відразу після запуску програми, файла відеоролика або звукового фрагмента? Лабораторна робота №13 Тема: Створення програми типу клієнт-сервер. Мета роботи: Створити програму, яка обробляє клієнтські запити використовуючи Delphi.
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Последнее изменение этой страницы: 2016-04-18; просмотров: 345; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.15.18.73 (0.006 с.) |