русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Проект «Таймер»


Дата добавления: 2014-11-27; просмотров: 1164; Нарушение авторских прав


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

Реализация. На форму положите два компонента TEdit для ввода минут и секунд, кнопку TButton с названием «Пуск», три надписи TLabel и таймер TTimer. Компонент TTimer невидим во время работы программы, поэтому его можно положить на любое место формы. В свойстве Timer1.Interval задается интервал времени, через который работает код, написанный в процедуре Timer1Timer (Sender : TObject). Интервал времени задается в миллисекундах. Если
Timer1.Interval = 1000, то временной промежуток равен 1 сек. Таймер включен, если его свойство Enabled имеет значение true и выключен, если false. Если таймер выключен, то код в процедуре
Timer1Timer(Sender: TObject) не работает.

Вид формы на этапе разработки приведен на рис. 3. Работающее окно изображено на рис. 4.

 

Рис. 3. Форма «Таймер» Рис. 4. Вид работающего окна

unit1 Unit1;

interface

uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, ExtCtrls, StdCtrls, ComCtrls, MPlayer;

 

type

TForm1 = class(TForm)

Timer1: TTimer;

Button1: TButton;

Edit1: TEdit;

Edit2: TEdit;

Label3: TLabel;

Label1: TLabel;

Label2: TLabel;

procedure Timer1Timer(Sender: TObject);

procedure Button1Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

 

var

Form1: TForm1;

 

implementation

 

{$R *.dfm}

{ Во время создания формы свойству Visible надписи Label3 надо присвоить значение False }

var min: integer; // минуты



sec: integer; // секунды

{Процедура ShowTime выводит, сколько времени осталось}

procedure ShowTime;

var buf: string[20];

begin

// Минуты и секунды выводим двумя цифрами

if min < 10 then

buf := '0' + IntToStr(min) + ':'

else

buf := IntToStr(min) + ':';

if sec < 10 then

buf := buf + '0' + IntToStr(sec)

else

buf := buf + IntToStr(sec);

Form1.Label3.Caption := buf;

end;

// Сигнал от таймера

procedure TForm1.Timer1Timer(Sender: TObject);

begin

sec := sec - 1;

ShowTime;

if (min = 0) and (sec = 0) then

// Заданный интервал истек

begin

Timer1.Enabled := False; // Стоп

ShowMessage(Заданный интервал истек!');

Button1.Caption := 'Пуск';

Label3.Visible := False; // Скрыть индикатор

// Сделать видимыми поля ввода интервала

Label1.Visible := True;

Edit1.Visible := True;

Label2.Visible := True;

Edit2.Visible := True;

exit;

end;

if (sec = 0) and (min > 0) then

begin

sec := 60;

min := min - 1;

end;

end;

 

// Щелчок на кнопке пуск-стоп

procedure TForm1.Button1Click(Sender: TObject);

begin

if Form1.Timer1.Enabled then

// Таймер работает, надо остановить

begin

Timer1.Enabled := False; // Стоп

Button1.Caption := 'Пуск';

Label3.Visible := False; // Скрыть индикатор

// Сделать видимыми поля ввода интервала

Label1.Visible := True;

Edit1.Visible := True;

Label2.Visible := True;

Edit2.Visible := True;

end

else

// Таймер стоит, надо запустить

begin

min := StrToInt(Edit1.Text);

sec := StrToInt(Edit2.Text);

if (sec = 0) and (min = 0) then

begin

ShowMessage('Надо задать интервал!');

exit;

end;

Timer1.Enabled := True; // Запустить таймер

// Скрыть поля ввода интервала

Label1.Visible := False;

Edit1.Visible := False;

Label2.Visible := False;

Edit2.Visible := False;

Label3.Visible := True;

Button1.Caption := 'Стоп';

ShowTime;

end;

end;

end.

Задание. Вместо компонентов TEdit положите на форму два компонента TUpDown. Эти компоненты позволяют нажатием на стрелочки задавать минуты и секунды, как показано на рис. 5.

Напишите для компонентов TUpDown соответствующие обработчики, сохраните проект в папке и запустите его.

 

 

Рис. 5. Проект «Таймер»



<== предыдущая лекция | следующая лекция ==>
Проект «Калькулятор» | Проект «Светофор»


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.026 сек.