Разработка программы осуществляющей выдачу сообщения в заданное время

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

Пензенский государственный университет





Кафедра «Информационная безопасность систем и технологий»





ПОЯСНИТЕЛЬНАЯ ЗАПИСКА

к курсовому проекту по теме:



«Разработка программы, осуществляющей выдачу сообщения в заданное время»



ПГУ 3.090106.001 ПЗ





Дисциплина

Операционные системы

Группа 03УК1

Разработал студент

Вдовин А.О.

Проект принят с оценкой

Руководитель проекта

Фролов В. Н.











Пенза,2006


Реферат



Пояснительная записка содержит 19 с., 2 рис., 1 источник, 2 прил.

АЛГОРИТМ, ПРОГРАММА, ИНТЕРФЕЙС, ДИАЛОГОВОЕ ОКНО, МЕТОД, ФУНКЦИЯ, КНОПКА, ТАЙМЕР СООБЩЕНИЕ

Объектом исследования являются программы, функционирующие в среде Windows и поддерживающие диалоговые окна и другие возможности.

Целью работы – освоение инструментов для программирования в среде Windows 98, изучение принципов работы данной операционной системы и разработка программы, осуществляющей выдачу сообщения в заданное время.

В процессе работы в качестве продукта для программирования в среде Windows был выбран Builder C++ 6.0. Изучена работа механизма сообщений для работы с системным таймером. Разработан алгоритм программы, наиболее оптимально отражающий основную идею проекта.

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

Основные характеристики: программа имеет интерфейс диалогового окна; имеет минимальное количество управляющих элементов, что позволяет пользователю работать с ней на интуитивном уровне; позволяет задавать время до выключения системы вводом времени в секундах в поле редактирования; в активном состоянии не требует процессорного времени, что обеспечивается механизмом сообщений; гарантируется корректная работа только в операционной системе Windows 98.


Содержание



Введение

1. Общие сведения о IBM PC

2. Операционная система Windows 98

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

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

Заключение

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

Приложение А

Приложение Б




Введение



Программа, осуществляющая выдачу сообщения в заданное время, с первого взгляда может показаться не столь серьезной, но она не претендует на звание полноценного программного продукта, это своеобразная утилита, облегчающая работу отдельно взятого пользователя. Её достоинства: простота и главное функционирование в среде Windows – могут заинтересовать многих.

Выбор в качестве среды программирования Builder C++ 6.0 не случаен. За годы своего развития Builder C++ превратился в комплект невероятно мощных инструментов для Windows-программирования. Он позволяет хранить большую часть программного кода внутри самостоятельных объектов, а это сокращает объем больших программ (изначально С++ был разработан именно для того, чтобы облегчить работу с большими программами). Программировать для Windows стало значительно проще. Кроме того, программы С++ стало значительно проще отлаживать. Вместо одной огромной монолитной программы мы имеем дело с набором аккуратных и удобных в обращении модулей.




1. Общие сведения о IBM PC



Когда произносят слова "персональный компьютер", обычно подразумевается не что иное, как компьютер типа IBM PC. Именно американская компания IBM в августе 1981 года объявила о выпуске самого первого компьютера, получившего название Personal Computer, или просто PC.

Впрочем, еще до создания IBM PC множеством разных фирм выпускались компьютеры, которые было бы вполне уместно называть персональными. Даже весьма далекая от электроники фирма Coca-Cola пыталась выпускать собственную модель персонального компьютера!

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

Когда IBM вышла на рынок настольных компьютеров, казавшийся сомнительным и рискованным, разнобой среди персональных компьютеров довольно быстро пошел на убыль. Маленький персональный компьютер IBM PC на процессоре 8088 фирмы Intel оказался тем долгожданным стандартом, который с радостью поддержали многочисленные программисты и фирмы-изготовители прикладного программного обеспечения: наконец-то появился компьютер солидной фирмы, для которого можно было разрабатывать и успешно продавать большими тиражами достаточно сложные, совершенные и универсальные программы. По сути дела, компьютер IBM PC создал не только стабильный и обширный рынок персональных компьютеров, но и огромный рынок прикладного программного обеспечения, на котором за последние полтора десятилетия разбогатело множество венчурных фирм.

Вот яркий тому пример. Компьютер IBM PC почти с самого начала работал под управлением дисковой операционной системы DOS, которую разработала для IBM маленькая и никому тогда не известная фирма Microsoft. Сегодня Microsoft - бесспорный флагман индустрии программного обеспечения, одна из богатейших фирм мира, выпускающая не только операционные средства MS - DOS и Windows для управления компьютерами, но и различные прикладные пакеты. А основатель и руководитель Microsoft Билл Гейтс, несмотря на молодость один из самых богатых людей.

