Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Топ:
Проблема типологии научных революций: Глобальные научные революции и типы научной рациональности...
Когда производится ограждение поезда, остановившегося на перегоне: Во всех случаях немедленно должно быть ограждено место препятствия для движения поездов на смежном пути двухпутного...
Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов...
Интересное:
Национальное богатство страны и его составляющие: для оценки элементов национального богатства используются...
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Отражение на счетах бухгалтерского учета процесса приобретения: Процесс заготовления представляет систему экономических событий, включающих приобретение организацией у поставщиков сырья...
Дисциплины:
2019-08-04 | 187 |
5.00
из
|
Заказать работу |
|
|
Введение
При современном темпе жизни и объеме информации, которую всегда нужно держать под рукой, электронный органайзер становится самой необходимой вещью любого современного человека. И неважно, кто он по профессии - главный директор крупной компании или забывчивый студент. Электронный органайзер поможет любому человеку помнить все даты, события и поручения.
Электронный органайзер "Organizer 1.0" - это не просто планировщик задач или ежедневник. Кроме функций классического органайзера он может использоваться как база клиентов, программа записной книжки для хранения контактов людей и предприятий, заметок, событий, праздников, юбилеев. Электронный ежедневник содержит удобный планировщик задач с напоминалкой. Каждая персона может сопровождаться такой информацией как Ф.И. О, адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы, должность. В приложении есть функция быстрого поиска по адресной книге по нескольким параметрам, что существенно сокращает время для поиска нужной информации. В планировщике задач есть возможность просмотра событий за определенный промежуток времени, что поможет еще лучше спланировать свой рабочий график.
Глава 1. Реализация программного кода "Organizer 1.0"
1.1 Borland C++ Builder 6. Общие сведения
Система программирования 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++ Builder 6. Разработка приложений баз данных
В зависимости от взаимного расположения приложения и БД можно выделить: локальные и удаленные БД. Для выполнения операций с локальными БД разрабатываются и используются так называемые локальные приложения, а для операций с удаленными БД - клиент-серверные приложения.
Расположение БД в значительной степени влияет на разработку приложения, обрабатывающего содержащиеся в этой базе данные.
Так, различают следующие виды приложений:
приложения, использующие локальные базы данных, называют одноуровневыми (однозвенными) приложениями, поскольку приложение и базы данных образуют единую файловую систему;
приложения, использующие удаленные базы данных, разделяют на двухуровневые (двухзвенные) и многоуровневые (многозвенные). Двухуровневые приложения содержат клиентскую и серверную части;
многоуровневые (обычно трехуровневые) приложения кроме клиентской и серверной частей имеют дополнительные части. К примеру, в трехуровневых приложениях имеются клиентская часть, сервер приложений и сервер базы данных.
|
Одно - и двухуровневые приложения 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++ Builder 6, предназначенные для работы по технологии 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_EVENTS
id_events | date1 | name |
|
|
|
Табл. 2 Структура таблицы TBL_ PEOPLE
id_people | imja | familia | otch | birth | | icq | phone_mob | phone_home | phone_work | firm | post |
|
|
|
|
|
|
|
|
|
|
|
|
phone_work | firm | post |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблицы между собой не связаны, т.к несут разную смысловую нагрузку и реализуют разные задачи в приложении.
Таблица TBL_EVENTS предназначена для работы планировщика задач. Она содержит данные о введенных событиях (название, дата).
Таблица TBL_ PEOPLE предназначена для работы адресной книги. Она содержит данные о персоне (Ф.И. О, адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы, должность).
2.2 Программная структура приложения "Organizer 1.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.
Главная форма
На главной форме приложения представлено:
главное меню,
календарь,
навигационные кнопки, обеспечивающие быстрый доступ к адресной книге и планировщику задач соответственно,
список событий запланированных на сегодня.
Рис. Главная форма
Структура Главного меню
Файл
Адресная книга (осуществляет переход на форму, отображающую записи Адресной книги - frmBook)
Напоминалка (осуществляет переход на форму, отображающую записи о событиях frmViewEv)
Выход (закрывает приложение)
Адресная книга
2.1 Просмотреть (осуществляет переход на форму, отображающую записи Адресной книги - frmBook)
2.2 Найти человека (осуществляет переход на форму поиска персоны по различным введенным данным - frmSearchB)
2.3 Добавить новую запись (осуществляет переход на форму, добавляющую записи в Адресную книгу - frmAddB)
3. События
3.1 Просмотр событий (осуществляет переход на форму, отображающую записи о событиях frmViewEv)
3.2 Создать напоминание (осуществляет переход на форму, добавляющую записи в Планировщик задач - frmAddEv)
Календарь
В качестве календаря для приложения был взят компонент C++ Builder TMonthCalendar, который находится во вкладке Win32.
Компонент TMonthCalendar (Календарь) используется для быстрого выбора даты с помощью мыши. Сразу после размещения в форме календарь готов к работе.
Рис.3. Календарь на форме
В красном кружке выделена текущая дата (она же подробнее указана в нижней части календаря), синим подсвечена дата, выбранная с помощью мыши или дата, устанавливаемая в календаре по умолчанию. Слева можно отображать номера недель в году (свойство WeekNumbers). С помощью кнопок в верхней части календаря можно перемещаться по месяцам. Чтобы вернуться к месяцу с текущей датой, достаточно щелкнуть на ней в нижней части календаря.
Кроме информативной, календарь выполняет также одну из основных функций приложения. При двойном щелчке мыши на календарь вызывается форма добавления нового напоминания, что упрощает работу пользователя с программой.
Список текущих событий
Реализован при помощи компонента 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.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ов, которые посылаются в запрос в качестве параметров.
Функциональные клавиши "Добавить" и "Редактировать" вызывают формы добавления и редактирования событий соответственно.
Адресная книга
Форма поиска по параметрам
Форма поиска по параметрам вызывается из главного меню "Адресная книга" "Найти человека" или из форм просмотра и добавления записей Адресной книги нажатием кнопки "Поиск".
Поиск человека в адресной книге можно производить по трем параметрам:
по фамилии
по дате рождения
по месту работы
Рис.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.
Введение
При современном темпе жизни и объеме информации, которую всегда нужно держать под рукой, электронный органайзер становится самой необходимой вещью любого современного человека. И неважно, кто он по профессии - главный директор крупной компании или забывчивый студент. Электронный органайзер поможет любому человеку помнить все даты, события и поручения.
Электронный органайзер "Organizer 1.0" - это не просто планировщик задач или ежедневник. Кроме функций классического органайзера он может использоваться как база клиентов, программа записной книжки для хранения контактов людей и предприятий, заметок, событий, праздников, юбилеев. Электронный ежедневник содержит удобный планировщик задач с напоминалкой. Каждая персона может сопровождаться такой информацией как Ф.И. О, адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы, должность. В приложении есть функция быстрого поиска по адресной книге по нескольким параметрам, что существенно сокращает время для поиска нужной информации. В планировщике задач есть возможность просмотра событий за определенный промежуток времени, что поможет еще лучше спланировать свой рабочий график.
Глава 1. Реализация программного кода "Organizer 1.0"
1.1 Borland C++ Builder 6. Общие сведения
Система программирования 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++ Builder 6. Разработка приложений баз данных
В зависимости от взаимного расположения приложения и БД можно выделить: локальные и удаленные БД. Для выполнения операций с локальными БД разрабатываются и используются так называемые локальные приложения, а для операций с удаленными БД - клиент-серверные приложения.
Расположение БД в значительной степени влияет на разработку приложения, обрабатывающего содержащиеся в этой базе данные.
Так, различают следующие виды приложений:
приложения, использующие локальные базы данных, называют одноуровневыми (однозвенными) приложениями, поскольку приложение и базы данных образуют единую файловую систему;
приложения, использующие удаленные базы данных, разделяют на двухуровневые (двухзвенные) и многоуровневые (многозвенные). Двухуровневые приложения содержат клиентскую и серверную части;
многоуровневые (обычно трехуровневые) приложения кроме клиентской и серверной частей имеют дополнительные части. К примеру, в трехуровневых приложениях имеются клиентская часть, сервер приложений и сервер базы данных.
Одно - и двухуровневые приложения 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++ Builder 6, предназначенные для работы по технологии 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_EVENTS
id_events | date1 | name |
|
|
|
Табл. 2 Структура таблицы TBL_ PEOPLE
id_people | imja | familia | otch | birth | | icq | phone_mob | phone_home | phone_work | firm | post |
|
|
|
|
|
|
|
|
|
|
|
|
phone_work | firm | post |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Таблицы между собой не связаны, т.к несут разную смысловую нагрузку и реализуют разные задачи в приложении.
Таблица TBL_EVENTS предназначена для работы планировщика задач. Она содержит данные о введенных событиях (название, дата).
Таблица TBL_ PEOPLE предназначена для работы адресной книги. Она содержит данные о персоне (Ф.И. О, адрес, телефон (дом, раб, сотовый), ICQ, e-mail, дата рождения, название фирмы, должность).
2.2 Программная структура приложения "Organizer 1.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.
Главная форма
На главной форме приложения представлено:
главное меню,
календарь,
навигационные кнопки, обеспечивающие быстрый доступ к адресной книге и планировщику задач соответственно,
список событий запланированных на сегодня.
Рис. Главная форма
Структура Главного меню
Файл
Адресная книга (осуществляет переход на форму, отображающую записи Адресной книги - frmBook)
Напоминалка (осуществляет переход на форму, отображающую записи о событиях frmViewEv)
Выход (закрывает приложение)
Адресная книга
2.1 Просмотреть (осуществляет переход на форму, отображающую записи Адресной книги - frmBook)
2.2 Найти человека (осуществляет переход на форму поиска персоны по различным введенным данным - frmSearchB)
2.3 Добавить новую запись (осуществляет переход на форму, добавляющую записи в Адресную книгу - frmAddB)
3. События
3.1 Просмотр событий (осуществляет переход на форму, отображающую записи о событиях frmViewEv)
3.2 Создать напоминание (осуществляет переход на форму, добавляющую записи в Планировщик задач
|
|
Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...
Автоматическое растормаживание колес: Тормозные устройства колес предназначены для уменьшения длины пробега и улучшения маневрирования ВС при...
Архитектура электронного правительства: Единая архитектура – это методологический подход при создании системы управления государства, который строится...
Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!