Часы-будильник-таймер-секундомер

  • Вид работы:
    Курсовая работа (т)
  • Предмет:
    Информационное обеспечение, программирование
  • Язык:
    Русский
    ,
    Формат файла:
    MS Word
    759,27 Кб
  • Опубликовано:
    2012-07-13
Вы можете узнать стоимость помощи в написании студенческой работы.
Помощь в написании работы, которую точно примут!

Часы-будильник-таймер-секундомер

Федеральное агентство по образованию

ГОУ ВПО Рыбинская государственная авиационная технологическая академия имени П. А. СОЛОВЬЕВА

Факультет радиотехники, электроники и информатики

 

Кафедра вычислительных систем

 

КУРСОВАЯ РАБОТА

по дисциплине

Системное программное обеспечение

на тему

«Часы-будильник-таймер-секундомер»

Пояснительная записка

ТА 230101.01.89.000 П3

 

Студент группы ВС - 07 Хохонов Д.А.

Руководитель канд. техн. наук, доцент Тонкий Л. В.

Нормоконтролер канд. техн. наук, доцент (Тонкий Л. В.)







Рыбинск 2010

Содержание

Введение

         Анализ технического задания

         Разработка блок-схем алгоритма

3  Разработка и описание программы

4        Руководство пользователя

4.1 Назначение программы

.2 Условие работы с программой

.3 Описание функционирования программы

5        Текст программы

Вывод

Список использованных источников

Введение

Требуется разработать программу «Часы-будильник-таймер-секундомер». Заданы ряд требований по выполнению работы. Программа будет написана на языке Delphi 7. Delphi обеспечивает быстроту работы, легкость компиляции, совместимость, интеграционную способность и т.д.

1. Анализ требований технического задания

Программа «Часы - будильник - таймер - секундомер», которую необходимо написать в данной работе, предназначена для отображения времени в цифровой.

Программа имеет доступ к системному времени. Так же имеется возможность выбора звукового сигнала для таймера и будильника. Все что требуется пользователю, это выбрать мелодию и установить нужное время. Как только наступит тот момент времени, который установил пользователь, программа автоматически запустит выбранную им мелодию.

Все функции установки будильника и таймера достаточно просты и удобны, тоже самое касается и секундомера. Часы имеют удобную форму и красивый фон. При необходимости их можно переместить по экрану. Они всегда будут на рабочем столе и пользователь всегда будет знать время.

Для наглядности работы алгоритма программы построим блок-схему.

2. Разработка блок-схем алгоритмов

Блок-схема поясняет весь алгоритм работы программы. При запуске программы появляется диалоговое окно, которое предлагает вам выбрать мелодию, которая будет проигрываться в сигнале будильника и таймера. Одновременно с запуском программы запускается секундомер, который будет показывать сколько времени вы используете эту программу. Так же имеется и другой секундомер, который можно запустить при желании пользователя. Выбрать секундомер, таймер или будильник можно нажав на окне, в котором располагаются часы, правую кнопку мыши. Установка параметров устанавливается вручную. Чтобы подтвердить запуск, необходимо нажать кнопку «Установить». Имеется возможность сброса. Для этого нужно нажать соответствующую кнопку. Блок-схема алгоритма работы программы представлена на рисунке 2.1.

Рисунок 2.1 - Блок-схема алгоритма работы органайзера

3. Разработка и описание программы

В данной программе реализовано отображение времени в цифровой форме с секундомером, имеющим точность 10 знаков, а так же присутствует дизайнерская проработка.

Рассмотрим более детально реализованные в программе функции. Главная функция программы - отображение времени, эта возможность реализована в цифровой форме. Цифровая форма более удобна, так как отображается точное время в формате чч - мм - сс.

Для получения времени используется системная функция Time, а для отображения ее на экране функция Timetostr.

При перемещении часов изменяется задний фон, а так же цвет отображения времени.