Разумеется, персоналка IBM PC оказалась только первым шагом в верном направлении. Затем фирма IBM выпустила множество моделей персональных компьютеров XT, AT, PC/2 и PC/1 на различных процессорах Intel 80286, 80386, 80486. Все эти компьютеры предназначены для работы под управлением операционной системы DOS или в графической среде Windows.

Множество других фирм немедленно принялись подражать IBM и развивать ее успех, выпуская свои собственные модели персоналок, полностью совместимые с IBM PC, либо выпуская различное дополнительное оборудование для IBM PC. Ведь одной из замечательных особенностей персоналки IBM PC была так называемая "открытая архитектура", позволявшая даже неспециалистам легко и просто изменять устройство и технические возможности своего компьютера. Для этого часто достаточно было воспользоваться разъемами последовательного или параллельного портов связи, добавить на пустующих панельках несколько микросхем памяти, вставить в плату сопроцессор, переставить в другое положение DIP - переключатели, поменять с помощью отвертки блоки, воткнуть или вынуть плату расширения из слота системной шины. В результате буквально за несколько минут всякий мог, не располагая сколько - ни будь глубокими знаниями и сложным инструментом, построить из готовых компонентов совершенно новую персональную компьютерную систему с необходимыми техническими параметрами.




2. Операционная система Windows 98



В 1998 году в продажу поступила новая операционная система Windows 98. Еще до выхода было продано около 400 тыс. экземпляров beta-версий этой системы. Вся компьютерная общественность буквально помешалась на этой системе - выход Windows 98 стал главнейшим событием 1998 года. Начался шквал: все журналы писали о Windows 98, стали выходить книги, проводилась широкая рекламная компания, все производители программного обеспечения стали переделывать свои продукты для этой новой операционной системы, производители компьютеров и комплектующих старались получить логотип Designed for Windows 98. Причина же, по которой Windows 98 оказалась в центре всеобщего внимания, проста: это самое важное обновление системы Windows со времени появления в 1990г. Windows 3.0.

Пользователи теперь получили теперь преимущества объектно-ориентированного интерфейса, включая настоящий «рабочий стол» и пиктограммы, копирование и удаление техникой перетаскивания (drag-and-drop), вложенные папки и легко доступный диалог для задания свойств. Файловая система распознает длинные имена файлов и хорошо соответствует метафоре «рабочего стола».

Windows 98 внесла значительные улучшения в архитектуру Windows, в том числе защищенные адресные пространства для ее собственных 32-разрядных прикладных программ, вытесняющую многозадачность, разделение прикладных программ на потоки и более широкое использование виртуальных драйверов устройств. Модель защиты памяти реализована с серьезными компромиссами, целью которых было достигнуть совместимости с существующими 16-разрядными прикладными программами и драйверами устройств. Но на практике устойчивость системы оказывается лучше, чем у Windows 3.1х. Производительность же Windows 98 на удивление высока.

На сегодняшний момент операционная система Windows фирмы Microsoft во всех ее проявлениях, бесспорно, считается самой распространенной операционной системой на ПК: в мире более 150 млн. IBM PC-совместимых компьютеров, и система Windows установлена на 100 млн. из них. Очевидно, что ознакомление с ПК необходимо начинать с ознакомления с Windows, ведь без нее работа на ПК немыслима для большинства пользователей. Знание системы Windows - необходимый кирпичик в стене познания ПК.




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



Алгоритм работы программы (приложение А) начинается с ввода пользователем времени выдачи текстового и звукового сообщения – блок один. Далее программа осуществляет выборку значения системного времени – блок два. Для последующего оповещения пользователя о наступлении заданного времени необходимо реализовать подучу звука – блок 3.

Программа находиться в режиме ожидания до момента нажатия клавиши «Готово».

При нажатии клавиши программа обновляет переменную хранения значения системного времени и осуществляет сравнение с временем, заданным пользователем – блок 5. В таком ожидании программа находиться до момента наступления заданного времени, либо выключения программы. Для того, чтобы значение системного времени и заданного пользователем однозначно совпало, необходимо осуществлять выборку системного времени с точностью до секунды.

При совпадении значения системного времени и заданного пользователем программа выводит на экран сообщение, сопровождающееся звуковым оповещением – блоки 6, 8, 10.




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



