САЙТ УЧИТЕЛЯ ИНФОРМАТИКИ |
|||||||||||||||
МОУ СОШ №3 г. Осташков Тверская обл. | |||||||||||||||
|
Мини-проекты в Delphi Проект «Таймер» Таймер – устройство, которое отсчитывает определенный промежуток времени, а по его истечении включает или выключает какое-либо устройство, подает звуковой сигнал. Создадим программу, в которой звуковой сигнал производится после истечения заданного интервала. Есть компоненты ProgressBar со страницы библиотеки Win32 и Gauge со страницы Samples, предназначенные для отображения в стиле Windows 95/98 хода процессов, занимающих заметное время. Большими возможностями обладает Gauge. Разместим на форме (снизу вверх) две кнопки, полосу Gauge, метку Label1, очистив в ней надпись, еще оду метку с текстом «Интервал (сек), правее компонент для ввода целых чисел – SpinEdit и Timer. Займемся свойствами. Для SpinEdit1: minValue =0, maxValue=600, Increment (шаг изменения)=1. Timer1 – Interval=100 (0,1 сек). Для отсчета времени воспользуемся компонентом Timer, правда при этом точность отсчета будет не велика, но это не существенно. Объявим глобальную переменную
procedure TmainForm.Button1Click(Sender: TObject);
begin
t:=SpinEdit1.Value;
Gauge1.MaxValue:=round(t)*10;
Button1.Enabled := false;
SpinEdit1.Enabled:=false;
Timer1.Enabled:=true;
end;
Кнопка Button2 закрывает приложение. procedure TmainForm.Timer1Timer(Sender: TObject);
begin
t:=t-0.1;
Gauge1.Progress :=Gauge1.MaxValue-round(t*10);
If t<=0 then
begin
Label1.Caption :='Время вышло!';
sndPlaySound('sound.wav', SND_ASYNC);
Button1.Enabled := true;
SpinEdit1.Enabled:=true;
Timer1.Enabled:=false;
end;
end;
t:=t-0.1; - уменьшает заданное время на 0,1 сек,
Остальные операторы не требуют пояснений.
|
||||||||||||||