- •Задание
- •Содержание
- •1. Теоритическая часть
- •1.1 Постановка задач
- •1.2 Выбор среды разработки
- •1.3 Рассмотрение аналоговых продуктов
- •2. Техническая часть
- •2.1 Функциональная спецификация
- •2.2 Технический проект
- •2.3 Отдельные алгоритмы и переменные
- •2.4 Листинг программы
- •2.5 Проектирование интерфейса
- •2.6 Проектирование справки
- •2 .7 Тестирование
- •3.1 Оценка програмного продукта
- •3.2 Оформление документации
- •Проектный, научно-исследовательский и конструкторский институт
- •Испытательный центр «красстрой»
- •Протокол №666
2.4 Листинг программы
TimePanel->Caption=TimeToStr(Time());
if(bIsTimerOn==true) //если будильник включен
{
iHours=StrToInt(FormatDateTime("h",Time()));
iMinutes=StrToInt(FormatDateTime("n",Time())); //текущее время
if((iHours==iAlarmHours) & (iMinutes>iAlarmMinutes))
{
if(MediaPlayer->Mode==mpPlaying)bIsTimerOn=false; //если плеер уже играет, то будильник можно выключить
}
}
}
//---------------------------------------------------------------------------
void __fastcall TForm1::AlarmBttnClick(TObject *Sender)
{
do
{
if(AlarmOpenDialog->Execute()) //если диалог открытия запущен...
{
MediaPlayer->FileName=AlarmOpenDialog->FileName; //...выбираем файл для воспроизведения медиаплейером
}
if(MediaPlayer->FileName=="") Application->MessageBox("Вы должны выбрать мелодию для оповещения!", "Будильник", MB_OK+ MB_ICONWARNING);
}
while(MediaPlayer->FileName=="");
iAlarmHours=StrToInt(FormatDateTime("h", TimePicker->Time));
iAlarmMinutes=StrToInt(FormatDateTime("n", TimePicker->Time));
MediaPlayer->Open();
bIsTimerOn=true; //таймер будильника включен
}
//---------------------------------------------------------------------------
void __fastcall TForm1::CancelAlarmBttnClick(TObject *Sender)
{
bIsTimerOn=false;
if(MediaPlayer->Mode==mpPlaying) MediaPlayer->Stop();
TimePicker->Time=StrToTime("0:00:00"); //сброс на ноль
}
//---------------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
ShellExecute (Form1->Handle, "open", "справка.hnd", NULL, NULL, SW_RESTORE);
}
//---------------------------------------------------------------------------
2.5 Проектирование интерфейса
С панели Standart выбираем GroopBox и помещаем его на форму
Задаем следующие значения свойств GroupBox:
Caption – Время оповещения:, Name – AlarmBox.
На GroopBox с той же панели помещаем кнопки Задать, Отменить, Справка
Добавил на GroopBox панель для выведения на нее текущего времени.
Для этого нам понадобится компонент Timer (вкладка System)
Добавляем компонент DateTimePicker, расположенного на вкладке Win32 палитры компонентов. Он будет работать в качестве таймера для будильника.
Также на форму поместим компонент MediaPlayer с вкладки System и OpenDialog с вкладки Dialogs.
Затем программируем каждый объект и получаем довольно не сложные часы со встроенным будильником
2.6 Проектирование справки
Справочную информацию я изготовил при помощи программы Help Cruiser.
создаем новую справку
добавляем, удаляем и переименуем разделы
После этого заполняем справку нужной нам информацией.
И оформляем текст при помощипанели форматирования
Затем сохраняем нашу справку
и помещаем ее в программу
2 .7 Тестирование
Для начала устанавливаем время в таймере. Затем нажимаем кнопку Задать
Выбираем мелодию и ждем звонка.
Справку можно посмотреть нажав
СЕРТИФИКАЦИЯ ПРОГРАМНОГО ПРОДУКТА