на тему рефераты Информационно-образоательный портал
Рефераты, курсовые, дипломы, научные работы,
на тему рефераты
на тему рефераты
МЕНЮ|
на тему рефераты
поиск
Разработка электронного органайзера средствами C++ Builder 6
одуль данных (DM), который содержит в себе компоненты DataSource, IBDataBase, IBTranzaction, IBQuery, обеспечивающие работу с базой данных.

Для реализации просмотра, добавления и редактирования информации в приложении использованы следующие компоненты С++ Builder:

IBDatabase Этот компонент в основном используется в приложениях, работающих на платформе InterBase. Его задачи связаны с общением с удаленным сервером, реализацией транзакций, работой с паролями.

IBTransaction - организует управление транзакциями.

DataSource В качестве источника данных всегда используется размещенный на странице Data Access компонент DataSource. Он связывается с набором данных своим свойством Data Set.

IBQuery - невизуальный компонент набора данных, выполняющий запросы SQL к серверу InterBase.

DBGrid представляет собой таблицу, в которой могут отображаться поля строк, числовые и булевы поля. Для связи этого компонента с набором данных используется только одно свойство - DataSource.

DBNavigator - набор кнопок для навигации по DBGrid.

2.3 Главная форма

На главной форме приложения представлено:

главное меню,

календарь,

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

список событий запланированных на сегодня.

Рис. Главная форма

2.3.1 Структура Главного меню

Ф
айл

Адресная книга (осуществляет переход на форму, отображающую записи Адресной книги - frmBook)

Напоминалка (осуществляет переход на форму, отображающую записи о событиях frmViewEv)

Выход (закрывает приложение)

Адресная книга

2.1 Просмотреть (осуществляет переход на форму, отображающую записи Адресной книги - frmBook)

2.2 Найти человека (осуществляет переход на форму поиска персоны по различным введенным данным - frmSearchB)

2.3 Добавить новую запись (осуществляет переход на форму, добавляющую записи в Адресную книгу - frmAddB)

3. События

3.1 Просмотр событий (осуществляет переход на форму, отображающую записи о событиях frmViewEv)

3.2 Создать напоминание (осуществляет переход на форму, добавляющую записи в Планировщик задач - frmAddEv)

2.3.2 Календарь

В качестве календаря для приложения был взят компонент
C++ Builder TMonthCalendar, который находится во вкладке Win32.

Компонент TMonthCalendar (Календарь) используется для быстрого выбора даты с помощью мыши. Сразу после размещения в форме календарь готов к работе.

Рис.3. Календарь на форме

В красном кружке выделена текущая дата (она же подробнее указана в нижней части календаря), синим подсвечена дата, выбранная с помощью мыши или дата, устанавливаемая в календаре по умолчанию. Слева можно отображать номера недель в году (свойство WeekNumbers). С помощью кнопок в верхней части календаря можно перемещаться по месяцам. Чтобы вернуться к месяцу с текущей датой, достаточно щелкнуть на ней в нижней части календаря.

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

2.3.3 Список текущих событий

Реализован при
помощи компонента DBGrid. Он связан с ресурсом данных DS1 и запросом на выборку qr4, находящимися в модуле данных DM.

При каждом запуске приложения выполняется функция FormCreate, которая выглядит следующим образом:

void __fastcall TfrmMain:: FormCreate (TObject *Sender)

{

MonthCalendar1->Date = Date ();

DM->qr4->Close ();

DM->qr4->SQL->Clear ();

DM->qr4->SQL->Text="SELECT DATE1, NAME FROM TBL_EVENTS where DATE1=: CURRENT_DATE";

DM->qr4->ParamByName ("CURRENT_DATE") - >AsDate = Date ();

DM->qr4->Open ();

DM->qr4->FetchAll ();

}

Здесь запрос qr4 производит выборку данных из таблицы TBL_EVENTS, значение столбца DATE1 которых совпадает с текущей датой.

2.4 Планировщик задач

2.4.1 Форма управления планировщиком задач

Планировщик задач вызывается с помощью главного меню
: "События", "Просмотр событий". Появляется форма (frmViewEv), которая позволяет просматривать, добавлять, редактировать и удалять записи.

Рис.4 Форма управления планировщиком задач.

На форме представлено содержимое таблицы TBL_EVENTS, с помощью DBGrid. Под таблицей расположены навигационные клавиши, позволяющие перемещаться по записям таблицы вперед и назад. Они реализованы при помощи компонента DBNavigator. Он связывается с базой данных ORGANIZER через свойство DataSet.

Функциональная клавиша "Удалить" удаляет всю текущую запись в DBGrid с помощью функции btnDelClick:

void __fastcall TfrmViewEv:: btnDelClick (TObject *Sender)

