Требуется разработать программу «Таймер». Заданы ряд требований по выполнению работы. Программа будет написана на языке Delphi 7. Delphi обеспечивает быстроту работы, легкость компиляции, совместимость, интеграционную способность и т.д.
Анализ требований технического задания
Программа «Таймер», которую необходимо написать в данной работе, предназначена для отображения сообщения и воспроизведения звукового сигнала по истечению заданного времени.
Основным компонентом программы является Timer. Так же имеется возможность изменения звукового сигнала в исходном коде. Все что требуется пользователю, это выбрать интервал времени. Как только пройдет тот интервал времени, который установил пользователь, программа автоматически запустит мелодию и покажет сообщение.
Все функции установки таймера достаточно просты и удобны. Таймер имеет красивую иконку и спокойный фон.
Для наглядности работы алгоритма программы построим блок-схему.
Разработка блок-схем алгоритмов
Способы описания алгоритмов. Алгоритмы и структуры данных.
Блок-схема поясняет весь алгоритм работы программы. При запуске программы появляется диалоговое окно, которое предлагает вам ввести интервал. После нажатия кнопки «Пуск» запускается таймер и одновременно выводится оставшееся время. Во время работы программы таймер можно остановить с помощью кнопки «Стоп». После окончания времени интервала вам будет выведено сообщение «Заданный интервал истек» и будет включен звуковой сигнал.
Блок-схема алгоритма работы программы представлена на рисунке 2.1.
![]() |

Рисунок 2.1 – Блок-схема алгоритма работы таймера
Разработка и описание программы
Рассмотрим более детально реализованные в программе функции. Главная функция программы — счет оставшегося времени, эта возможность реализована в цифровой форме. Цифровая форма более удобна, так как отображается точное время в формате мм – сс.
Для получения остатка времени используется системная функция Timer.
Возможность установить время реализована с помощью стандартных компонентов Edit и UpDown.
Используются кнопки типа Button, для включения и выключения таймера.
Основные процедуры, используемые для реализации часов:
procedure ShowTime — выводит сколько времени осталось.
procedure TForm1.FormCreate(Sender: TObject) — процедура создания формы.
procedure TForm1.Timer1Timer(Sender: TObject) — процедура счета оставшегося времени.
procedure TForm1.Button1Click(Sender: TObject) — процедура включения, выключения таймера.
Руководство пользователя
Назначение программы
Назначение программы – отображение сообщения и воспроизведение звукового сигнала по истечению заданного времени.
Условие работы с программой
Для работы программы необходимы:
Самый подробный урок про Блок-схемы, Понимание, Чтение и Создание блок-схем
— процессор с частотой 100 МГц(при использовании совместно с Windows 98) и не менее 400МГц (для использования совместно с Windows 2000/ME/2003 Server/XP/Vista/7 или альтернативной системой при использовании программ эмулирования работы Windows)
— операционная система Windows 98/2000/ME/2003Server/XP/Vista/7 или альтернативная система с использованием программ эмулирования работы Windows
— манипулятор мышь и клавиатура
— объем дискового пространства 5 Мб
— оперативная память 64 Мб и более.
Описание функционирования программы
Чтобы начать работу с программой, необходимо запустить файл Timer.exe.
Запуск программы сопровождается появлением диалогового главного окна:


Указываем количество минут и секунд в интервале с помощью компонентов UpDown, либо вводом значений в поля:


После ввода интервала нажимаем кнопку «Пуск»:


И сразу открывается окно с количеством оставшегося времени и кнопкой «Стоп», для досрочной остановки таймера:

При нажатии на кнопку «Стоп» таймер возвращается в исходную позицию с формой для повторного ввода интервала.

По истечению времени будет показано сообщение о завершении, воспроизведен звуковой сигнал и форма вернется в исходную позицию:

