Ежедневник

Автор: Пользователь скрыл имя, 12 Декабря 2010 в 02:16, курсовая работа

Описание работы

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

Содержание

Введение………………………………………………………………………………..
1 Техническое задание………………………………………………………………...

1.Название и назначение разрабатываемой программы……………………….
2.Основание для разработки……………………………………………………..
3.Технические требования к программе………………………………………...
4.Функциональные требования к программе....………………………………...
5.Требования по надежности…………………………………………………….
2.Анализ технического задания…...…………………………………………………
3.Разработка и описание программы………………………………………………..
4.Руководство пользователя…………………………………………………………
5.Приложение ……………………………………………………………………
1.Модуль Unit1……………………………………………………………………
2.Модуль Unit2……………………………………………………………………
3.Модуль Unit3……………………………………………………………………
4.Модуль Unit4……………………………………………………………………
5.Модуль MyUnit…………………………………………………………………
Заключение……………………………………………………………………………..

Глоссарий ……………………………………………………………………………...

Список использованной литературы………………………………………………..

Работа содержит 1 файл

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

— 545.00 Кб (Скачать)

     Рассмотрим  возможности программы. После запуска  программы в разделе «Сегодня»  мы видим сегодняшнюю дату (рисунок 4.1). C помощью этого раздела можно просматривать запланированные задачи на другие даты, если нажать на него, то появиться мини-календарь (рисунок 4.2), где собственно и производиться выбор необходимой даты. Выбираемый год должен входить в интервал 1980 – 2099 гг.

     

     Рисунок 4.1 – Главное окно программы.

     После выбора даты, в разделе «Запланировано» появятся все ваши запланированные задачи. Для примера выберем 10 апреля и посмотрим, что у нас там запланировано (рисунок 4.2). Мы видим, что на 10 апреля у нас назначено 3 важных задачи. Если теперь щелкнуть по одной из них мышью, то мы увидим что время и сообщение автоматически переносятся в раздел «Будильник». Будильник нам поможет не забыть о наших задачах, что бы его включить необходимо нажать на клавишу «Вкл.», после чего она примет утопленное состояние и надпись на ней измениться на «Выкл.» (рисунок 4.3).

     

     Рисунок 4.2 – Реализация перехода по дате

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

     

     Рисунок 4.3 – Реализация автоматического переноса данных в раздел «Будильник»

     Допустим, что у нас истекло время, при  этом зазвучит звуковой сигнал, в виде сирены и на экране появиться сообщение  с указанием на время и сообщение. Это окно приведено на рисунке 4.4.

     Кроме запланированных задач на 10 апреля программа нам сообщает сколько у вас осталось свободного времени в разделе «Количество свободного времени» (рисунок 4.3). В этом разделе две записи первая указывает количество свободного времени на выбранный день, а вторая – на следующую неделю. Для того что бы не возникло путаницы в количестве свободного времени записи выделены разным цветом. Количество свободного времени на следующую неделю вычисляется только при запуске программы, и не меняется при смене даты в разделе «Сегодня»

     

     Рисунок 4.4 – Диалоговое окно сообщающее, что время истекло

     Для редактирования дат в программе  предусмотрена дополнительная форма, в этой форме вы можете добавлять, удалять и редактировать ваши даты. Рассмотрим

ее (рисунок 4.5).

 

Рисунок 4.5 – Окно «Редактор дня» 

      Слева в окне «Редактор дня» находится  таблица с помощью, которой вы можете ввести данные на определенное время. Справа находятся: кнопки управления датами, список дат, на которые у вас запланированы задачи и раздел «Дата», где указывается интересующая вас дата. Для того что бы быстро перейти к интересуемой вами дате достаточно выбрать дату в списке дат, при этом дата автоматически переноситься в раздел «Дата»

     Для того чтобы добавить дату в список дат необходимо:

  1. Выбрать необходимую вам дату в верхней части окна, в разделе «Дата»
  2. Перейти к таблице находящейся слева от раздела «Дата», и внести в соответствии с указанным временем необходимые задачи
  3. Нажать кнопку «Добавить запись»

      

     Если  у вас по какой-то причине изменился  план дня его можно легко изменить, для этого вам потребуется выполнить следующие действия:

  1. Выбрать необходимую вам дату в разделе «Дата» или в «Списке дат»
  2. Нажать на кнопку  «Редактировать запись», при этом таблица заполниться запланированными задачами
  3. Отредактировать в таблице ваши изменения
  4. Нажать на кнопку «Сохранить запись»
 

      Для удаления записи вам необходимо также  выполнит несколько действий:

  1. Выбрать необходимую вам дату в разделе «Дата» или в «Списке дат»
  2. Нажать на кнопку «Удалить запись», после этого появиться диалоговое окно с подтверждением об удалении, рисунок 4.6
  3. В появившемся диалоговом окне подтвердить ваше действие
 

     Для удаления всех записей из списка дат  необходимо нажать на кнопку <Удалить все записи> 

     

     Рисунок 4.6 – Диалоговое окно подтверждающие удаление даты 

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

     

     Рисунок 4.7 – Телефонный справочник

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

           Для добавлении записи необходимо выбрать раздел меню «Добавить контакт», при этом в таблице появляется свободная строка ввода данных. После того как все данные будут введены их необходимо сохранить, для этого в контекстовом меню выбираем пункт «Сохранить изменения».

     Для того чтобы удалить ненужный контакт  выбираем пункт контекстового меню «Удалить контакт». После чего на экране появиться диалоговое окно «Список контактов» (рис. 4.7). В нем вам необходимо выбрать фамилию удаляемого контакта и нажать на кнопку «Ok». После этого таблица телефонного справочника сократиться на одну запись. Данные в этом случае не нужно сохранять,  через пункт контекстового меню «Сохранить изменения» 

     

 

     Рисунок 4.7 – Диалоговое окно «Список контактов». 

     Дополнительной  возможностью программы является окно «Календарь», здесь вы можете уточнить, без особых усилий, интересующую вас  дату. Это окно показано на рисунке 4.8.