{

if (Application->MessageBox ("Вы действительно хотите удалить эту запись??","Подтвердите удаление",MB_OKCANCEL + MB_ICONQUESTION) ! = IDCANCEL)

{

try

{

DM->qr5->Close ();

DM->qr5->SQL->Clear ();

DM->qr5->SQL->Text = "DELETE from TBL_EVENTS where id=: id";

DM->qr5->ParamByName ("id") - >AsInteger=DM->qr1->FieldByName ("id") - >AsInteger;

DM->qr5->Prepare ();

DM->qr5->ExecSQL ();

DM->IBTransaction1->Commit ();

DM->qr1->Close ();

DM->qr1->SQL->Clear ();

DM->qr1->SQL->Text = "SELECT * FROM TBL_EVENTS";

DM->qr1->Open ();

DM->qr1->FetchAll ();

}

catch (. .)

{

DM->IBTransaction1->Rollback ();

ShowMessage ("Error");

}

}

}

При нажатии кнопки "Удалить" функция вызывает диалоговое окно пользователя MessageBox, под названием "Подтвердите удаление", вопросом пользователю "Вы действительно хотите удалить эту запись?" и кнопками "Да" и "Отмена".

При нажатии кнопки "Да" функция выполняет SQL-запрос к таблице TBL_EVENTS, удаляющий запись с текущим ID.

При нажатии "Отмена" функция возвращается на форму управления планировщиком задач.

На форме также представлена возможность просмотра записей таблицы TBL_EVENTS за определенный промежуток времени. Для этого на форму помещены два компонента DataTimePicker, задающие этот промежуток по датам. Нажатие кнопки "Просмотр" реализует следующая функция:

void __fastcall TfrmViewEv:: btnViewClick (TObject *Sender)

{

DM->qr1->Close ();

DM->qr1->SQL->Clear ();

DM->qr1->SQL->Text="SELECT DATE1, NAME FROM TBL_EVENTS where DATE1 between: d1 and: d2";

DM->qr1->ParamByName ("d1") - >AsDate=DateTimePicker1->Date;

DM->qr1->ParamByName ("d2") - >AsDate=DateTimePicker2->Date;

DM->qr1->Open ();

DM->qr1->FetchAll ();

}

После нажатия кнопки "Просмотр" выполняется SQL-запрос, который делает выборку тех записей в таблице TBL_EVENTS, значения столбца которых находятся в промежутке между значениями DataTimePickerов, которые посылаются в запрос в качестве параметров.

Функциональные клавиши "Добавить" и "Редактировать" вызывают формы добавления и редактирования событий соответственно.

2.4.2 Форма добавления нового напоминания

Форма вызывается как из главного меню, так и с главной формы пр
иложения нажатием кнопки "Напомнить о…", а также из формы управления планировщиком задач.

Рис.5. Форма добавления нового напоминания

На форме помещены 2 компонента: DateTimePicker1 и Memo1. после ввода соответствующей информации и нажатии на кнопку "ОК" вызывается функция BitBtn1Click:

void __fastcall TfrmAddEv:: BitBtn1Click (TObject *Sender)

