Автор: Пользователь скрыл имя, 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…………………………………………………………………
Заключение……………………………………………………………………………..
Глоссарий ……………………………………………………………………………...
Список использованной литературы………………………………………………..
Рассмотрим возможности программы. После запуска программы в разделе «Сегодня» мы видим сегодняшнюю дату (рисунок 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 – Окно «Редактор дня»
Слева в окне «Редактор дня» находится таблица с помощью, которой вы можете ввести данные на определенное время. Справа находятся: кнопки управления датами, список дат, на которые у вас запланированы задачи и раздел «Дата», где указывается интересующая вас дата. Для того что бы быстро перейти к интересуемой вами дате достаточно выбрать дату в списке дат, при этом дата автоматически переноситься в раздел «Дата»
Для того чтобы добавить дату в список дат необходимо:
Если у вас по какой-то причине изменился план дня его можно легко изменить, для этого вам потребуется выполнить следующие действия:
Для удаления записи вам необходимо также выполнит несколько действий:
Для
удаления всех записей из списка дат
необходимо нажать на кнопку <Удалить
все записи>
Рисунок
4.6 – Диалоговое окно подтверждающие
удаление даты
Для
хранения телефонных номеров в программе
предусмотрен телефонный справочник (рисунок
4.7), куда вы можете занести наиболее важные
вам контакты.
Рисунок 4.7 – Телефонный справочник
Для работы с телефонным справочником предусмотрено контекстовое меню, которое вызывается щелчком правой кнопкой мышки.
Для добавлении записи необходимо выбрать раздел меню «Добавить контакт», при этом в таблице появляется свободная строка ввода данных. После того как все данные будут введены их необходимо сохранить, для этого в контекстовом меню выбираем пункт «Сохранить изменения».
Для
того чтобы удалить ненужный контакт
выбираем пункт контекстового меню
«Удалить контакт». После чего на экране
появиться диалоговое окно «Список контактов»
(рис. 4.7). В нем вам необходимо выбрать
фамилию удаляемого контакта и нажать
на кнопку «Ok». После этого таблица телефонного
справочника сократиться на одну запись.
Данные в этом случае не нужно сохранять,
через пункт контекстового меню «Сохранить
изменения»
Рисунок
4.7 – Диалоговое окно «Список контактов».
Дополнительной возможностью программы является окно «Календарь», здесь вы можете уточнить, без особых усилий, интересующую вас дату. Это окно показано на рисунке 4.8.
Рисунок
4.8 – Диалоговое окно «Календарь»
Для
удобства в использовании программой,
в ней предусмотрен механизм сворачивания
программы в системный трейе (рисунок
4.9), при этом программа не мешает работе
пользователя и может быть вызвана в любой
момент времени. При нажатии правой кнопки
мыши на значке появляется контекстовое
меню из 4 пунктов: «Восстановить», «Добавить/Редактировать
дату», «Включить/Выключить будильник»,
«Выход».
Рисунок
4.9 – Значок программы в системном
трейе
При
нажатии «Восстановить» восстанавливается
главное окно программы. При нажатии
«Добавить/Редактировать дату» на экране
появляется окно «Редактор дат», которое
было описано выше. При нажатии «Включить/Выключить
будильник» происходит включение либо
выключение будильника. При выборе пункта
«Выход» программы закрывается.
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}
//****************************