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

Хід роботи

  1. Запустіть Delphi. При цьому автоматично буде створений новий проект з формою.

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

  3. Дайте назву формою: "Світлофор". Для цього в Інспекторові об'єктів на вкладці Властивості знайдіть властивість Caption і задайте заголовок вікна Світлофор.

  4. З вкладки Additional палітри компонентів, вставте на форму компонент Bevel і розташуйте його так, щоб він служив як обрамлення для світлофора. Змініть його властивість Style на bsRaised - піднесений.

  5. Виділіть компонент Bevel і вставте компонент з вкладки Additional. Змініть властивість Shape компонента Shape на stEllipse (для того щоб змінити властивості компонента, його потрібно вибрати, для цього досить клацнути по ньому мишкою).

  6. Далі виберіть цей компонент знову і виберіть у меню Правка Копіювати, а потім 2 рази Правка Вставити - тепер стало 3 таких компонента.

  7. Вставте на форму компонент Button (Кнопка) із вкладки Standart палітри компонентів. Описаним вище чином розмножте кнопки до кількості 3.

  8. Д ля кожної кнопки змініть властивість Caption на Червоний, Жовтий, Зелений - відповідно. Шрифт напису на кнопці можна змінити, клацнувши по властивості кнопки Fonts. Тепер все це розташуйте на формі (як на малюнку).

  1. . Для того, щоб при натисканні на першій кнопці колір першого «очі» світлофора змінився на червоний, а решта - на білий, клацніть по ній 2 рази і запишіть вихідний код (пишіть тільки виділений жирним код - інше генерується автоматично):

procedure TForm1.Button1Click (Sender: TObject);

begin

Shape1.Brush.Color: = clRed; //властивість Brush визначає заливку об'єкта

Shape2.Brush.Color: = clWhite;

Shape3.Brush.Color: = clWhite;

end;.

  1. Аналогічно поступаємо з іншими кнопками. Для «Жовтої» кнопки:

Shape1.Brush.Color: = clWhite;

Shape2.Brush.Color: = clYellow;

Shape3.Brush.Color: = clWhite;

і для «Зеленої»

Shape1.Brush. Color: = clWhite;

Shape2.Brush. Color: = clWhite;

Shape3.Brush. Color: = clGreen;

  1. Щоб зробити так, щоб «очі» світлофора підстрибували при клацанні миші, напишіть обробник подій OnMouseDown і OnMouseUp для кожного з «очей»: для чого, виділіть об'єкт, перейдіть в Інспекторові об'єктів на вкладку Події, знайдіть назву потрібного подіїі клацніть два рази на текстовому вікні навпроти нього. При цьому з'явиться заготовка процедури, між begin і end напишіть необхідні оператори.

    1. В обробнику події OnMouseDown:

shape1.Top: = shape1.Top +10; переміститься на 10 одиниць вниз по вертикалі.

Ця подія виникає, коли користувач натиснув ліву клавішу миші на об'єкті.

    1. В обробнику події OnMouseUp кожного з «очей» помістіть код:

shape1.Top: = shape1.Top-10; елемент повернеться на місце.

Ця подія виникає, коли користувач відпустив ліву клавішу миші.!! Не забудьте змінювати номери інших двох компонентів на shape2, shape3.

  1. Зробіть підказку, яка з'являтиметься при наведенні миші на «око» світлофора. Для кожного з компонентів Shape («очі світлофора») властивості ShowHint встановіть значення True. І у властивості Hint напишіть сам текст підказки, наприклад, «Натисни мене!" Або будь-яке інше, що підходить до даного випадку.

  2. Ускладніть додаток. Зробіть так, щоб при запуску програми на екрані з'являлося вікно з запитом пароля. Для чого:

    1. Створіть нову форму, натиснувши на кнопку Нова форма.

    2. Для Form1 (першої, головної форми, не забудьте клацнути по ній, вибравши як об'єкта) в обробнику події OnShow (При появі) напишіть код:

procedure TForm1.FormShow (Sender: TObject);

begin

form2.Showmodal

end;

Це означає, що при появі вікна-форми1 на екран вискочить вікно-форма-2.

    1. Виберіть Form2 і задайте їй заголовок: «Зміна пароля».

    2. Подсвойству biSystemMenu властивості BorderIcons форми Form2 (подсвойства з'являються, коли натиснеш на плюсик) задайте значення false. Це означає, що ніяких кнопок в заголовку вікна не буде.

    3. Додайте до списку змінних модуля Unit2 змінну логічного типу f: boolean. Для цього необхідно натиснути на кнопку Показати список модулів (Ctrl + F12) і вибрати в списку потрібний

Знайдіть у модулі блок опису глобальних змінних і додайте рядок, виділену жирним.

var

Form2: TForm2;

f: boolean;

    1. Для форми Form2 в обробнику події OnCreate запишіть код:

procedure TForm2.FormCreate (Sender: TObject);

begin

f: = false

end;

При створенні форми f ініціалізується з початковим значенням false.

    1. Для форми Form2 в обробнику події OnClose запишіть код:

procedure TForm2.FormClose (Sender: TObject; var Action: TCloseAction);

begin 

if f = false then form1.close;

end;

Таким чином, якщо якийсь розумник натисне Alt + F4 для закриття вікна введення пароля, він нічого не доб'ється - автоматично закриється і головна форма, якщо пароль не був уведений правильно.

    1. Помістіть на Form2 компонент Label (Мітка). Визначте для нього шрифт MS Sans Serif 12 напівжирний (для того, щоб змінити шрифт необхідно клацнути мишкою по кнопці з трьома крапками навпроти властивості Font компоненту в Інспекторові об'єктів). Дайте заголовок компоненту: Пароль.

    2. Додайте на новій формі ще два компоненти - кнопку Button і поле для введення тексту Edit. Видаліть текст з властивості Text компонента Edit, встановіть його властивість AutoSize в false, а властивості PasswordChar надайте значення *. Прочитайте в теоретичних відомостях, що це означає.

    3. Задайте кнопці заголовок ОК.

    4. Розташуйте ці об'єкти, як показано на малюнку:

    1. Запишіть код для обробника події OnClick кнопки Button1

procedure TForm2.Button1Click (Sender: TObject);

begin

if edit1.Text = 'secret' then

begin

f: = true; form2.Close;

end

else showmessage ('Пароль введено невірно!')

 end;

Це означає, що якщо пароль (secret) введено вірно, то вікно введення пароля закриється і на екрані з'явиться головне вікно, інакше - програма видасть повідомлення про неправильне введення.

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

    1. Зробити так, щоб при натисненні Enter в вікні введення пароля було аналогічно натисненню кнопки ОК. (Для цього використовуємо подія OnKeyPress для компонента Edit1, читайте теоретичні відомості).

    2. Змініть заголовок вікна повідомлення про неправильне введення пароля на «Помилка!». При неправильному введенні пароля фокус повинен повертатися в поле введення.

    3. Зробіть так, щоб при триразовому неправильному введенні вікно автоматично закривався.

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

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