Тема: Использование компонента таймер для управления при выполнении программы.
Цель лабораторной работы – Практически познакомиться с возможностями компонента Timer при создании и программировании приложений, с использованием данных компонентов.
Студенты должны научиться:
- Настраивать компонент Timer
- Использовать данный компонент
- Уметь пользоваться этим компонентом в своих приложениях
Теоретическая часть
Компонент Delphi Timer очень простой компонент, который не виден на экране, но, тем не менее, Timer Delphi выполняет очень важные функции в программе. Delphi Timer позволяет вводить необходимые задержки между выполнением тех или иных действий.
Компонент Timer имеет всего четыре свойства и одно событие, и работать с компонентом Delphi Timerочень просто.
Свойство | Назначение |
Enabled | “Включение-выключение” таймера |
Interval | Интервал срабатывания (в миллисекундах) |
Name | Имя компонента в программе |
Tag | Произвольный числовой параметр |
Задание 1
- Создать приложение, выполняющее функции секундомера (включить, очистить показания).
- Разместить на форме компоненты: 8 Label–окна для вывода показаний времени (часы, минуты, секунды), Button–кнопки включения секундомера, остановки и очистки показаний, Timer–для отсчета времени, Edit–окна с количеством элементов в каждом списке.
- У компонента Timer в свойстве Enabled выставить значение false, для отключения компонента. В свойстве Interval поставить значение 1000 (каждая 1000 равна 1 секунде).
- После раздела implementation прописать следующий код:
var
hour: integer; // часы
min: integer; // минуты
sec: integer; // секунды
- В событии OnTimer компонента Timer прописать:
sec := sec + 1;
if sec = 60 then begin
min := min + 1;
sec := 0;
end;
if min = 60 then begin
hour := hour + 1;
min := 0;
end;
if hour = 24 then hour := 0;
if sec < 10 then Label3.Caption := ‘0’ + IntToStr(sec)
else Label3.Caption := IntToStr(sec);
if min < 10 then Label2.Caption := ‘0’ + IntToStr(min)
else Label2.Caption := IntToStr(min);
if hour < 10 then Label1.Caption := ‘0’ + IntToStr(hour)
else Label1.Caption := IntToStr(hour);
- За запуска секундомера необходимо написать код, по нажатию на кнопку:
if Timer1.Enabled then
begin // счет времени
Timer1.Enabled := False; // остановить секундомер
Button1.Caption := ‘Пуск’;
Button2.Enabled := True; // кнопка Сброс доступна
end
else begin// секундомер стоит
Timer1.Enabled := True; // пуск таймера
Button1.Caption := ‘Стоп’;
Button2.Enabled := False; // кнопка Сброс недоступна
end;
- Для сброса секундомера, необходимо выполнить следующий код (обнулить переменные, вывести в метка 00):
hour := 0;
min := 0;
sec := 0;// индикатор в исходное состояние
Label1.Caption := ’00’;
Label2.Caption := ’00’;
Label3.Caption := ’00’;
- И еще один код, прописывается в событии OnCreate формы для обнуления переменных :
hour := 0;
min := 0;
sec := 0;
Задание 2
- Разработать приложение секундомер, с миллисекундами, секундами и минутами. Приложение имеет вид:
Самостоятельно.
Содержание отчета:
- Номер, тема, цель лабораторной работы.
- Задание к работе.
- Описание входных, промежуточных и результирующих данных с указанием их типа.
- Программа на языке программирования.
- Результат выполнения программы (Введенное данные и полученные данные)
- Вставить код, написанный вами
- Вывод о проделанной работе.