{

try

{

DM->qr1->SQL->Clear ();

DM->qr1->SQL->Add ("INSERT into tbl_events (DATE1,TIME1,NAME) values (: par1,: par2,: par3)");

DM->qr1->ParamByName ("par1") - >AsDate=DateTimePicker1->Date;

DM->qr1->ParamByName ("par2") - >AsTime=DateTimePicker1->Time;

DM->qr1->ParamByName ("par3") - >AsString= (Memo1->Text);

DM->qr1->ExecSQL ();

DM->IBTransaction1->Commit ();

ShowMessage ("successfull");

}

catch (. .)

{

DM->IBTransaction1->Rollback ();

ShowMessage ("Error");

}

Она выполняет подстановку значений DateTimePicker1и Memo1 при помощи параметров в запрос qr1 для добавления новой записи в таблицу TBL_EVENTS.

2.4 3 Форма редактирования выбранного напоминания

Форма редактирования выбранного напоминания вызывается при п
омощи нажатия кнопки "Редактировать" на форме управления планировщиком задач.

Рис.6. Форма редактирования выбранного напоминания

Чтобы форма выводила значения компонентов DateTimePicker1и Memo1 была написана функция FormShow:

void __fastcall TfrmEditEv:: FormShow (TObject *Sender)

{

DM->IBQuery1->Close ();

DM->IBQuery1->SQL->Clear ();

DM->IBQuery1->SQL->Text = "SELECT * FROM TBL_EVENTS where id=: par";

DM->IBQuery1->ParamByName ("par") - >AsInteger=DM->qr1->FieldByName ("ID") - >AsInteger;

DM->IBQuery1->Open ();

DM->IBQuery1->FetchAll ();

// ShowMessage (DM->IBQuery1->FieldByName ("DATE1") - >AsString);

DateTimePicker1->Date = DM->IBQuery1->FieldByName ("DATE1") - >AsDateTime;

Memo1->Text = DM->IBQuery1->FieldByName ("NAME") - >AsString;

}

А процесс сохранения измененной записи описывается функцией BitBtn1Click:

void __fastcall TfrmEditEv:: BitBtn1Click (TObject *Sender)

{

// DM->IBTransaction1->StartTransaction ();

try

{

DM->qr2->Params->Clear ();

DM->qr2->Close ();

DM->qr2->SQL->Clear ();

DM->qr2->SQL->Text="UPDATE TBL_EVENTS a SET a. name=: par22,date1=: par1 where id=: par3";

DM->qr2->ParamByName ("par1") - >AsDateTime= DateTimePicker1->DateTime;

DM->qr2->ParamByName ("par22") - >AsString= Memowhat->Text;

DM->qr2->ParamByName ("par3") - >AsInteger=DM->qr1->FieldByName ("id") - >AsInteger;

DM->qr2->Prepare ();

DM->qr2->ExecSQL ();

DM->IBTransaction1->Commit ();

frmEditEv->ModalResult = mrOk;

}

catch (. .)

{

DM->IBTransaction1->Rollback ();

ShowMessage ("Ошибка при обновлении данных");

}

}

Она выполняет обновление таблицы TBL_EVENTS новыми значениями DateTimePicker1и Memo1 запросом qr2.

2.5 Адресная книга

2.5 1 Форма управления адресной книгой

Адресная книга вызывается из
помощи главного меню "Файл"-"Адресная книга" или "Адресная книга"-"Просмотреть" или нажатием кнопки "Адресная книга" на главной форме.

Рис.7. Форма управления адресной книгой

Адресная книга позволяет просматривать, добавлять, удалять и редактировать записи таблицы TBL_PEOPLE.

Функции удаления, добавления и редактирования реализованы точно так же как и в форме управления планировщиком задач, за исключением того, что в запросах используется таблица TBL_PEOPLE и ее соответствующие поля.

Рис.8. Форма добавления новой записи в Адресную книгу

На формах просмотра и добавления новой записи Адресной книги имеется кнопка "Поиск", нажатие на которую вызывает форму поиска по параметрам.

2.5.2 Форма поиска по параметрам

Форма поиска по параметрам вызывается из главного меню
"Адресная книга" "Найти человека" или из форм просмотра и добавления записей Адресной книги нажатием кнопки "Поиск".

Поиск человека в адресной книге можно производить по трем параметрам:

по фамилии

по дате рождения

по месту работы

Рис.9. Форма поиска по параметрам

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

Поиск по фамилии реализует следующая функция:

void __fastcall TfrmSearchB:: btn1Click (TObject *Sender)

{

DM->qr123->Close ();

DM->qr123->SQL->Clear ();

DM->qr123->SQL->Text="SELECT * FROM TBL_PEOPLE where FAMILIA=: par1";

DM->qr123->ParamByName ("par1") - >AsString=Edit1->Text;

DM->qr123->Open ();

DM->qr123->FetchAll ();

}

Заключение

В результате проделанной курсовой работы был создан электронный органайзер "Organizer 1.0". Кроме функций классического органайзера он может использоваться как база клиентов, программа записной книжки для хранения контактов людей и предприятий, заметок, событий, праздников, юбилеев. Электронный ежедневник содержит удобный планировщик задач с напоминалкой. Каждая персона может сопровождаться такой информацией как Ф.И. О, адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы, должность. В приложении есть функция быстрого поиска по адресной книге по нескольким параметрам, что существенно сокращает время для поиска нужной информации. В планировщике задач есть возможность просмотра событий за определенный промежуток времени, что поможет еще лучше спланировать свой рабочий график.

В будущем, возможно, будет разработана более усовершенствованная вервия. Например, можно расширить возможности адресной книги, если реализовать загрузку фотографий для каждого контакта. А также дополнить планировщик задач загрузкой и выгрузкой документов MSOffice.

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

Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 1. Язык C++. - М.: Бином-Пресс, 2002 г. - 544 с.: ил.

Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 2. Классы и компоненты. М.: Бином-Пресс, 2002 г. - 528 с.: ил.

Хомоненко А.Д., Ададуров С.Е. Работа с базами данных в C++ Builder. - СПб.: БХВ-Петербург, 2006. - 496 с: ил.

http://it. kgsu.ru/

Страницы: 1, 2



© 2003-2013
Рефераты бесплатно, курсовые, рефераты биология, большая бибилиотека рефератов, дипломы, научные работы, рефераты право, рефераты, рефераты скачать, рефераты литература, курсовые работы, реферат, доклады, рефераты медицина, рефераты на тему, сочинения, реферат бесплатно, рефераты авиация, рефераты психология, рефераты математика, рефераты кулинария, рефераты логистика, рефераты анатомия, рефераты маркетинг, рефераты релиния, рефераты социология, рефераты менеджемент.