Программа должна реализовывать вывод текстового и звукового сообщения при наступлении заданного пользователем времени. Для успешной реализации программы необходимо создание удобного пользовательского интерфейса. В данной программе используется графический интерфейс (см. рисунок 1).





Рисунок 1 – «Внешний вид окна программы»



Интерфейс и вся программа в целом в курсовом проекте создаётся с помощью языка программирования высокого уровня Builder C++. Данный язык программирования наиболее удобен для реализации данной программы. Осуществляется это при помощи классов следующим образом.

С помощью строк:

uses

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

StdCtrls, ExtCtrls, Mask, MPlayer;

осуществляется выделение память для использующихся переменных.

Строка Label1: TLabel; осуществляет вывод надписи в окне программы.

MaskEdit1: TMaskEdit; - поле для задания пользователем времени.

Button1: TButton; - добавление кнопки «Готово» о окно программы.

Строки Timer1: TTimer; и Label2: TLabel; реализуют вывод на экран текущего системного времени с интервалов в одну секунду, что позволяет реализовать таймер.

Для последующего звукового оповещения пользователя необходимо реализовать подачу звука. Это реализуется с помощью модуля MediaPlayer1: TMediaPlayer;

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

Строка procedure TForm1.Button1Click(Sender: TObject); реализует запуск программы при нажатии кнопки «Готово» окна программы. Иначе программа находиться в режиме ожидания.

После нажатия клавиши окно программы минимизируется - Application.Minimize;

За тем программа самостоятельно запускается один раз в секунду по системному таймеру - procedure TForm1.Timer1Timer(Sender: TObject); обновляет свои переменную для хранения текущего времени и осуществляет вывод ее в окно программы - Label2.Caption:=TimeToStr(Time);

Проверка превышения системного времени над заданным пользователем реализуется с помощью строки: 

if Time>StrToTime(MaskEdit1.Text)then.

Если заданное условие выполняется, происходит восстановление окна программы из минимизированного состояния с помощью строки: Application.Restore;

Далее программа подключает аудио-плеер и проигрывает звуковое сообщение:

MediaPlayer1.FileName:='error.wav';

MediaPlayer1.DeviceType:=dtAutoSelect;

MediaPlayer1.Open;

MediaPlayer1.Play;


Заключение



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


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



1. Керниган Б., Ритчи Д. Язык программирования Си. – СПб.: «Невский Диалект», 2001. – 352с.: ил.

2. Шилд Г. «Программирование на Borland C/C++». -Москва.: ООО «Попурри», 1999 г




Приложение А



Блок-схема алгоритма работы программы



начало

Ввод time

Выборка системного времени и вывод его на экран

Нажата кнопка?

Time = systime

Задержка одна секунда

Открытие аудио-файла

Проигрывание аудио-файла

Вывод сообщения

конец

+

+

-

-


Приложение Б



Листинг программы

unit Unit1;

interface

uses

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

StdCtrls, ExtCtrls, Mask, MPlayer;

type

TForm1 = class(TForm)

//Надпись

Label1: TLabel;

//Строка ввода верени

MaskEdit1: TMaskEdit;

//Кнопка

Button1: TButton;

//Таймер

Timer1: TTimer;

//Надпись (выводит текущее время)

Label2: TLabel;

//Модуль отвечающий за подачу звука

MediaPlayer1: TMediaPlayer;

procedure Button1Click(Sender: TObject);

procedure Timer1Timer(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

flag: byte;

implementation

{$R *.DFM}

//Запускается при нажатии кнопки

procedure TForm1.Button1Click(Sender: TObject);

begin

//Программа минимизируется

Application.Minimize;

//Флаг запуска = 1

flag:=1;

end;

//Запускается раз в секунду по таймеру

procedure TForm1.Timer1Timer(Sender: TObject);

begin

//Вывод текущего времени

Label2.Caption:=TimeToStr(Time);

//Если будильник запущен

if flag=1 then

//Если текущее время превысило время сигнализирования

// функция StrToTime переводит значение текстовой строки MaskEdit1.Text

// в значение время

if Time>StrToTime(MaskEdit1.Text)then

begin

//Восстановление программы

Application.Restore;

//Подключение к медиа плееру файла error.wav

MediaPlayer1.FileName:='error.wav';

//Медиа плеер автоматически определяет тип устройства

//(по умолчанию аудио драйвер)

MediaPlayer1.DeviceType:=dtAutoSelect;

//Медиа плеер открывает файл

MediaPlayer1.Open;

// И проигрывает его

MediaPlayer1.Play;

end;

end;

//Все

end.