П`ятниця, 19.04.2024, 16:49
Вітаю Вас Гість

Сайт Колеснік Т.І.

Меню сайту
Робочі матеріали
Розробки уроків
Категорії розділу
Статистика
Головна » Файли » Розробки уроків » 8 клас

Урок. 13 ПРОГРАММА СВЕТОФОР
15.02.2017, 15:07

Задание. Смоделировать работу светофора. При запуске проекта панель светофора должна быть пустой. После нажатия на кнопку Пуск лампочки светофора начинают переключатся. После нажатия на кнопку Стоп – панель светофора опять пустая. С помощью таймера обеспечить смену сигнала светофора через равные промежутки времени. В поле Скорость вводится интервал таймера.

Ход выполнения проекта

1. Создайте новый проект. Сохраните его в отдельной папке, назовите ее «Светофор».

2. Разместите на форме панель (TPanel) c тремя фигурами (TShape), две кнопки (TButton), текстовое поле (TEdit), надпись (TLabel), таймер (TTimer) в соответствии с образцом:

Это должно выглядеть следующим образом:

lazarus13-1

2. Делаем оформление:

Установите данные значения свойств в инспекторе объектов:

Компонент Свойство Значение
Form1 Caption Светофор
Panel1 Caption *Пусто*
Shape1 Shape stCircle
Shape2 Shape stCircle
Shape3 Shape stCircle
Label1 Caption Скорость
Edit1 Text *пусто*
Button1 Caption Пуск
Button2 Caption Стоп

3. Создаем событие для Form1 в разделе OnCreate – Нажать троеточие

Создаем событие для Timer1 в разделе OnTimer – Нажать троеточие

4. Задаем цвета фигурам:

Компонент Свойство Значение
Shape1 Brush(Нажать на стрелочку слева от свойства и выбрать color) clRed
Shape2 Brush(Нажать на стрелочку слева от свойства и выбрать color) clYellow
Shape3 Brush(Нажать на стрелочку слева от свойства и выбрать color) clGreen

Финальный вид работы:

lazarus13-2

5. Во время загрузки формы таймер отключается, фигуры на панели становятся невидимыми.

Создаем обработчик события FormCreate (дважды щелкаем по компоненту Form1) и вставляем данный код:

var k:integer;
procedure TForm1.FormCreate(Sender: TObject);
begin
 Timer1.Enabled:=false;
 Shape1.Visible:=false;
 Shape2.Visible:=false;
 Shape3.Visible:=false;
end;

6. Чтобы переключались лампочки светофора, напишите программный код в обработчике события Timer1Timer. Код этот будет выполняться с интервалом, который пользователь введет в поле Скорость. По показаниям таймера определяется номер лампочки, которая должна включиться в данный момент.

Дважды щелкаем по компоненту Timer1 и вставляем данный код:

lazarus13-3

6. Напишите программный код для кнопки Пуск. По щелчку на кнопке из поля Скорость считывается интервал для таймера, зануляется показания таймера, таймер включается.

Дважды щелкаем по компоненту Button1 и вставляем код:

procedure TForm1.Button1Click(Sender: TObject);
begin
 Timer1.Interval:=StrToInt(Edit1.text);
 k:=0;
 Timer1.Enabled:=true;
end;

7. Напишите программный код для кнопки Стоп. После щелчка на кнопке таймер должен отключиться, лампочки светофора снова становятся невидимыми.

Дважды щелкаем по компоненту Button2  и вставляем код:

procedure TForm1.Button2Click(Sender: TObject);
begin
 Timer1.Enabled:=false;
 Shape1.Visible:=false;
 Shape2.Visible:=false;
 Shape3.Visible:=false;
end;

8. Запустите проект. В поле Скорость введите число 1000 (1000 мс=1с). Лампочки светофора начнут переключаться с интервалом в одну секунду.

Категорія: 8 клас | Додав: Melicain
Переглядів: 678 | Завантажень: 0 | Рейтинг: 0.0/0
Всього коментарів: 0
Пошук
Вхід на сайт
Практичні роботи
Батькам
Друзі сайту
Зараз на сайті