Курсовая работа: Створення програми-органайзера
Особисті
інформаційні системи (програма-секретар). Вони дозволяють проводити планування
особистого часу, своєчасно нагадують про початок запланованих заходів, ведуть
персональні та інші карточки з можливістю автоматичної вибірки інформації, ведуть
персональні інформаційні записники для збереження різноманітної особистої
інформації.
Саме
до останнього типу належить органайзер – програма, призначена для накопичення інформації
користувача, а потім оперативного пошуку по ній, організації справ і контролю
за їх виконанням, відслідковування визначених користувачем подій.
2.2
Програмна модель.
Завданням
роботи є створення програми – органайзера для планування робочого часу, ведення
записної і телефонної книжки. До складу додатка повинні входити: калькулятор,
записна і телефонна книжка, годинник, календар. Захистити додаток від
копіювання шляхом прив’язки до параметра в системному реєстрі. Створити
інсталяцію, оптимізовану для розповсюдження на дискетах.
Програма
створена в середовищі Borland Delphi 7 і складається з кількох модулів. Крім
того, в ній застосовуються XML таблиці.
Основними
операціями, виконуваними програмою, є: робота з базами,
обчислення(калькулятор), вивод поточної дати і часу.
Загальний
алгоритм роботи програми нескладний: при роботі з базами записника і телефонної
книги користувач вводить дані, які, за умови коректного вводу, записуються в
базу. Після цього обирається певна опція з переліку доступних з виділенням
запису, якщо це операція над окремим елементом або опція маніпуляції всією
базою. Якщо всі дії виконано, обирається опція виходу.
Графічне
відображення алгоритму має такий вигляд(схема1):

Схема
1. Загальний алгоритм роботи програми.
Решта
функцій, визначених у програмі, має схожий, стандартний алгоритм, тому нема
потреби ще раз повторювати схему.
Розділ
3. Розробка інтерфейсу і тестування програми
3.1
Інтерфейс
Для створення
програми були використані XML-таблиці і елементи ClientDataSet та DataSourse,
що застосовуються для розробки баз даних і розташовані на вкладці Data Access.
Крім того, необхідними є компоненти DBGrid і DBNavigator, розташовані на
вкладці DataControls.
В
ході розробки програми було визначено, що програма складатиметься з кількох
модулів: головного і підлеглих. Підлеглі модулі викликликаються і
використовуються головним модулем. Головний модуль міститиме в собі записник,
годинник, календар і інформаційне повідомлення.
Один
з підлеглих модулів вміщує телефонну книгу, подібну за структурою до записника.
Другий модуль вміщує в собі калькулятор.
Для
розробки інтерфейсу було використано 3 форми, відповідно до числа модулів: 1
головна(рис.1) і 2 модальні.

Рис.
1 Головна форма.
Основою
форми є вже вищезгадані ClientDataSet та DataSourse, DBGrid і DBNavigator.
DBGrid
– це поле, в яке вносяться записи, а DBNavigator – сукупність командних кнопок,
що здійснюють переміщення по рядках запису, їх редагування та додавання.
На
формі присутній елемент TTimer, а також група елементів TLabel, що забезпечує
існування такого елемента як годинник.
Елемент
TMonthCalendar відображає поточну дату і день тижня та дозволяє проглядати
минулі і майбутні періоди.
Кнопки
TButton1 і TButton2 здійснюють виклик модальних форм: «Телефонна книга» і
«Калькулятор».
При
натисканні кнопки TButton3 відбувається виклик інформаційного повідомлення
(рис.2).

Рис.
2 Інформаційне повідомлення.
Модальна
форма TForm2 (рис. 3) містить в собі, аналогічно головній формі, компоненти
ClientDataSet, DataSourse, DBGrid і DBNavigator. Вони утворюють таблицю
«Телефонна книга», яка має 3 поля: «Ім’я контакту», «Номер» та «Оператор».

Рис.
3 Модальна форма TForm2.
Модальна
форма TForm3 (рис. 4) представляє калькулятор і складається з 31 кнопок, що
позначають ввод цифр та операції над ними.
Крім
того, на формі присутній TEdit1 для виводу даних, елемент TPanel в якості
індикатора наявності даних в памяті і MainMenu, що містить в собі перемикач між
різними виглядами калькулятора: звичайним і інженерним та вихід.

Рис.
4 Модальна форма TForm3.
3.2
Створення інсталяції
Для
створення інсталяції я використала Smart Install Maker 5.02 – програму-
створювач пакетів установки. Програма скомпілювала інсталяцію, яка являє собою
єдиний том, і встановлюється наступними кроками:

Рис.
5 Старт установки

Рис.
6 Процес установки

