BorlandC++Builder1

Автор: Пользователь скрыл имя, 09 Октября 2011 в 01:57, статья

Краткое описание

Borland C++ Builder - выпущенное недавно компанией Borland средство быстрой азработки приложений, позволяющее создавать приложения на языке C++, используя при этом среду разработки и библиотеку компонентов Delphi. В настоящей статье рассматривается среда разработки C++ Builder и основные приемы, применяемые при проектировании пользовательского интерфейса.

Оглавление

Введение
Среда разработки C++ Builder
Компоненты C++ Builder
Свойства компонентов
События
Методы
Менеджер проектов
Создание приложений в С++ Builder
Пример: создание простейшего приложения

Файлы: 1 файл

BorlandC++Builder1.doc

— 1.61 Мб (Скачать)

    Чтобы внести компонент TTable в форму, нужно  выполнить следующее:

    1. Используя страницу Data Access палитры  компонентов, разместить компонент  TTable на форме или в модуле  данных.

    2. Свойству DatabaseName присвоить имя каталога, где находится БД, либо псевдо  има БД.

    3. Свойству TableName присвоить имя таблицы  или выбрать таблицу из выпадающего  списка.

    4. Внести в форму компонент DataSource и установить значение свойства DataSet равным имени компонента TTable.

    5. Внести компоненты Data Controls и связать  их с компонентом DataSource для  того, чтобы отобразить на экране  данные из таблицы БД.

      Компонент TField

Объекты класса TField являются свойством объекта TDataSet (напомним, что некоторые свойства объектов сами являются объектами с их собственными наборами свойств, и TField - один из них).

    Свойство Fields объекта типа TDataSet позволяет  обращаться к отдельным полям  набора данных. Свойство Fields является массивом или набором объектов TField, динамически создающимся во время выполнения приложения. Элементы массива соответствуют колонкам таблицы.

    Объект TField не делает никаких предположений  относительно типов данных, с которыми он связан. Он имеет несколько свойств, позволяющих установить или вернуть обратно значения поля, например, AsString, AsBoolean, AsFloat, AsInteger. Наиболее часто используются свойства Text (cтрока текста, выводимого в связанный с данным полем интерфейсный элемент) и FieldName (имя поля базы данных).

    Fields Editor позволяет создать так называемый статический список полей таблицы, добавляемых к описанию класса формы. Когда впервые используются такие компоненты TDataSet, как компонент TTable или TQuery, список полей для них динамически генерируется в процессе выполнения приложения на основе имеющихся столбцов таблиц или результатов SQL-запроса. Fields Editor позволяет определить и затем модифицировать статический список компонентов Field на этапе проектирования приложения. При внесении колонок с использованием Fields Editor для каждого из полей, добавленных к TDataSet, возникают объекты TField, после чего можно увидеть эти поля в инспекторе объектов и использовать в приложениях их свойства, события и методы.

    Использовать Fields Editor нужно следующим образом:

  1. Разместить компонент TTable или TQuery на форме.
  2. Установить свойство DatabaseName для TTable или TQuery.
  3. Установить свойство TableName компонента TTable или свойство SQL компонента TQuery.
  4. Выбрать компонент TDataSet на форме и нажать правую клавишу мыши, после чего появится контекстное меню.
  5. Из контекстного меню выбрать Fields Еditor. Появится пустое окно с заголовком, совпадающим с именем компонента TTable.
  6. Снова нажать правую клавишу мыши над пустым окном и из контекстного меню выб ать опцию Add Fields.

Имена всех колонок таблицы или запроса  появятся в диалоговой панели Add Fields (рис. 1.)

Рис.1. Формирование списка полей

  1. Выбрать поля, которые нужно внести в список объектов, и нажать OK.

Рис. 2. Сформированный список полей, доступных  на этапе проектирования

  1. Если требуется создать вычисляемое поле на основе имеющихся полей, нажать правую клавишу мыши и из контекстного меню выбрать New Field для создания нового поля на основе существующего или для создания вычисляемого поля (в дальнейшем следует создать код обработчика события OnCalcFields компонента TTable, где и производятся необходимые вычисления).
  2. Если необходимо удалить статическое поле из списка полей в наборе данных, нужно нажать правую клавишу мыши и из контекстного меню выбрать Delete.

После того, как в Fields Editor добавлены поля, они  появятся в инспекторе объектов, а ссылки на них - в h-файле формы.

    Если  теперь применить операцию drag-and-drop к выделенным в Fields Editor полям, перенеся их на форму, то можно получить готовую  форму с необходимым набором  интерфейсных элементов (в нашем  случае - DBEdit, позволяющий отображать и редактировать строковые, числовые, денежные и другие поля, чьи значения представимы в виде строки символов, и DBImage, позволяющий отображать графические поля и использовать Clipboard для их редактирования). Если к такой форме добавить компонент TDBNavigator (этот компонент реализует основные методы TTable и TQuery, связанные с редактированием данных) и связать его с имеющимся компонентом TDataSource, а затем скомпилировать проект, получим приложение для просмотра и редактирования данных в таблице.

Рис. 3. Результат переноса на форму полей  из Fields Editor

    При работе Fields Editor создаются объекты, соответствующие  видимым в инспекторе объектов полям. Эти объекты являются потомками объектного типа TField. Таблица 1 описывает существующие классы таких объектов:

Таблица 1. Потомки TField