Возможность установить будильник на нужное время реализована с помощью стандартного компонента изменения даты и времени.

Возможность активации будильника представлена в цифровой форме. Используются кнопки типа Button, для включения будильника и установки времени, для изменения времени звонка.

Каждый элемент задания(часы, секундомер, таймер) располагаются на отдельной форме. Звуковой сигнал воспроизводится с общего музыкального проигрывателя.

Основные процедуры, используемые для реализации часов:

procedure FormCreate(Sender: TObject) - процедура создания формы. Timer1Timer(Sender: TObject) - процедура работы таймера, который получает время.

procedure N1Click(Sender: TObject) - процедура вызова таймера.C1Click(Sender: TObject) - процедура вызова секундомера.N2Click(Sender: TObject) - процедура выхода из программы.N3Click(Sender: TObject) - процедура вызова будильника.N4Click(Sender: TObject) - процедура вызова перемещения часов.Button1Click(Sender: TObject) - процедура установления.Button2Click(Sender: TObject) - процедура сброса.Button3Click(Sender: TObject) - процедура выхода из окна.

4. Руководство пользователя

.1 Назначение программы

Назначение программы - отображение времени в цифровой форме с возможностью вызова секундомера.

4.2 Условие работы с программой

Для работы программы необходимы:

- процессор с частотой 100 МГц(при использовании совместно с Windows 98) и не менее 400МГц (для использования совместно с Windows 2000/ME/2003 Server/XP или альтернативной системой при использовании программ эмулирования работы Windows)

операционная система Windows 98/2000/ME/2003Server/XP или альтернативная система с использованием программ эмулирования работы Windows

манипулятор мышь и клавиатура

объем дискового пространства 5 Мб

оперативная память 64 Мб и более.

4.3 Описание функционирования программы

Чтобы начать работу с программой, необходимо запустить файл Taim.exe.

Запуск программы сопровождается появлением диалогового главного окна:


Выбираем в этом окне мелодию, которая будет звучать в будильнике и таймере и жмем кнопку «Открыть». Появится главная форма программы:


После этого для совершения каких-либо действий необходимо на главной форме нажать правой кнопкой мыши:


Затем можно выбрать соответствующие действия. Т.е. вызвать секундомер, таймер, будильник, перемещение формы с часами или завершить работу с программой и выйти.



Нажав кнопку «Показать», запустится секундомер. Остановить его можно нажав кнопку «Стоп». Обнулить секундомер позволяет кнопка «Остановить».

Допустим, выбран Таймер, тогда появится окно:


Таймер выставляется вручную и активизируется кнопкой «Установить». После отсчета таймера запускается мелодия. Остановить таймер можно кнопкой «Остановить»ю

Допустим, выбран будильник, тогда появится следующее окно:


Будильник устанавливается вручную. Запуск будильника осуществляется кнопкой «Установить», чтобы сбросить будильник необходимо нажать кнопку «Сбросить».

Допустим, выбрано перемещение, тогда появится окно:


Нажав соответствующие кнопки форма с часами переместится в указанные места.

5. Текст программы

Unit1;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, XPMan, ExtCtrls, StdCtrls, Menus, ImgList;