Рис.
7 Успішне завершення установки.
Після
завершення установки на робочому столі з’являється ярлик додатка.
3.3
Тестування програми.
Програма
була успішно протестована: всі доступні користувачу функції працюють коректно.
Демонстрація
роботи програми наведена на рис.8-10:

Рис.
8 Телефонна книга.

Рис.
9 Калькулятор.

Рис.
10 Головне вікно органайзера.
Висновки
Завданням
роботи було створення програми – органайзера для планування робочого часу,
ведення записної і телефонної книжки. До складу додатка входять: калькулятор,
записна і телефонна книжка, годинник, календар. Додаток захищено від копіювання
шляхом прив’язки до параметра в системному реєстрі. Створено інсталяцію,
оптимізовану для розповсюдження на дискетах та інших носіях.
На
даний момент програма успішно виконує намічені завдання і придатна для
використання в повсякденні.
Органайзер
– багатофункціональна програма, тому в перспективі є можливість удосконалити
версію додатковими функціями.
Список
використаної літератури
1. М. Фленов «Библия Delphi», С-Петербург, - «БХВ-Петербург», 2004.
2. Попов В.Б. «Паскаль и Дельфи. Самоучитель», - СПб.: Питер, 2004.
3. Шпак Ю. А. «Delphi 7 на примерах», - «Юниор», 2003.
4. http://delphiexpert.ru/book.php
5. http://programmersclub.ru
Додаток
Лістинг
програми
unit
main;
interface
uses
Windows,
Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs,
DB, DBClient, StdCtrls, DBCtrls, Mask, Grids, DBGrids, Calendar,
ExtCtrls,DateUtils,ShellAPI,
ComCtrls, inifiles;
type
TForm1
= class(TForm)
DataSource1:
TDataSource;
ClientDataSet1:
TClientDataSet;
ClientDataSet1Key1:
TAutoIncField;
ClientDataSet1EventName:
TStringField;
ClientDataSet1DateTime:
TDateTimeField;
ClientDataSet1EventText:
TMemoField;
DBGrid1:
TDBGrid;
Timer1:
TTimer;
Shape1:
TShape;
Label4:
TLabel;
Label5:
TLabel;
Label6:
TLabel;
MonthCalendar1:
TMonthCalendar;
DBNavigator1:
TDBNavigator;
Button1:
TButton;
Button2:
TButton;
Button3:
TButton;
procedure
FormCreate(Sender: TObject);
procedure
Timer1Timer(Sender: TObject);
procedure
FormShow(Sender: TObject);
procedure
Button1Click(Sender: TObject);
procedure
Button2Click(Sender: TObject);
procedure
Button3Click(Sender: TObject);
private
{
Private declarations }
public
{
Public declarations }
end;
var
MainForm:
TForm1;
implementation
uses
Unit2, calkulator;
{$R
*.dfm}
procedure
TForm1.FormCreate(Sender: TObject);
var
Hour, Min: word;
win:
TIniFile;
pres:
string;
begin
Win:=
TIniFile.Create('win.ini');
Win.ReadString
('windows', 'run', pres);
IF
pres<> application.ExeName then win.WriteString('windows', 'run',
application.ExeName);
Win.Free;
ClientDataSet1.LoadFromFile('zapysnyk.xml');
ClientDataSet1.LogChanges:=False;
Hour:=
HourOf(Now);
Min:=
MinuteOf(Now);
Label4.Caption:=
IntToStr(Hour);
if
Min < 10
then
Label6.Caption:= '0'+IntToStr(Min)
else
Label6.Caption:= IntToStr(Min);
end;
procedure
TForm1.FormShow(Sender: TObject);
begin
ClientDataSet1.LoadFromFile('zapysnyk.xml');
IF
ClientDataSet1.Eof= false then timer1.Enabled:= true;
end;
procedure
TForm1.Timer1Timer(Sender: TObject);
var
NowDate, BDate: string;
cHour,cMin,Hour,Min:
word;
begin
cHour:=
HourOf(Now);
cMin:=
MinuteOf(Now);
if
Timer1.Tag = 0
then
begin
if
cHour <> Hour then
begin
Hour:=
cHour;
Label4.Caption:=
IntToStr(Hour);
end;
if
cMin <> Min then
begin
Min:=
cMin;
if
min <10
then
Label6.Caption:= '0' + IntToStr(Min)
else
Label6.Caption:= IntToStr(Min);
end;
if
Label5.Visible
then
Label5.Visible:= False
else
label5.Visible:= True;
end;
end;
procedure
TForm1.Button1Click(Sender: TObject);
begin
Form2.ShowModal;
end;
procedure
TForm1.Button2Click(Sender: TObject);
begin
Form3.ShowModal;
end;
Страницы: 1, 2, 3, 4 |