Автоматизация учета деятельности агентства по продаже недвижимости

Разработка приложения в среде С++Builder. Работа с файлами базы данных в С++Builder. Описание используемых компонент. Программная реализация приложения "Автоматизация проведения оценки имущества и недвижимости". Структура проекта разработанной программы.

Рубрика Программирование, компьютеры и кибернетика
Вид реферат
Язык русский
Дата добавления 27.03.2010
Размер файла 1,3 M

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

1. Теоретические основы разработки приложения «Автоматизации проведения оценки имущества и недвижимости»

1.1 Основы разработки приложения в среде С++Builder

С++Builder представляет собой SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель и палитру компонентов. Формы являются основой приложений С++Builder. Создание пользовательского интерфейса приложения заключается в добавлении в окно формы элементов объектов С++Builder, называемых компонентами. Компоненты С++Builder располагаются на палитре компонентов, выполненной в виде многостраничного блокнота. Важная особенность С++Builder состоит в том, что он позволяет создавать собственные компоненты и настраивать палитру компонентов, а также создавать различные версии палитры компонентов для разных проектов.

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

Каждый компонент С++Builder имеет три разновидности характеристик: свойства, события и методы.

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

Свойства являются атрибутами компонента, определяющими его внешний вид и поведение. Многие свойства компонента в колонке свойств имеют значение, устанавливаемое по умолчанию (например, высота кнопок). Свойства компонента отображаются на странице свойств (Properties). Инспектор объектов отображает опубликованные (published) свойства компонентов. Помимо published-свойств, компоненты могут и чаще всего имеют общие (public), опубликованные свойства, которые доступны только во время выполнения приложения. Инспектор объектов используется для установки свойств во время проектирования. Список свойств располагается на странице свойств инспектора объектов. Можно определить свойства во время проектирования или написать код для видоизменения свойств компонента во время выполнения приложения.

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

Страница событий (Events) инспектора объектов показывает список событий, распознаваемых компонентом (программирование для операционных систем с графическим пользовательским интерфейсом, в частности, для Windows 95 или Windows NT предполагает описание реакции приложения на те или иные события, а сама операционная система занимается постоянным опросом компьютера с целью выявления наступления какого-либо события). Каждый компонент имеет свой собственный набор обработчиков событий. В С++Builder следует писать функции, называемые обработчиками событий, и связывать события с этими функциями. Создавая обработчик того или иного события, вы поручаете программе выполнить написанную функцию, если это событие произойдет.

Для того чтобы добавить обработчик событий, нужно выбрать на форме с помощью мыши компонент, которому необходим обработчик событий, затем открыть страницу событий инспектора объектов и дважды щелкнуть левой клавишей мыши на колонке значений рядом с событием, чтобы заставить С++Builder сгенерировать прототип обработчик событий и показать его в редакторе кода. При этом генерируется текст пустой функции, и редактор открывается в том месте , где следует вводить код. Курсор позиционируется внутри операторных скобок {…}. Далее нужно ввести код, который должен выполняться при наступлении события. Обработчик событий может иметь параметры, которые указываются после имени функции в круглых скобках.

Метод является функцией, которая связана с компонентом, и которая объявляется как часть объекта. Создавая обработчики событий, можно вызывать методы, используя следующую нотацию: ->, например: Edit1-> Show( );

Отметим, что при создании формы связанные с ней модуль и заголовочный файл с расширением *.h генерируется обязательно, тогда как при создании нового модуля он не обязан быть связан с формой (например, если в нем содержатся процедуры расчетов). Имена формы и модуля можно изменить, причем желательно сделать это сразу после создания, пока на них не появилось много ссылок в других формах и модулях.

Файлы образующие приложение - формы и модули - собраны в проект. Менеджер проектов показывает списки файлов и модулей приложения и позволяет осуществлять навигацию между ними. Можно вызвать менеджер проектов, выбрав пункт меню View/Project Manager. По умолчанию вновь созданный проект получает имя Project1.срр.

