МОУ СОШ №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, правда при этом точность отсчета будет не велика, но это не существенно. Объявим глобальную переменную
t:real; - для заданного интервала времени.
Кнопка «Пуск» производит следующее:

  • Считывает значение промежутка времени;
  • Устанавливает максимальное значение для Gauge1;
  • Делает недоступными кнопку Button1 и SpinEdit1;
  • Запускает Timer1 с периодом отсчета в 0,1 сек.
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 сек,
Gauge1.Progress :=Gauge1.MaxValue-round(t*10); - отображает полосой отсчитанное время.
sndPlaySound('sound.wav', SND_ASYNC); - подает звуковой сигнал. Для его работы нужно проделать следующее:

  • Дописать в раздел Uses mmsystem,
  • В папке c:\Windows\Media подобрать подходящий звуковой файл в папку со своей программой и переименовать его в sound.wav.

Остальные операторы не требуют пояснений.

 

 

 

 

 

 

 

 

 

 


 
О мини-проектах
Неуловимая кнопка
Вещий камень
Перетаскивание фигур
Секундомер
Градусы-радианы
Мультик
Падение тела
Прозрачная форма
Регионы
Шарик за мышкой
Таймер
Расписание уроков
Записная книжка
Задача по физике
Определение зачеркнутой цифры
Использование Microsoft Agent в Delphi
 Арифметика
 
 
 
 
 
 
 
 
 
 
 
 
 
 
             
Hosted by uCoz