Реферат по предмету "Информатика, программирование"


Разработка электронного органайзера средствами C++ Builder 6

Курсовая работа
РАЗРАБОТКА ЭЛЕКТРОННОГО ОРГАНАЙЗЕРА СРЕДСТВАМИ C++ BUILDER 6

Оглавление
Введение
Глава 1. Реализация программного кода «Organizer1.0»
1.1 Borland C++ Builder 6. Общие сведения
1.2 Borland C++ Builder 6. Разработка приложений базданных
1.3 Компоненты C++ Builder 6,предназначенные для работы по технологии InterBase
Глава 2. Технология разработки программного кода иинтерфейса «Organizer 1.0»
2.1 Структура приложения«Organizer 1.0»
2.2 Программная структура приложения «Organizer1.0»
2.3 Главная форма
2.3.1 Структура Главного меню
2.3.2 Календарь
2.3.3 Список текущих событий
2.4 Планировщик задач
2.4.1 Форма управления планировщиком задач
2.4.2 Форма добавления нового напоминания
2.4 3 Форма редактирования выбранного напоминания
2.5 Адресная книга
2.5 1 Форма управления адресной книгой
2.5.2 Форма поиска по параметрам
Заключение
Список использованных источников
Введение
При современном темпе жизни и объеме информации, которуювсегда нужно держать под рукой, электронный органайзер становится самойнеобходимой вещью любого современного человека. И неважно, кто он по профессии — главный директор крупной компании или забывчивый студент. Электронныйорганайзер поможет любому человеку помнить все даты, события и поручения.
Электронный органайзер «Organizer1.0» — это не просто планировщик задач или ежедневник. Кроме функцийклассического органайзера он может использоваться как база клиентов, программазаписной книжки для хранения контактов людей и предприятий, заметок, событий,праздников, юбилеев. Электронный ежедневник содержит удобный планировщик задачс напоминалкой. Каждая персона может сопровождаться такой информацией как Ф.И. О,адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы,должность. В приложении есть функция быстрого поиска по адресной книге понескольким параметрам, что существенно сокращает время для поиска нужнойинформации. В планировщике задач есть возможность просмотра событий заопределенный промежуток времени, что поможет еще лучше спланировать свойрабочий график.
Глава 1. Реализация программного кода «Organizer1.0»1.1 Borland C++ Builder6. Общие сведения
Система программирования Borland C++ Builder 6завоевала достаточно прочные позиции среди профессиональных и начинающихпрограммистов. Здесь можно отметить ряд причин: большую популярность языкапрограммирования C++, удобство визуального конструирования приложений, развитыевозможности доступных средств системы, эффективность генерируемого кода и др.
Несмотря на появление современных технологий типа.net исоответствующих систем программирования, таких как Visual C++.net, система C++Builder будет устойчиво занимать свою нишу. Это обусловлено меньшейтребовательностью к аппаратным ресурсам при разработке приложений, большейлегкостью в освоении и применении средств системы для разработки приложенийразличной степени сложности.
Программа на C++ состоит из объявлений (переменных,констант, типов, классов, функций) и описаний функций. Среди функций всегдаимеется главная — main для консольных приложений (работающих сWIN32) или WinMain для приложений Windows. Именно эта главная функциявыполняется после начала работы программы. Обычно в C++Builder эта функцияочень короткая и выполняет только некоторые подготовительные операции,необходимые для начала работы. А далее при объектно-ориентированном подходеработа приложения определяется происходящими событиями и реакцией на нихобъектов.
Как правило, программы строятся по модульному принципу исостоят из множества модулей. Принцип модульности очень важен длясоздания надежных и относительно легко модифицируемых и сопровождаемыхприложений. Четкое соблюдение принципов модульности в сочетании с принципомскрытия информации позволяет внутри любого модуля проводить какие-томодификации, не затрагивая при этом остальных модулей и головную программу.
В C++Builder все объекты компонентов размещаются в объектах- формах. Для каждой формы, которую вы проектируете в своемприложении, C++Builder создает отдельный модуль. Именно в модулях иосуществляется программирование задачи. В обработчиках событий объектов — форми компонентов, вы помещаете все свои алгоритмы. В основном они сводятся кобработке информации, содержащейся в свойствах одних объектов, и задании порезультатам обработки свойств других объектов. При этом вы постояннообращаетесь к методам различных объектов.
Согласно принципам скрытия информации обычно текст модуляразделяют на заголовочный файл интерфейса, который содержитобъявления классов, функций, переменных и т.п., и файл реализации,в котором содержится описание функций.
Стандартное расширение файлов реализации — срр.Стандартное расширение заголовочных файлов — h.
После того как программа написана, на ее основе должен бытьсоздан выполняемый файл (модуль). Этот процесс осуществляется внесколько этапов.
Сначала работает препроцессор, который преобразует исходныйтекст. Препроцессор осуществляет преобразования в соответствии со специальнымидирективами препроцессора, которые размещаются в исходном тексте. Препроцессорможет в соответствии с этими директивами включать тексты одних файлов в текстыдругих, развертывать макросы — сокращенные обозначения различных выражений ивыполнять множество других преобразований.
После окончания работы препроцессора начинает работатькомпилятор. Его задача — перевести тексты модулей в машинный (объектный) код. Врезультате для каждого исходного файла. срр создается объектныйфайл, имеющий расширение. obj.
После окончания работы компилятора работает компоновщик,который объединяет объектные файлы в единый загрузочный выполняемый модуль,имеющий расширение. ехе. Этот модуль можно запускать навыполнение.1.2 Borland C++ Builder6. Разработка приложений баз данных
В зависимости от взаимного расположения приложения и БДможно выделить: локальные и удаленные БД. Для выполнения операций с локальнымиБД разрабатываются и используются так называемые локальные приложения, а дляопераций с удаленными БД — клиент-серверные приложения.
Расположение БД в значительной степени влияет на разработкуприложения, обрабатывающего содержащиеся в этой базе данные.
Так, различают следующие виды приложений:
приложения, использующие локальные базы данных, называютодноуровневыми (однозвенными) приложениями, поскольку приложение и базы данныхобразуют единую файловую систему;
приложения, использующие удаленные базы данных, разделяют надвухуровневые (двухзвенные) и многоуровневые (многозвенные). Двухуровневыеприложения содержат клиентскую и серверную части;
многоуровневые (обычно трехуровневые) приложения кромеклиентской и серверной частей имеют дополнительные части. К примеру, втрехуровневых приложениях имеются клиентская часть, сервер приложений и сервербазы данных.
Одно — и двухуровневые приложения C++ Builder могутосуществлять доступ к локальным и удаленным БД с использованием следующихмеханизмов:
BDE (Borland Database Engine — процессор баз данных фирмы Borland),предоставляющий развитый интерфейс API для взаимодействия с базами данных;
ADO (ActiveX Data Objects — объекты данных ActiveX) осуществляетдоступ к информации с помощью OLE DB (Object Linking and Embedding Data Base — связываниеи внедрение объектов баз данных);
dbExpress обеспечивает быстрый доступ к информации в базахданных с помощью набора драйверов;
InterBase Express реализует непосредственный доступ к базамданных сервера InterBase.
Механизм доступа InterBase Express, с помощью которогореализовано приложение «Organizer 1.0», ориентированстрого на работу с сервером InterBase и основан на прямом применении функцийAPI этого сервера. Отсюда следуют все достоинства и недостатки использованияэтого механизма доступа. Он обеспечивает высокую скорость работы компонентов
доступа к данным. Очевидным недостатком механизма доступаInterBase является невозможность применения его для серверов баз данных,отличных от сервера InterBase SQL Server.
Технология InterBase Express строго ориентирована на работус сервером InterBase версии не ниже 5.5. Отсюда следуют основные достоинства инедостатки этой технологии.
При реализации «Organizer 1.0»была использована утилита IB Expert, она обеспечивает более удобную работу с базами данных.Позволяет быстро и легко взаимодействовать с сервером InterBase: создавать,удалять, регистрировать и использовать базы данных.1.3 Компоненты C++ Builder 6, предназначенные для работы по технологии InterBase
Компоненты C++ Builder6, предназначенные для работы по технологии InterBase Express, расположены настранице InterBase Палитры компонентов.
Охарактеризуем кратко назначение основных из этихкомпонентов:
IBTable — дляполучения данных из таблицы или представления базы данных. Является аналогомкомпонента table для BDE,совместим с визуальными компонентами. Полученный с помощью этого компонентанабор данных является редактируемым;
IBQuery — для получения данных спомощью SQL-запроса. Является аналогом компонента Query для BDE, совместим свизуальными компонентами;
IBstoredProc — для вызова хранимыхпроцедур и получения набора данных на основе результатов выполнения процедуры. Соответствующийнабор данных является не редактируемым. Совместим с визуальными компонентами;
IBDatabase — для установлениясоединения с базой данных;
IBTransaction — для управлениятранзакцией;
IBUpdateSQL — для созданиямодифицируемых наборов данных, основанных на SQL-запросах. Является аналогомкомпонента updateSQL для BDE. Используется совместно с компонентом iBQuery;
IBDataSet — для получения иредактирования данных. Совместим со всеми визуальными компонентами. Обеспечиваетэффективный доступ к данным для просмотра и редактирования;
IBSQL — для быстрого выполнения SQL-запросас минимальными накладными расходами. Не имеет локального буфера данных, несовместим с визуальными компонентами;
IBDatabaseInfo- для получения системной информации о свойствах базы данных, соединения исервера;
IBSQLMonitor — для перехвата и отслеживанияSQL-запросов, которые выполняют приложения пр технологии InterBase Express;
IBEvents — для обработки событийсервера InterBase;
IBExtract — для получения метаданныхот сервера InterBase;
IBClientDataSet- для получения данных и применения обновлений. Использует внутренниекомпоненты TIBDataSet И TDataSetProvider.
Компоненты IBTable, IBQuery, IBStoredProc И IBUpdateSQL вомногом похожи на свои аналоги механизма BDE.
Глава 2. Технология разработки программного кода иинтерфейса «Organizer 1.0»2.1 Структура приложения «Organizer 1.0»
"Organizer 1.0" — программный продукт,который состоит из нескольких компонентов: планировщик задач, связанный с ним календарьи адресная книга.
/>
Рис.1 Структура приложения «Organizer 1.0».
В качестве основы приложения с помощью IB Expert была разработана база данных ORGANIZER, состоящая из двух таблиц: TBL_EVENTS и TBL_PEOPLE.
Табл.1 Структура таблицы TBL_EVENTSid_events date1 name      