По умолчанию проект первоначально содержит файлы для одной формы и исходного кода одного модуля. Однако большинство проектов содержит несколько форм и модулей. Чтобы добавить модуль или форму к проекту, нужно щелкнуть правой кнопкой мыши и выбрать пункт New Form из контекстного меню. Можно также добавлять существующие формы и модули к проекту, используя кнопку Add контекстного меню менеджера проектов и выбирая модуль или форму, которую нужно добавить. Формы и модули можно удалить в любой момент в течение разработки проекта. Однако, из-за того, что форма связана всегда с модулем, нельзя удалить одно без удаления другого, за исключением случая, когда модуль не имеет связи с формой. Удалить модуль из проекта можно, используя кнопку Remove менеджера проектов.

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

Важным элементом среды разработки С++Builder является контекстное меню, появляющееся при нажатии на правую клавишу мыши и предлагающее быстрый доступ к наиболее часто используемым командам.

Разумеется, С++Builder обладает встроенной системой контекстно-зависимой помощи, доступной для любого элемента интерфейса и являющейся обширным источником справочной информации о С++Builder.

1.2 Работа с файлами базы данных в С++Builder

С++Builder организует доступ приложения к данным таким образом, чтобы полностью отстранить разработчика от специфики обслуживания конкретной баз данных. Для доступа к локальным базам данных, а также к базам данных клиент/сервер, в С++Builder используется механизм Borland Database Engine (BDE). BDE представляет собой коллекцию DLL и утилит, обеспечивающих доступ к различным базам данных. Взаимодействие компонентных объектов с BDE никак не специфицирует конкретную базу данных и не зависит от реализации обмена информацией на нижнем уровне иерархии.

С++Builder предоставляет разработчикам интерфейсные элементы без данных из Библиотеки Визуальных Компонент на следующих двух вкладках Палитры Компонент:

Компоненты управления данными Data Control (такие как область редактирования TDBEdit или сетка TDBGrid) обеспечивают отображение и редактирование записей на форме приложения.

Компоненты доступа к данным Data Access (такие как таблицаTTable или запрос TQuery) адресуют фактические данные, хранящиеся в файле базы данных, а компонента источника TDataSource служит как интерфейс межкомпонентной связи.

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

С++Builder поддерживает “трехступенчатую” модель разработки приложения баз данных. В этой модели компонента управления связана с компонентой источника, а та, в свою очередь, получает фактические данные таблицы или запроса посредством механизма BDE. Рисунок 1 показывает пример взаимосвязи компонент.

Рисунок 1- Структура взаимодействия приложений с базами данных

Невидимая компонента TDataSource действует как интерфейс между некоторым объектом набора данных (таблица, запрос) и визуальной компонентой управления. С одной стороны, все наборы данных должны быть ассоциированы с некоторым источником. С другой стороны, каждая компонента управления должна быть ассоциирована с источником, чтобы получать данные для отображения и редактирования. Каждой компоненте набора данных должна соответствовать, по меньшей мере одна компонента источника. Все компоненты управления имеют свойство DataSource, значение которого замыкает трехступенчатую связь.

Компонента таблицы представляет собой один из самых фундаментальных и гибких компонентных классов. TTable Active разрешает или запрещает режим просмотра “живых данных” таблицы на этапе проектирования. Значение true или метод Open открывают просмотр таблицы. Значение false (устанавливается по умолчанию) или метод Close закрывают просмотр.

Свойство TTable DatabaseName содержит псевдоним базы данных или полный путь к ее каталогу. Использование псевдонима всегда предпочтительнее: вы можете переназначить физический носитель данных, например, заменив локальный дисковод на сетевой. Перекомпиляция приложения не требуется - просто измените путь на вкладке Aliases в утилите конфигурации BDE.

Свойство TTable TableName позволяет выбрать фактическое имя таблицы из выпадающего списка с именами всех таблиц в адресуемой базе данных. С компонентой TTable также связаны следующие методы:

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

First, Next, Prior, Last и MoveBy используются для навигации по данным таблицы.

SetKey, FindKey, FindNearest, GotoKey и GotoNearest используются для поиска по специфическим значениям ключей.

Append, Insert, AppendRecord и InsertRecord добавляют новую запись к таблице. Delete вычеркивает текущую запись. Edit разрешает приложению модифицировать записи, а Post вызывает фактическое изменение содержимого базы данных.