Исходный код программы
unit Unit 1;
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ExtCtrls, StdCtrls, MPlayer, ComCtrls;
TForm1 = class(TForm)
Button1: TButton;
Edit1: TEdit;
Edit2: TEdit;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Timer1: TTimer;
MediaPlayer1: TMediaPlayer;
UpDown1: TUpDown;
UpDown2: TUpDown;
procedure FormCreate(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
procedure Button1Click(Sender: TObject);
Form1: TForm1;
implementation
SOUND = ‘tada.wav’;
MediaPlayer : TMediaPlayer;
min: integer;
sec: integer;
procedure ShowTime;
buf: string[20];
buf:=’0’+IntToStr(min) + ‘:’
buf:=IntToStr(min) + ‘:’;
buf:=buf + ‘0’ + IntToStr(sec)
buf:=buf + IntToStr(sec);
Form1.Label3.Caption:=buf;
procedure TForm1.FormCreate(Sender: TObject);
pWinDir: PChar;
sWinDir: String[80];
Form1.Label3.Visible:=false;
MediaPlayer:= TMediaPlayer.Create(self);
MediaPlayer.ParentWindow:=Form1.Handle;
MediaPlayer.Visible:=False;
GetMem(pWinDir, 80);
GetWindowsDirectory(pWinDir, 80);
sWinDir:=pWinDir;
MediaPlayer.FileName:=sWinDir + ‘media’ + SOUND;
MediaPlayer.Open;
on EMCIDeviceError do;
procedure TForm1.Timer1Timer(Sender: TObject);
if (min = 0) and (sec = 0) then
MediaPlayer.Play;
on EMCIDeviceError do;
Timer1.Enabled:=False;
ShowMessage(‘Заданный интервал истек’);
Button1.Caption:=’Пуск’;
Label3.Visible:=False;
Label1.Visible:=True;
Edit1.Visible:=True;
Label2.Visible:=True;
Edit2.Visible:=True;
UpDown1.Visible:=True;
UpDown2.Visible:=True;
if (sec = 0) and (min > 0) then
procedure TForm1.Button1Click(Sender: TObject);
if Form1.Timer1.Enabled then
Timer1.Enabled:=False;
Button1.Caption:=’Пуск’;
Label3.Visible:=False;
Label1.Visible:=True;
Edit1.Visible:=True;
Label2.Visible:=True;
Edit2.Visible:=True;
UpDown1.Visible:=True;
UpDown2.Visible:=True;
min:=StrToInt(Edit1.Text);
Sec:=StrToInt(Edit2.Text);
if (sec = 0) and (min = 0) then
ShowMessage (‘Надо задать интервал!’);
Timer1.Enabled:=True;
Label1.Visible:=False;
Edit1.Visible:=False;
Label2.Visible:=False;
Edit2.Visible:=False;
UpDown1.Visible:=False;
UpDown2.Visible:=False;
Label3.Visible:=True;
Button1.Caption:=’Стоп’;
end .
Вывод
В ходе выполнения курсовой работы была разработана программа «Таймер», которая предназначена для уведомления пользователя об окончании указанного промежутка времени. Реализация программы удовлетворяет условию технического задания и имеет дружественный пользователю интерфейс.
Список использованных источников
1. Кучеренко, В. П. Тонкости программирования на Delphi [Текст]: Учебное пособие / В. П. Кучеренко. – М.: «Познавательная книга плюс», 2000. – 192 с.: ил. – 4100 экз. – ISBN 5-8321-0066-2 (в пер.).
2. Архангельский, А. Я. Приемы программирования в Delphi [Текст]: Учебное пособие / А.Я. Архангельский. – М.: ООО «Бином-Пресс», 2004. – 848 с.: ил.
3. Вирт Н. Алгоритмы + структуры = программы. [Текст]: М.: Мир, 1985.
4. Касьянов В.Н. Графы в программировании: обработка, визуализация и применение. / В.А. Евстигнеев – СПб.: БХВ-Петербург, 2003. – 1104 с.
Дата добавления: 2018-10-26 ; просмотров: 632 ; Мы поможем в написании вашей работы!
Поделиться с друзьями:
Источник: studopedia.net
Технические характеристики Постановка задачи
Работа с текстовой информацией при программировании в Windows одна из самых важных задач при разработке пользовательского интерфейса. Поэтому для реализации программы – «Текстовый редактор», необходимо в первую очередь знать основные приёмы работы с текстом в ОС Windows.
К тому же текст, как понятие в вычислительной технике, – это данные, а их потеря неприемлема. Таким образом, в алгоритме программы должна рассматриваться классическая структура программы под Windows: регистрация класса окна, создание главного окна, цикл обработки очереди сообщений, процедура главного окна.
Описание алгоритма работы программы
В пункте 2.1. была приведена классическая структура программы под Windows. Разберём эти разделы по порядку:
Регистрация класса окон. Осуществляется с помощью функции RegisterClassEx, единственным параметром которой является указатель на структуру WNDCLASSEX, содержащую информацию об окне.
Создание главного окна. На основе зарегистрированного класса с помощью функции CreateWindowsEx можно создать экземпляр окна. Как можно заметить, это весьма напоминает объектную модель программирования (ООП).
Цикл обработки очереди сообщений. Этот раздел является основным в работе программы под Windows. Его можно рассмотреть по порядку:
— Принять очередное сообщение из ряда сообщений данного приложения (GetMessage);
— Транслировать принятое сообщение в правильный порядок дополнительных сообщений (TranslateMessage);
— Передать оттранслированное сообщение, как порядок дополнительных сообщений, процедуре главного окна (DispatchMessage).
— Выход из цикла осуществляется посылкой окну сообщения WM_QUIT, которое функция GetMessage определит как конец обработки очереди сообщений.
Процедура главного окна. Данная процедура является основным приёмником управляющих сообщений, посылаемых от операционной системы окну.
Алгоритм функционирования программы
1. Инициализация программы;
2. Регистрация класса окна;
3. Создание и показ окна;
4. Цикл обработки сообщений;
5. Выход из программы.
Описание и обоснование выбора метода организации входных и выходных данных
Для программы, входными данными являются:
— данные, передаваемые функциями API;
— сообщения, передаваемые от ОС;
— текст, вводимый пользователем.
Выходными данными являются:
— результат обработки текста.
Листинг программы
Файл pad.asm
.model flat, stdcall ; 32 bit memory model
option casemap :none ; чувствительно к регистру
include pad.inc ; локально включаем этот файл
invoke GetModuleHandle, NULL
mov hInstance, eax
mov CommandLine, eax
WinMain proc hInst :DWORD,
; положим LOCALs в stack
LOCAL wc :WNDCLASSEX
LOCAL Wwd :DWORD
LOCAL Wht :DWORD
LOCAL Wtx :DWORD
LOCAL Wty :DWORD
invoke LoadIcon,hInst,500 ; иконка ID
mov wc.cbSize, sizeof WNDCLASSEX
mov wc.style, CS_HREDRAW or CS_VREDRAW
mov wc.lpfnWndProc, offset WndProc
mov wc.cbClsExtra, NULL
mov wc.cbWndExtra, NULL
m2m wc.hInstance, hInst
mov wc.hbrBackground, eax
mov wc.lpszMenuName, NULL
mov wc.lpszClassName, offset szClassName
m2m wc.hIcon, hIcon
mov wc.hCursor, eax
m2m wc.hIconSm, hIcon
invoke RegisterClassEx, ADDR wc
;Центр окна следующих размеров
Источник: studfile.net
Описание алгоритма и функционирования программы
В этом подразделе будет изложен подробный текстовый алгоритм разрабатываемой программы и его описание.
Описание алгоритма работы программы
В пункте 2.1. была приведена классическая структура программы под Windows. Разберём эти разделы по порядку:
Регистрация класса окон. Осуществляется с помощью функции RegisterClassEx, единственным параметром которой является указатель на структуру WNDCLASSEX, содержащую информацию об окне.
Создание главного окна. На основе зарегистрированного класса с помощью функции CreateWindowsEx можно создать экземпляр окна. Как можно заметить, это весьма напоминает объектную модель программирования (ООП).
Цикл обработки очереди сообщений. Этот раздел является основным в работе программы под Windows. Его можно рассмотреть по порядку:
- — Принять очередное сообщение из ряда сообщений данного приложения (GetMessage);
- — Транслировать принятое сообщение в правильный порядок дополнительных сообщений (TranslateMessage);
- — Передать оттранслированное сообщение, как порядок дополнительных сообщений, процедуре главного окна (DispatchMessage).
- — Выход из цикла осуществляется посылкой окну сообщения WM_QUIT, которое функция GetMessage определит как конец обработки очереди сообщений.
Процедура главного окна. Данная процедура является основным приёмником управляющих сообщений, посылаемых от операционной системы окну.
Алгоритм функционирования программы
- 1. Инициализация программы;
- 2. Регистрация класса окна;
- 3. Создание и показ окна;
- 4. Цикл обработки сообщений;
- 5. Выход из программы.
Описание и обоснование выбора метода организации входных и выходных данных
Все типы данных и их структуры организованы в соответствии со стандартами, принятыми в Microsoft API.
Для программы, входными данными являются:
- — данные, передаваемые функциями API;
- — сообщения, передаваемые от ОС;
- — текстовые файлы;
- — текст, вводимый пользователем.
Выходными данными являются:
- — главное окно;
- — окно редактирования;
- — результат обработки текста.
Источник: studwood.net
