Фев
14th

Урок 13. Программа Светофор

Рубрика: Lazarus, Новости | Автор:admin

lazarus13-0В этом урока мы продолжим знакомиться с компонентами Lazarus. Сегодня для создания проекта “Светофор” нам понадобятся компоненты: Timer (Таймер), Shape (Фигуры), Panel (Панель).

Перед созданием приложения следует изучить описание новых компонентов.

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

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

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с). Лампочки светофора начнут переключаться с интервалом в одну секунду.

Артем Позняк,  ученик 10 “А” класса СОШ №23, г. Экибасбуз

 

Поделиться с друзьями



Один комментарий к “Урок 13. Программа Светофор”

  1. Игорь | Фев 15, 2017 | Ответить

    Хорошо постарался, жаль, что уроков так мало…

Оставить комментарий или два