Поиск записей осуществлять в таблице можно несколькими методами. Для поиска в отфильтрованном наборе данных можно использовать методы FindFirst(), FindNext(), FindPrior(), FindLast(). В данном случае лучше всего использовать именно эти методы, поскольку фильтр применяется при каждом их вызове. Другой способ поиска - методы Locate() и Lookup(). Они используются для поиска указанных записей как в индексах таблицах, так и в таблицах с ключами: эти методы реализуют самый быстрый из возможных способа поиска в данной таблице. Если столбцы для поиска индексированы и индекс совместим с указанными опциями, используется способ индексного поиска. В противном случае методы создают BDE соответствующий фильтр.

Locate() производит поиск специфической записи и позиционирует курсор на нее. В простейшем варианте вы передаете методу название столбца для поиска, искомое значение ключа записи и флаг опций. Возможности метода проявляются при поиске вариантных значений записи в нескольких столбцах таблицы. Обобщенный синтаксис описания метода имеет следующий вид: bool_fastcall Locate(const AnsiString KeyFields, Const Variant SKeyValues, TLocateOptions Options);

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

1.3 Описание используемых компонент

1.3.1TMainMenu

Создает панель команд главного меню и соответствующие им выпадающие меню для формы. Идентификаторы всех команд меню определяются свойством Items, которое имеет доступ к любой конкретной команде меню.

1.3.2 TLabel

Отображает на форме прямоугольную область статического текста, который нельзя редактировать. Обычно текст представляет собой название другой компоненты. Текс названия является значением свойства Caption. Свойство Alignment определяет способ выравнивания текста. Чтобы размер шрифта автоматически соответствовал максимальному заполнению области, установите значение true свойства AutoSize.

1.3.3 TEdit

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

1.3.4 TComboBox

Отображает прямоугольную область, в которую пользователь может ввести текст, либо выбрать его из списка.

1.3.5 TDataSource

Представляет собой интерфейс между прочими компонентами доступа к наборам данных и видимыми компонентами управления, размещенными на форме. Именно посредством соединения с источником данных пользователь получает возможность отображения, навигации и редактирования содержимого баз данных. Каждый набор данных должен ассоциироваться с источником, чтобы манипулировать данными посредством компонент управления. С другой стороны, каждая компонента управления должна ассоциироваться с источником, чтобы она могла принимать данные и манипулировать ими. Компоненты TDataSource также способны организовать парные связи таблиц между собой по принципу master-detail и поддерживать синхронизацию обмена. Установка значения false свойства AutoEdit запрещает режим редактирования набора данных. Свойство DataSet указывает с каким набором данных (таблицей, запросом) связан их источник.

1.3.6 TTable

Представляет собой интерфейс между механизмом BDE и компонентой TDataSource, которая, в свою очередь, образует соединение с такими компонентами управления, как TDBGrid. Именно посредством TTable, обеспечивается доступ на этапе проектирования к “живым данным” (live data) из таблицы локальной базы данных: все записи или столбцы адресуемой таблицы сразу же становятся доступными для приложений. Свойство Active устанавливает активное состояние связи с таблицей, чтобы можно было увидеть на форме “живые данные”. Свойство DatabaseName содержит псевдоним адресуемой базы данных или полный путь к ее каталогу, а свойство TableName содержит псевдоним - имя таблицы. Установите значение true свойства ReadOnly, ели хотите запретить изменения содержимого таблицы.

1.3.7 TDBGrid

Осуществляет отображение и редактирование записей, содержащихся в наборе и представляемых на регулярной сетке. Совместное использование сетки с компонентой TDBNavigator позволяет наилучшим способом организовать просмотр и редактирования содержимого базы данных. Вы должны связать TDBGrid с набором данных посредством компоненты источника TDataSource, который идентифицирует значением свойства DataSource. Свойство Columns содержит редактируемый список названий заголовков столбцов в сетке. Окно редактора столбцов открывается кнопкой в графе значений этого свойства или опцией Columns Editor из контекстного меню компоненты.

