Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.33 Mб
Скачать

Частина 2.

  1. 1. Створіть новий проект і збережіть його у своїй папці з ім'ям Графічний редактор 2. Для чого виконайте команду Save All, Unit назвіть U_grafred2, проект - P_grafred2.

  2. Наша задача домогтися наступного ефекту: при натисканні миші по формі на ній повинна з'явитися фігура. Їли клавіша Shift не натиснута, це буде коло, якщо натиснута - квадрат. Для цього в обробнику події OnMouseDo для форми напишіть код:

if Button=mbLeft then

if ssShift in Shift then

Canvas.Rectangle(x-10,y-10,x+10,y+10)

else canvas.Ellipse(x-10,y-10,x+10,y+10);

  1. Зробіть так, щоб при русі курсору миші в заголовку форми відображалися його координати. В обробнику OnMouseMove запишіть:

caption: = Format ('Фігури: X =% d, Y =% d', [X, Y]);

  1. Помістіть на форму компоненти MainMenu (Standard) і ColorDialog (Dialogs). Створіть головне меню, що містить наступні пункти:

Файл: Колір: Розмір:

Новий Колір олівця Збільшити олівець

Вихід Колір кісті Зменшити олівець

Збільшити фігуру

Зменшити фігуру

  1. Створіть глобальну змінну Radius, ініціалізує її при створенні форми (Form1OnCreate) значенням 10, і замінимо нею константи при створенні фігур в обробнику події OnMouseDown:

if button=mbLeft then

if ssShift in Shift then canvas.rectangle(x-radius,y-radius,x+radius,y+radius)

else canvas.Ellipse(x-radius,y-radius,x+radius,y+radius);

  1. Обробимо події OnClick пунктів меню наступним чином:

Новий:

repaint;

Вихід:

form1.Close;

Колір олівця:

colordialog1.Color:=canvas.Pen.color;

if colordialog1.Execute then

canvas.Pen.Color:=colordialog1.Color;

Колір пензля:

colordialog1.Color:=canvas.brush.color;

if colordialog1.Execute then

canvas.brush.Color:=colordialog1.Color;

Збільшити олівець:

canvas.Pen.Width:=canvas.Pen.Width+2;

Зменшити олівець:

canvas.Pen.Width:=canvas.Pen.Width-2;

if Canvas.Pen.Width<3 then canvas.Pen.Width=3;

{границя на мінімальну толщину олівця}

Збільшити фігуру:

radius:=radius+5;

Зменшити фігуру:

radius:=radius-5;

  1. Виконайте самостійно:

    1. Створіть обробник події OnClick пункту меню Вихід із запитом про вихід з програми.

    2. Створіть обмеження на збільшення розміру олівця.

    3. Створіть обмеження на збільшення і зменшення (не менше ніж Radius-10) розміру фігури.

    4. Зробіть так, щоб при новому клацанні миші очищалося поле форми.

Результатом виконання даної практичної роботи є створений згідно із завданням програмний продукт. Виконане завдання повинне бути пред'явлено викладачеві в електронному вигляді. В ході захисту практичної роботи студент повинен продемонструвати свої навички роботи з вивченими компонентами і методами проектування інтерфейсу користувача.

Література

  1. Глинський Я.Н. Turbo Pascal 7.0 и Delphi: Учебное пособие / Глинський Я.Н., Анохін В.Е., Ряжская В.А.. —СПб. ООО”ДиаСофтЮП”, 2001. с. 56..72

  2. Рапаков Г.Г. Turbo Pascal для студентов и школьников / Рапаков Г.Г., Ржеуцкая С.Ю. — СПб.: БХВ—Санкт-Петербург, 2003. с. 259..303

  3. Культин Н.Б. Turbo Pascal в задачах и примерах. — СПб.: БХВ—Санкт-Петербург, 2003. с.64.. 73

  4. Милов А.В. Основы программирования в задачах и примерах. – Харьков. «Фолио», 2003

  5. Немнюгин С.А. Turbo Pascal. Практикум.-СПб.:Питер.2005

  6. Фаронов В.В. Delphi. Програмирование на языке высокого уровня: Учебник для ВУЗов — Питер 2008.

  7. Баженова И.Ю. Delphi 7. Самоучитель программиста: Учебно-справочное пособие — Кудиц-Образ Москва 2003.

  8. Дарахвелидзе П.Г., Марков Е.П. Программирование в Delphi7.-СПб.:БХВ-Петербург, 2003.

2

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]