Рисунок 4.8 – Диалоговое окно «Календарь» 

     Для удобства в использовании программой, в ней предусмотрен механизм сворачивания программы в системный трейе (рисунок 4.9), при этом программа не мешает работе пользователя и может быть вызвана в любой момент времени. При нажатии правой кнопки мыши на значке появляется контекстовое меню из 4 пунктов: «Восстановить», «Добавить/Редактировать дату», «Включить/Выключить будильник», «Выход».  

     

     Рисунок 4.9 – Значок программы в системном  трейе 

     При нажатии «Восстановить» восстанавливается  главное окно программы. При нажатии  «Добавить/Редактировать дату» на экране появляется окно «Редактор дат», которое было описано выше. При нажатии «Включить/Выключить будильник» происходит включение либо выключение будильника. При выборе пункта «Выход» программы закрывается. 
 
 

 

     

  1.    Приложение
 

    5.1   Модуль класса Unit1 

unit Unit1; 

interface 

uses

      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls, ComCtrls, ExtCtrls, ToolWin, Menus, MyUnit, Mask,  ImgList, Grids, Buttons, ShellApi; 

type

     TForm1 = class(TForm)

             MainMenu1: TMainMenu;

             MenuEg: TMenuItem;

             MenuListDay: TMenuItem;

             MenuEditDay: TMenuItem;

             ToolBar1: TToolBar;

             DayButton: TToolButton;

             EditDayButton: TToolButton;

             ToolButton3: TToolButton;

             ToolButton5: TToolButton;

             ToolButton6: TToolButton;

             Panel1: TPanel;

             Label1: TLabel;

             DateTimePicker1: TDateTimePicker;

             GroupBox1: TGroupBox;

             Label2: TLabel;

             GroupBox2: TGroupBox;

             ListBox1: TListBox;

             ImageList1: TImageList;

             PhoneDbButton: TToolButton;

             GroupBox3: TGroupBox;

             Label3: TLabel;

             MaskEdit1: TMaskEdit;

             Label4: TLabel;

             Edit1: TEdit;

             Panel2: TPanel;

             StringGrid1: TStringGrid;

             PopupMenu1: TPopupMenu;

             AddPhone: TMenuItem;

             SaveDB: TMenuItem;

             DelRec: TMenuItem;

             MenuCalend: TMenuItem;

             Tire: TMenuItem;

             MenuExit: TMenuItem;

             MenuBook: TMenuItem;

             PhoneBook: TMenuItem;

             Timer1: TTimer;

             AlarmButton: TSpeedButton;

             PopupMenu2: TPopupMenu;

             PopEG: TMenuItem;

             PopAddDate: TMenuItem;

             PopOnAlarm: TMenuItem;

             N1: TMenuItem;

             PopExit: TMenuItem;

             Label5: TLabel;

             Help: TMenuItem;

             procedure MenuEditDayClick(Sender: TObject);

             procedure EditDayButtonClick(Sender: TObject);

             procedure FormCreate(Sender: TObject);

             procedure FormClose(Sender: TObject; var Action: TCloseAction);

             procedure DateTimePicker1Change(Sender: TObject);

             procedure PhoneDbButtonClick(Sender: TObject);

             procedure DayButtonClick(Sender: TObject);

             procedure AddPhoneClick(Sender: TObject);

             procedure SaveDBClick(Sender: TObject);

             procedure DelRecClick(Sender: TObject);

             procedure MenuListDayClick(Sender: TObject);

             procedure MenuCalendClick(Sender: TObject);

             procedure ToolButton3Click(Sender: TObject);

             procedure MenuExitClick(Sender: TObject);

             procedure ToolButton6Click(Sender: TObject);

             procedure PhoneBookClick(Sender: TObject);

             procedure AlarmButtonClick(Sender: TObject);

             procedure Timer1Timer(Sender: TObject);

             procedure ListBox1Click(Sender: TObject);

             procedure PopEGClick(Sender: TObject);

             procedure PopAddDateClick(Sender: TObject);

             procedure PopOnAlarmClick(Sender: TObject);

             procedure PopExitClick(Sender: TObject);

             procedure HelpClick(Sender: TObject);

           private

             procedure ControlWindow(var MSG: TMessage); // ОТЛАВЛИМАЕМ МИНИМИЗАЦИЮ ПРИЛОЖЕНИЯ

             message WM_SYSCOMMAND;

             procedure IconMouse(var Msg: Tmessage); // РЕАКЦИЯ НАЖАТИЙ КНОПОК НА ЗНАЧКЕ В ТРЕЕ

             message WM_USER + 1;

           public

             procedure PlanDay(n: integer);

             procedure PlanNextWeek(DT: TDate);

             procedure GetAlarm;           // СЧИТЫВАЕМ ВРЕМЯ И СООБЩЕНИЕ 

             procedure Ic(n: integer; Icon: TIcon);

             procedure OnMinimizeProc(sender: TObject);

      end; 

var

     Form1: TForm1; 

implementation 

uses Unit2, Unit3, Unit4; 

{$R *.dfm} 
 

//********************************************************

Информация о работе Ежедневник