Свойство Fields содержит массив всех полей набора данных, изображаемых в сетке во время работы программы, свойство FieldCount - их число, а свойство SelectedField - поле, выбранное в данный момент. Значение true свойства ReadOnly запрещает, а значение false разрешает редактирование данных при условии, что набор данных находится в режиме редактирования. Прервать редактирование можно нажатием клавиши Esc или аналогичной кнопки на панели навигатора. Фактическое изменение данных в полях происходит только после того, как выбрана новая запись, или при выходе из программы.

1.3.8 TDBNavigator

Навигатор базы данных TDBNavigator используется для перемещений по записям набора данных и выполнения операций по их просмотру и редактированию. Панель управления навигатора размещается на форме вместе с другими компонентами визуальных данных, как правило с сеткой. Когда пользователь нажимает одну из кнопок на панели навигатора, выполняется надлежащее действие над записью в наборе данных, с которыми связан навигатор. Например, при нажатии кнопки “+” пустая запись вставляется в таблицу перед текущей записью.

2. Программная реализация приложения «Автоматизация проведения оценки имущества и недвижимости»

2.1 Структура проекта

Приложение реализовано в среде Borland C++builder 6.0.

Структура проекта «Автоматизации проведения оценки имущества и недвижимости»,представлен на рисунке 2.

Рисунок 2. Структура проекта разработанной программы


Подобные документы

  • Визуальная разработка приложений баз данных. Характеристика визуальных компонентов среды разработки Builder 6.0, используемых в данном приложении. Программная реализация приложения, разработка форм и вкладок. Тестирование приложения, листинг программы.

    курсовая работа [3,1 M], добавлен 28.03.2011

  • Характеристика программных продуктов: MySQL, MSSQL, MSAccess. Разработка базы данных в среде C++Builder. Описание таблиц и установление связей между ними. Реализация функций просмотра, добавления, редактирования БД с применением языка запросов SQL.

    курсовая работа [393,0 K], добавлен 13.06.2015

  • Реализация программного кода "Organizer 1.0". Разработка приложений баз данных с помощью Borland C++ Builder 6. Компоненты системы программирования для работы по технологии InterBase. Программный код и интерфейс "Organizer 1.0", структура приложения.

    курсовая работа [466,9 K], добавлен 28.07.2009

  • Реализация проекта по оптимизации отделений почтовой связи. Направления деятельности в области кадровой политики. Автоматизация обработки получаемой техническим отделом информации. Разработка приложения клиент-сервер. Описание клиентского приложения.

    курсовая работа [34,3 K], добавлен 07.08.2013

  • Визуальное проектирование и событийное программирование. Повышение производительности программиста при использовании RAD-систем. Составление алгоритмов, разработка приложения для решения прикладных задач на примере консольных приложений C++ Builder 6.

    курсовая работа [258,7 K], добавлен 30.10.2013

  • Разработка приложения "Ведомость начисления заработной платы" в среде программирования C++Builder. Алгоритм и сценарий работы программы. Проектирование интерфейса пользователя. Написание программных модулей и результаты тестирования данной программы.

    курсовая работа [597,4 K], добавлен 31.01.2016

  • Склад ОАО "Ориенбанк", его специфика и структура. Описание структуры базы данных складского учета для предприятия. Разработка пользовательского интерфейса программы. Инструкция к применению базы данных. Автоматизация операций и учета средств банка.

    курсовая работа [4,7 M], добавлен 26.02.2010

  • Среда разработки C++ Builder. Использование видимых и невидимых компонентов. Прототип обработчика событий. Менеджер проектов. Установка опций проекта. Создание приложений в С++ Builder. Создание простейшего приложения. Размещение компонентов на форме.

    курсовая работа [226,9 K], добавлен 24.03.2009

  • C++ Builder - SDI-приложение, главное окно которого содержит настраиваемую инструментальную панель и палитру компонентов. Свойства атрибутов компонента, определяющие его внешний вид и поведение. События, методы и VCL компоненты в среде C++ Builder.

    курсовая работа [225,9 K], добавлен 12.02.2009

  • Создание и реализация программы в среде визуального программирования С++ Builder. Разработка ее алгоритма. Описание компонентов и их свойств, используемых в структуре приложения. Создание кнопок создания турниров по круговой системе и на выбывание.

    курсовая работа [4,6 M], добавлен 12.11.2013

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.