= class(TForm): TLabel;: TTimer;: TTimer;: TTimer;: TXPManifest;: TImage;: TPopupMenu;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TMenuItem;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TTimer;FormCreate(Sender: TObject);Timer1Timer(Sender: TObject);N1Click(Sender: TObject);C1Click(Sender: TObject);N2Click(Sender: TObject);N3Click(Sender: TObject);N4Click(Sender: TObject);Timer2Timer(Sender: TObject);Timer3Timer(Sender: TObject);Timer4Timer(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TForm1;: TDateTime;

hour, min, sec, msec: word; //для преобразования

sectime,sectime1:TDateTime;,msrealcount,msreal:integer;, m, s, ms,mks : word;, m1, s1, ms1: word;, m2, s2, ms2: integer;: boolean;

Unit2, Unit3, Unit4, Unit5;

{$R *.dfm}

TForm1.FormCreate(Sender: TObject);: Cardinal;:=True; .Timer2.Enabled:=true;:= CreateEllipticRgn(0,0,Width,Height);(Handle,hRgn,false);:= Time; // получаем время(Now,hour,min,sec,msec);:=hour*60*60*1000+min*60*1000+sec*1000+msec;.Image1.Picture.LoadFromFile('top15.bmp');

Label1.Caption := TimeToStr(Time) {ф-ция, кот возвращает текущее системное время}

end;

TForm1.Timer1Timer(Sender: TObject);.Caption := TimeToStr(Time) {ф-ция, кот возвращает текущее системное время};

TForm1.N1Click(Sender: TObject);.show;;TForm1.C1Click(Sender: TObject);.show;;

TForm1.N2Click(Sender: TObject);.Close;;

TForm1.N3Click(Sender: TObject);.show;;

TForm1.N4Click(Sender: TObject);.show;;

TForm1.Timer2Timer(Sender: TObject);:=time;(sectime1,h1,m1,s1,ms1);:=h1*60*60*1000+m1*60*1000+s1*1000+ms1;:=msrealcount-mscount;:=msreal mod (60*60*1000);:=msreal div (60*60*1000);:=m2 mod (60*1000);:=m2 div (60*1000);:=s2 mod 1000;:=s2 div 1000;.Edit1.Text:=inttostr(h2);.Edit2.Text:=inttostr(m2);.Edit3.Text:=inttostr(s2);.Edit4.Text:=inttostr(ms2);;

TForm1.Timer3Timer(Sender: TObject);:=time;(sectime1,h1,m1,s1,ms1);:=h1*60*60*1000+m1*60*1000+s1*1000+ms1;:=msrealcount-mscount;:=msreal mod (60*60*1000);:=msreal div (60*60*1000);:=m2 mod (60*1000);:=m2 div (60*1000);:=s2 mod 1000;:=s2 div 1000;:=ms2*2;.Edit5.Text:=Copy(IntToStr(mks),1,3);;

TForm1.Timer4Timer(Sender: TObject);:=time;(sectime1,h1,m1,s1,ms1);:=h1*60*60*1000+m1*60*1000+s1*1000+ms1;:=msrealcount-mscount;:=msreal mod (60*60*1000);:=msreal div (60*60*1000);:=m2 mod (60*1000);:=m2 div (60*1000);:=s2 mod 1000;:=s2 div 1000;:=ms2*3;.Edit6.Text:=Copy(IntToStr(mks),1,3);;

.

Unit2;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, ExtCtrls, MPlayer;

= class(TForm): TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TEdit;: TTimer;: TLabel;: TLabel;: TLabel;: TButton;: TButton;: TButton;: TTimer;: TTimer;Timer1Timer(Sender: TObject);Button1Click(Sender: TObject);Button3Click(Sender: TObject);Button2Click(Sender: TObject);FormCreate(Sender: TObject);Timer2Timer(Sender: TObject);Timer3Timer(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TForm2;

,sectime1:TDateTime;,msrealcount,msreal:integer;, m, s, ms: word;, m1, s1, ms1: word;, m2, s2, ms2: integer;: boolean;

{$R *.dfm}

TForm2.Timer1Timer(Sender: TObject);:=time;(sectime1,h1,m1,s1,ms1);:=h1*60*60*1000+m1*60*1000+s1*1000+ms1;:=msrealcount-mscount;:=msreal mod (60*60*1000);:=msreal div (60*60*1000);:=m2 mod (60*1000);:=m2 div (60*1000);:=s2 mod 1000;:=s2 div 1000;.Edit1.Text:=inttostr(h2);.Edit2.Text:=inttostr(m2);.Edit3.Text:=inttostr(s2);.Edit4.Text:=inttostr(ms2);:=false;;

TForm2.Button1Click(Sender: TObject);.Edit1.Visible:=true;.Edit2.Visible:=true;.Edit3.Visible:=true;.Edit4.Visible:=true;.Edit5.Visible:=true;:=time;(sectime,h,m,s,ms);start then.Button1.caption:='Стоп';.Timer1.Enabled:=true ;.Timer2.Enabled:=true;.Timer3.Enabled:=true;:=h*60*60*1000+m*60*1000+s*1000+ms;.Button1.caption:='Старт';.Timer1.Enabled:=false;.Timer2.Enabled:=false;.Timer3.Enabled:=false;;:=True;;

TForm2.Button3Click(Sender: TObject);.Hide;;

TForm2.Button2Click(Sender: TObject);.Edit1.Text:=('0');.Edit2.Text:=('0');.Edit3.Text:=('0');.Edit4.Text:=('000');.Edit5.Text:=('000');.Edit6.Text:=('000');;

TForm2.FormCreate(Sender: TObject);.Timer1.Enabled:=false;.Timer2.Enabled:=false;.Timer3.Enabled:=false;;

TForm2.Timer2Timer(Sender: TObject);: integer;:=time;(sectime1,h1,m1,s1,ms1);:=h1*60*60*1000+m1*60*1000+s1*1000+ms1;:=msrealcount-mscount;:=msreal mod (60*60*1000);:=msreal div (60*60*1000);:=m2 mod (60*1000);:=m2 div (60*1000);:=s2 mod 1000;:=s2 div 1000;:=ms2*2;.Edit5.Text:=Copy(IntToStr(mks),1,3);:=false;;TForm2.Timer3Timer(Sender: TObject);mks:integer;:=time;(sectime1,h1,m1,s1,ms1);:=h1*60*60*1000+m1*60*1000+s1*1000+ms1;:=msrealcount-mscount;:=msreal mod (60*60*1000);:=msreal div (60*60*1000);:=m2 mod (60*1000);:=m2 div (60*1000);:=s2 mod 1000;:=s2 div 1000;:=ms2*3;.Edit6.Text:=Copy(IntToStr(mks),1,3);:=false;;:=True;.

Unit3;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, Buttons, MPlayer, ExtCtrls, XPMan;

= class(TForm): TTimer;: TMediaPlayer;: TBitBtn;: TBitBtn;: TBitBtn;: TEdit;: TEdit;: TEdit;: TLabel;: TLabel;: TLabel;: TXPManifest;: TOpenDialog;BitBtn3Click(Sender: TObject);BitBtn1Click(Sender: TObject);BitBtn2Click(Sender: TObject);Timer1Timer(Sender: TObject);FormCreate(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TForm3;,sreal,taimer:longint;:Tdatetime;,m,s,ms,i:word;,m1,s1:longint;,TaimMin,TaimSec:word;:boolean;

Unit2;

{$R *.dfm}

TForm3.BitBtn3Click(Sender: TObject);.Close;;

TForm3.BitBtn1Click(Sender: TObject);:=StrToInt(edit1.Text);:=StrToInt(edit2.Text);:=StrToInt(edit3.Text);:=time;(timeTiam,h,m,s,ms);:=TaimHour*60*60+TaimMin*60+TaimSec+h*60*60+m*60+s;.Timer1.Enabled:=true;;

TForm3.BitBtn2Click(Sender: TObject);.Timer1.Enabled:=FALSE;.Edit1.Text:='0';.Edit2.Text:='0';.Edit3.Text:='0';.MediaPlayer1.Stop;;

TForm3.Timer1Timer(Sender: TObject);:=time;(timeTiam,h,m,s,ms);:=h*60*60+m*60+s;:=TotalTaim-Sreal;:=taimer mod (60*60);:=taimer div (60*60);:=m1 mod (60);:=m1 div (60);taimer<=0 then.Timer1.Enabled:=false;;.Edit1.Text:=inttostr(h1);.Edit2.Text:=inttostr(m1);s1>=0 then form3.Edit3.Text:=inttostr(s1);((h1=0) and (s1=0) and (m1=0)) then.MediaPlayer1.Enabled:=true;.MediaPlayer1.open;.MediaPlayer1.Play;;;TForm3.FormCreate(Sender: TObject);OpenDialog1.Execute then {если диалог состоялся}.MediaPlayer1.FileName := form3.OpenDialog1.FileName;;.MediaPlayer1.Enabled:=false;.Edit1.Text:='0';.Edit2.Text:='0';.Edit3.Text:='1';;

.

Unit4;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls, MPlayer, ExtCtrls, XPMan, ComCtrls;

= class(TForm): TXPManifest;: TTimer;: TEdit;: TEdit;: TEdit;: TLabel;: TLabel;: TLabel;: TButton;: TButton;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);Timer1Timer(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TForm4;, bm, bs:word;, m1, s1, ms1: word;,sectime1:TDateTime;, min, sec, msec: word;

//bm,bh,bs:word;: TDateTime;: TTime;,TaimMin,TaimSec:word;, TotalTaim:longint;: boolean;

Unit3;

{$R *.dfm}TForm4.Button1Click(Sender: TObject);:=true;:=strtoint(form4.Edit1.Text);:=strtoint(form4.Edit2.Text);:=strtoint(form4.Edit3.Text);;

TForm4.Button3Click(Sender: TObject);.close;;

TForm4.Timer1Timer(Sender: TObject);:= Time;(Now,hour,min,sec,msec);(signal=true)and ((hour=bh)and(min=bm)and(sec=bs)) then.MediaPlayer1.Enabled:=true;.MediaPlayer1.Open;.MediaPlayer1.Play;

;;

.

Unit5;

, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,, StdCtrls;

= class(TForm): TButton;: TButton;: TButton;Button1Click(Sender: TObject);Button2Click(Sender: TObject);Button3Click(Sender: TObject);

{ Private declarations }

{ Public declarations };

: TForm5;

Unit1;

{$R *.dfm}

TForm5.Button1Click(Sender: TObject);.Align:=alleft;.Image1.Picture.LoadFromFile('1.bmp');.Label1.Font.Color:=clblue;;

TForm5.Button2Click(Sender: TObject);.Align:=alright;.Image1.Picture.LoadFromFile('2.bmp');.Label1.Font.Color:=clred;;

TForm5.Button3Click(Sender: TObject);.Align:=albottom;.Image1.Picture.LoadFromFile('3.bmp');.Label1.Font.Color:=clgreen;

end;.

Вывод

В ходе выполнения курсовой работы была разработана программа «Часы - будильник - таймер - секундомер», которая предназначена для вывода времени в цифровой форме. Реализация программы удовлетворяет условию технического задания и имеет дружественный пользователю интерфейс.

программирование delphi часовой

Список использованных источников

1. Кучеренко, В. П. Тонкости программирования на Delphi [Текст]: Учебное пособие / В. П. Кучеренко. - М.: «Познавательная книга плюс», 2000. - 192 с.: ил. - 4100 экз. - ISBN 5-8321-0066-2 (в пер.).

. Архангельский, А. Я. Приемы программирования в Delphi [Текст]: Учебное пособие / А.Я. Архангельский. - М.: ООО «Бином-Пресс», 2004. - 848 с.: ил.

. Вирт Н. Алгоритмы + структуры = программы. [Текст]: М.: Мир, 1985.

. Касьянов В.Н. Графы в программировании: обработка, визуализация и применение. / В.А. Евстигнеев - СПб.: БХВ-Петербург, 2003. - 1104 с.

Похожие работы на - Часы-будильник-таймер-секундомер

 

Не нашли материал для своей работы?
Поможем написать уникальную работу
Без плагиата!