Потомок Описание 
TStringField Текстовые данные фиксированной длины до 8192 символов.
TAutoIncField Целые числа  от -2,147,483,648 до 2,147,483,647. Предназначен для  нумерации ст ок в наборе данных. Потомок TIntegerField.
TIntegerField Целые числа  от -2,147,483,648 до 2,147,483,647.
TSmallIntField Целые числа  от -32768 до 32767.
TWordField Целые числа от 0 до 65535.
TFloatField Действительные  числа с абсолютной величиной  от 1.2x10e-324 до 1.7x10e308 с точностью до 15-16 цифры.
TCurrencyField Действительные  числа с абсолютной величиной  от 1.2x10e-324 до 1.7x10e308 с точностью до 15-16 цифры.
TBooleanField Значения true или false.
TDateTimeField Значения  даты и времени.
TDateField Значения  даты.
TTimeField Значения  времени.
TBlobField Произвольное  поле данных без ограничений размера.
TBytesField Произвольное  поле данных без ограничений размера.
TVarBytesField Произвольное  поле данных до 65535 символов с фактической  длиной, представленной в первых двух байтах.
TMemoField Текст произвольной длины.
TGraphicField Графическое поле произвольной длины, например, битовый  массив.

      Компонент TDBGrid

Компонент TDBGrid обеспечивает табличный способ отображения на экране строк данных из компонентов TTable или TQuery. Приложение может использовать TDBGrid для отображения, вставки, уничтожения, редактирования данных БД. Обычно DBGrid используется в сочетании с DBNavigator, хотя можно использовать и другие интерфейсные элементы, включив в их обработчики событий методы First, Last, Next, Ptior, Insert, Delete, Edit, Append, Post, Cancel компонента TTable.

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

Рис. 4. Установка свойств столбцов DBGrid с помощью Columns Editor

    Вторым  способом получения контроля над  характеристиками DBGrid или другими компонентами является создание описанным выше способом статического набора компонентов TField. Имея компонент типа TField, созданный для каждого из полей в наборе данных, можно установить ширину, формат, маску, расположение, метку для отображения в DBGrid и другие характеристики.

    Поля Float, Integer и Date обладают свойством DisplayMask. Это свойство можно использовать, чтобы форматировать данные в  компоненте DBGrid или другом компоненте Data Controls. Например, экранный формат mm-dd-yy может использоваться для размещения полей типа дата.

    Некоторые компоненты TField (например, TStringField) обладают свойством EditMask, которое можно установить, вводя данные в DBGrid и другие компоненты Data Controls. Для установки свойства EditMask нужно установить компонент Field в Object Inspector и выбрать свойство EditMask, после чего появится диалоговая панель Input Mask Editor, представленная на рис. 5.19. Чтобы проверить маску редактирования, нужно ввести значение в поле Test Input.

Рис. 5. Диалоговая панель Input Mask Editor

      Пример 1. Разработка простейшего  приложения

Попробуем создать простейшее приложение для  редактирования таблицы БД. Для этого  воспользуемся таблицей COUNTRY базы данных BCDEMOS, содержащейся в комплекте поставки C++ Builder.

    Создадим  новый проект и сохраним его главную  форму как COUNT1.CPP, а сам проект как COUNT.MAK. Используя страницу Data Access палитры компонентов, разместим  компоненты TTable и DataSource на форме. Установим свойство Database Name компонента Table1 равным BCDEMOS, свойство TableName равным COUNTRY.DB, а свойство Active равным true. Далее установим значение свойства DataSet компонента DataSource1 равным Table1.

    Используя страницу Data Controls палитры компонентов, внесем компоненты DBGrid и DBNavigator в форму. Присвоим свойству DataSource обоих компонентов значение DataSource1.

Рис. 6. Главная форма приложения COUNT

    Полученный  проект можно скомпилировать и протестировать.

    Отметим, что есть и более простой способ построить подобное приложение. Для  этой цели можно воспользоваться  утилитой SQL Explorer, вызываемой с помощью  пункта меню Database/Explore. Выбрав страницу Databases в левой части окна SQL Explorer и щелкнув на значке "+" возле имени соответствующей базы данных, нужно выбрать опцию Tables. Затем в правой части окна нужно выбрать закладку Summary и перетащить с помощью мыши значок с именем нужной таблицы (в нашем случае COUNTRY.DB) на пустую форму. На форме появятся компоненты TDBGrid, TDataSource и TTable. После этого следует добавить DBNavigator, связать его с TDataSource и сделать таблицу активной.

Рис. 7. SQL Explorer

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

Таблица, используемая в предыдущем примере, содержит поля Area (площадь в кв.км ) и Population (население). Попробуем создать вычисляемое поле, содержащее п отность населения стран, представленных в этой таблице. Для этого запустим Fields Editor для компонента Table1, внесем все поля этой таблицы в набор данных и создадим новое поле с названием pop2. Выберем Float в списке Field type. Убедимся, что выбрана радиокнопка Calculated, и щелкнем на кнопке OK

Рис. 8. Создание вычисляемого поля

    Создадим  обработчик события OnCalcFields компонента TTable:

Table1pop2->Value=Table1Population->Value/Table1Area->Value;

Установим значение свойства DisplayFormat компонента Table1Pop2 равным .## . Запустим и протестируем приложение и убедимся в том, что  вычисляемое поле действительно присутствует.

      Компоненты TDBLookup

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

    C++ Builder предоставляет четыре компонента  для просмотра и ввода значений в таблицы:

  • Компонент TDBLookupListBox (страница Data Controls)
  • Компонент TDBLookupComboBox(страница Data Controls)
  • Компонент TDBLookupList (страница Win 3.1)
  • Компонент TDBLookupCombo(страница Win 3.1)

Информация о работе BorlandC++Builder1