Изучение основ программирования Borland Delphi. Простые операторы на примере программы «Таймер»

Страницы работы

Содержание работы

Министерство образования Российской Федерации

Дальневосточный Государственный Технический Университет

(ДВПИ имени В.В.Куйбышева)

Отчёт

по 2 лабораторной работе

на тему:

Изучение основ программирования  Borland Delphi

                                                                                   Выполнил(и) студент(ы): группы Р-4011

          Проверил:

Владивосток

2006

1. Содержание

1. Содержание…………………………………………………………………………..…………….2

2. Введение……………………………………………………………………………………………3

3. Описание работы программы……………………………………………………...……………4

4. Программный код…………………………………………………………………………………6


2. Введение

В данной лабораторной работе рассматриваются простые операторы на примере программы «Таймер».

Программа позволяет вести обратный отсчет для введенного интервала времени (часы, минуты, секунды).


3. Описание работы программы

Рассмотрим программу «Таймер». На рисунке показана главная форма приложения:

На форме расположены следующие компоненты:

·  Label (Label1) (метка) служит для вставки в определенном месте формы фиксированной строки текста (не более 255 символов), который не может быть изменен пользователем программы. Необходимая строка текста помещается в свойство Caption данного компонента;

·  Edit (Edit1) (поле редактирования) служит для отображения на форме редактируемой строки текста, т.е. пользователь может исправить отображаемый в данном компоненте текст, либо внести в поле собственную строку текста длиной не более 255 символов. Отображаемый в компоненте текст храниться в свойстве Text;

·  Button (Button1, Button2, Button3, Button4, Button5) создает кнопку, которая представляет собой командную кнопку;

·  GroupBox (GroupBox1) , этот элемент служит для объединения элементов , типа RadioButton иCheckBox, в функциональную группу;

·  RadioButton (RadioButton1, RadioButton2) , в данной программе этот элемент позволят выбрать размерности вводимой величины;

·  Timer (Timer1, Timer2)  обеспечивает генерацию последовательности событий и служат для временной привязки программы;

·  ProgressBar (ProgressBar1) данный элемент служит для наглядности работы разработанного приложения;

Работа      «Таймера»:

Перед запуском таймера необходимо ввести числовое значение времени. При правильном вводе нужного интервала времени и нажатии кнопки «СТАРТ» таймер начинает обработку событий с учётом введённой информации; на окне приложения появляются дополнительные кнопки обработки событий:

СТОП - останавливает «Таймер», обнуляет «оставшееся время» и обнуляет полосочку ProgressBar .

ПАУЗА – (на самом деле это не одна, а две кнопки, появляющиеся поочерёдно, в зависимости от количества нажатий по ним) приостанавливается работа «Таймера», т.е. замирает ProgressBar и замираетпоказатель оставшегося времени. При повторном нажатии работа «Таймера» возобновляется (не со значений которые приложение имело в момент запуска, а с тех значений, которые оно имело на момент приостановки).

4. Программный код

unit laboratornaya2;

interface

uses

Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,

ExtCtrls, StdCtrls, ComCtrls;

type

TForm1 = class(TForm)

Edit1: TEdit;

Button1: TButton;

Button2: TButton;

Timer1: TTimer;

GroupBox1: TGroupBox;

RadioButton1: TRadioButton;

RadioButton2: TRadioButton;

Button3: TButton;

Button4: TButton;

Timer2: TTimer;

Label1: TLabel;

Button5: TButton;

ProgressBar1: TProgressBar;

procedure Button1Click(Sender: TObject);

procedure Button2Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

procedure Button3Click(Sender: TObject);

procedure Timer2Timer(Sender: TObject);

procedure Button4Click(Sender: TObject);

procedure Button5Click(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

объявляем необходимые переменные

var

Form1: TForm1;

ost:integer;  k: integer;

implementation

{$R *.DFM}

нажатие на кнопку "Пуск(Пререзапуск)"

procedure TForm1.Button1Click(Sender: TObject);

присваиваем переменным тип, в зависимости от задач, которые они будут выполнять

var a : string;   t: integer ;

begin

ProgressBar1.Max:=0;

присваиваем переменной значения из текстового  поля

a:=edit1.text  ;

t:=StrToIntDef(a,-1);

провеяем, не ввел ли пользователь некорректные значения

if t<1  then begin

beep;beep;beep;

edit1.setfocus;

end else begin

ProgressBar1.visible:=true;

button5.Visible := true;

button3.Visible := true;

if radiobutton1.checked then k:=1;

if radiobutton2.checked then k:=60;

Timer1.Interval:=t*1000*k;

ost:=timer1.Interval;

включаем компонент "Timer1" и "Timer2"

Timer2.enabled:=true  ;

Timer1.enabled:=true  ;

ProgressBar1.Max:=t*k;

ProgressBar1.Enabled:=True;

label1.Caption := FloatToStrF(t*k,ffNumber,7,0);;

end;

end;

нажатие кнопки "Закрыть программу"

procedure TForm1.Button2Click(Sender: TObject);

begin

close;

end;

procedure TForm1.Timer1Timer(Sender: TObject);

var i : integer;

begin

button5.Visible := false;

button4.Visible := false;

button3.Visible := false;

Timer1.enabled:=false;

Timer2.enabled:=false;

label1.Caption:='0';

ProgressBar1.StepBy(1);

beep;

end;

Обработка события генерируемого таймером

procedure TForm1.Button3Click(Sender: TObject);

begin

Timer1.enabled:=false;

Timer2.enabled:=false;

beep;

button3.visible:= false;

button4.Visible:= true;

end;

Обработка события, вспомогательным таймером

procedure TForm1.Timer2Timer(Sender: TObject);

var ost2:real;

begin

ost:=ost-timer2.interval;

ost2:=ost/1000 ;

if ost2<1 then timer2.Enabled :=false;

ProgressBar1.StepBy(1);

Вывод оставшегося интервала

label1.Caption:=FloatToStrF(ost2,ffNumber,7,0);

end;

procedure TForm1.Button4Click(Sender: TObject);

var  d: string; dd : integer;

begin

d:=Label1.caption;

dd:=StrToIntDef(d,-1);

if dd<1 then begin

Timer1.enabled:=false;

Timer2.enabled:=false;

beep;

end else begin

timer1.Interval :=dd*1000;

Timer2.enabled:=true  ;

Timer1.enabled:=true  ;

end;

button4.visible:= false;

button3.Visible:= true;

end;

procedure TForm1.Button5Click(Sender: TObject);

begin

ProgressBar1.visible:=false;

button5.Visible := false;

button4.Visible := false;

button3.Visible := false;

Timer1.enabled:=false;

Timer2.enabled:=false;

label1.caption:='0';

//ProgressBar1.Max:=0;

beep;

end;

end.

Похожие материалы

Информация о работе