Табл. 2 Структура таблицы TBL_ PEOPLEid_people imja familia otch birth email icq phone_mob phone_home phone_work firm post                         phone_work firm post      
Таблицы между собой не связаны, т.к несут разную смысловуюнагрузку и реализуют разные задачи в приложении.
Таблица TBL_EVENTSпредназначена для работы планировщика задач. Она содержит данные о введенныхсобытиях (название, дата).
Таблица TBL_ PEOPLEпредназначена для работы адресной книги. Она содержит данные о персоне (Ф.И. О,адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы,должность).2.2 Программная структура приложения «Organizer1.0»
В приложении используются:
главная форма с главным меню, обеспечивающим переход ко всемфункциям приложения (frmMain);
формы, используемые Планировщиком задач для просмотра (frmViewEv), редактирования (frmEditEv)и добавления событий (frmAddEv);
формы, используемые Адресной книгой для просмотра (frmBook), добавления (frmAddB) иредактирования записей (frmEditB), а также форма поискав книге по различным параметрам (frmSearchB);
модуль данных (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=«SELECTDATE1, 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 = «DELETEfrom 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=«SELECTDATE1, 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 («INSERTinto 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=«UPDATETBL_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.
Список использованных источников
1.  Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 1. Язык C++.- М.: Бином-Пресс, 2002 г. — 544 с.: ил.
2.  Архангельский А.Я. C++Builder 6. Справочное пособие. Книга 2. Классы икомпоненты. М.: Бином-Пресс, 2002 г. — 528 с.: ил.
3.  Хомоненко А.Д., Ададуров С.Е. Работа с базами данных в C++ Builder. — СПб.:БХВ-Петербург, 2006. — 496 с: ил.
4.  http://it. kgsu.ru/


Не сдавайте скачаную работу преподавателю!
Данный реферат Вы можете использовать для подготовки курсовых проектов.

Поделись с друзьями, за репост + 100 мильонов к студенческой карме :

Пишем реферат самостоятельно:
! Как писать рефераты
Практические рекомендации по написанию студенческих рефератов.
! План реферата Краткий список разделов, отражающий структура и порядок работы над будующим рефератом.
! Введение реферата Вводная часть работы, в которой отражается цель и обозначается список задач.
! Заключение реферата В заключении подводятся итоги, описывается была ли достигнута поставленная цель, каковы результаты.
! Оформление рефератов Методические рекомендации по грамотному оформлению работы по ГОСТ.

Читайте также:
Виды рефератов Какими бывают рефераты по своему назначению и структуре.