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 Мб (Скачать)

    Для корректного отображения русских  букв и установки правильного  порядка алфавитной сортировки можно  попытаться использовать какой-либо из русскоязычных драйверов dBase или Paradox. Однако следует помнить, что некоторые ODBC-драйверы имеют свои процедуры настройки, которые могут, в частности, включать опцию перекодировки OEM->ANSI (т.е. DOS->Windows). Кроме того, если доступ через ODBC осуществляется к какой-либо серверной СУБД, следует обратить внимание на возможности языковой настройки сервера и клиентской части.

      Oracle

Для настройки  доступа к серверам Oracle следует  настроить примерно тот же набор  параметров, что и в случае ODBC-источников. Помимо этого, для драйвера ORACLE существует дополнительный набор параметров:

Параметр Описание Значение  по умолчанию
VENDOR INIT Имя библиотеки для соединения клиента с сервером (ORANT.DLL, ORA72.DLL и др.) ORANT.DLL
SERVER NAME Имя псевдонима (alias) БД, указанного в файле TNSNAMES.ORA. Если сервер локальный, то SERVER NAME=@2:  
NET PROTOCOL TNS - если  используется SQL*Net версии 2.0 или выше, или имя сетевого протокола  для доступа к серверу, если  используется более ранняя версия SQL*Net.  
ENABLE SCHEMA CASHE Разрешается ли кэширование на рабочей станции структуры таблиц, содержащихся на сервере. FALSE
SCHEMA CASHE DIR Каталог для  кэширования структуры таблиц. 1.0
ENABLE BCD Разрешен  ли перевод числовых и денежных величин  в формат BCD (binary coded decimals) во избежание  ошибок округления. FALSE
ENABLE INTEGERS Разрешено ли преобразование числовых величин  с фиксированной запятой в  целый формат. FALSE
LIST SYNONYMS Разрешены ли синонимы (альтернативные имена  таблиц и представлений) в структурах таблиц: NONE - нет, PRIVATE - разрешены личные синонимы, ALL - разрешены личные и общие синонимы. NONE

Проблемы  установки соединения с Oracle из приложений Borland связаны главным образом  с правильной настройкой сетевого программного обеспечения Oracle SQL*Net. Последние версии серверов Oracle (7.2, 7.3) содержат в своем составе SQL*Net версии 2.0 или выше. Для конфигурации SQL*Net 2.0 и выше следует настроить псевдонимы баз данных Oracle с помощью утилиты SQL*Net Easy Configuration, описав сетевое имя или адрес сервера, имя базы данных и тип сетевого протокола. После этого рекомендуется проверить наличие соединения с сервером с помощью утилиты Oracle SQL Plus. Только после проверки соединения можно конфигурировать псевдоним BDE.

    При конфигурации псевдонима BDE в качестве сетевого протокола можно указать TNS (Transparent Network Substrate - высокоуровневая надстройка Oracle над сетевыми протоколами). В качестве имени сервера следует указать имя псевдонима базы данных Oracle, указав перед этим именем символ '@' (об этом в документации не сказано). Для локального сервера (или в случае, когда клиентское приложение функционирует на одном компьютере с сервером баз данных, например, Oracle Workgroup Server for Windows NT) в качестве имени сервера можно использовать строку '@2:' .

    Для корректного отображения русских букв и установки правильного порядка алфавитной сортировки можно использовать драйверы dBase RUS CP866 или Paradox ANSI Cyrillic в зависимости от того, какая кодировка - DOS или Windows - будет использоваться. Однако корректная работа с русским языком будет обеспечена только в том случае, если удачно подобрано сочетание трех параметров языковой настройки: языковой настройки сервера (она указывается при его установке), языковой настройки клиентской части (значение HKEY_LOCAL_MACHINE//SOFTWARE)//ORACLE//NLS_LANG реестра Windows 95) и собственно языкового драйвера BDE. Подробности языковой настройки клиентской части и сервера можно найти в документации к серверу Oracle.

      InterBase

Для настройки  доступа к серверам InterBase следует  настроить примерно тот же набор параметров, что и в случае ODBC-источников. Помимо этого, для InterBase существует дополнительный набор параметров:

Параметр Описание Значение  по умолчанию
BLOBS TO CACHE Определяет, сколько BLOB-полей кэшируется на рабочей  станции. Возможные значения: 64 - 65536 64
BLOB SIZE Определяет  размер буфера для BLOB-полей, передаваемых в результате запроса. Возможные  значения - 32-100 К. Параметр применим только в случае нередактируемых данных 32 К

Отметим, что  при соединении с локальным сервером InterBase следует указывать путь к файлу базы данных.

    При возникновении проблем связи C++ Builder с InterBase следует проверить наличие  связи с помощью утилиты Interactive SQL. При наличии связи в Interactive SQL следует проверить параметры конфигурации драйвера и псевдонима BDE, а при отсутствии - попробовать найти ошибки в сетевом протоколе, проверив соединение с помощью утилит PING и TELNET.

    Более подробно о работе с C++ Builder можно  узнать из книги Н.З.Елмановой и  С.П.Кошеля "Borland C++ Builder", выходящей в августе в издательстве "Диалог-МИФИ".  
 
 
 
 
 
 

      Создание  отчетов

Наталия Елманова

      Содержание

  • Введение
  • Создание простого отчета
  • Создание отчетов "master-detail"
  • Отображение графических и мемо-полей в отчетах
  • Предварительный просмотр отчетов

      Введение

Для генерации  отчетов в C++ Builder используется страница QReport на палитре компонентов. Этот набор компонентов позволяет проектировать отчеты на основе таблиц, запросов, списков, текстовых файлов, массивов, используя дизайнер форм C++ Builder.

    В комплект поставки C++ Builder входят три  шаблона отчетов, содержащиеся на странице Forms репозитария объектов:

Шаблон Описание
QuickReport Mailing Labels Шаблон  для создания почтовых этикеток
QuickReport List Шаблон  для создания простого табличного отчета
QuickReport Master/detail Шаблон  для создания отчета Master/Detail.

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

      Создание  простого отчета

Отчеты QuickReport основаны на наборе горизонтальных полос (bands). При построении отчета на форму помещаются несколько компонентов QRBand (наследник TPanel) различных типов.

    Для создания простейшего отчета разместим  на форме следующие компоненты (рис. 1):

  • TQRBand - компонент, представляющий собой часть отчета - контейнер для размещения данных (например, заголовок отчета, верхний или нижний колонтитул страницы, верхний или нижний колонтитул группы и др.). Компоненты TQRBand печатаются в зависимости от их типа в необходимых местах отчета, независимо от их взаимного расположения на форме. Наиболее часто используемое свойство этого компонента – BandType, тип "полосы" (колонтитул страницы или группы, "полоса" данных и др.). Возможные значения: rbTitle – заголовок отчета, rbPageHeader – верхний колонтитул страницы, rbColumnHeader – верхний колонтитул колонки в многоколоночном отчете, rbDetail – полоса с табличными данными (повторяется столько раз, сколько строк имеется в наборе данных, авляющемся основой отчета), rbPageFooter – нижний колонтитул страницы, rbOverlay – фон страницы, печатается в левом верхнем углу каждой страницы, rbGroupHeader – заголовок группы, rbSubDetail – "полоса" табличных данных для Detail-таблицы, rbGroupFooter – нижний колонтитул группы, rbSummary – печатается в конце отчета). Свойству BandType созданного нами компонента присвоим значение rbTitle
  • TQuickReport (этот компонент отвечает за превращение формы в отчет).
  • TQRLabel, помещенный на QRBand1 (этот компонент предназначен для вывода статического текста, и его свойству Caption можно присвоить значение, равное тексту заголовка будущего отчета).

Рис. 1. Создание заголовка отчета

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

    Для модификации отчета следует изменить свойство BandType компонента QRBand1 на rbDetail и добавить на форму компонент TTable. Далее нужно установить его свойство DataBase равным имени псевдонима, например, BCDEMOS, свойство TableName равным имени таблицы, например, CUSTOMER.DB, а затем свойство Active равным true. После этого нужно добавить на форму компонент TDataSource и установить его свойство DataSet равным имени добавленного ранее компонента Table1, а затем установить свойство DataSource компонента QuickReport равным имени созданного компонента DataSource1. После этого можно добавить компонент TQRDBText на QRBand1(этот компонент предназначен для вывода содержимого полей таблицы или запроса, служащего источником данных проектируемого отчета), установить свойство DataSource равным имени созданного ранее компонента DataSource1 и выбрать нужное поле в качестве значения свойства DataField. Если есть необходимость, можно добавить другие компоненты TQRDBText и выбрать другие поля таблицы для отображения в отчете (рис. 2).

Рис. 2. Модификация табличного отчета

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

    Теперь  попробуем создать отчет с  заголовком отчета и колонтитулами. Для этого нужно использовать при создании отчета несколько различных компонентов TQRBand.

    Для создания отчета с заголовком и колонтитулами  следует cоздать новую форму, разместить четыре компонента TQRBand на форме (они  получат по умолчанию имена QRBand2,...., QRBand5) и установить их свойства BandType равными соответственно rbTitle, rbColumnHeading, rbDetail и rbPageFooter. Далее следует добавить на форму компонент TTable и установить его свойство DatabaseName равным BCDEMOS, свойство TableName равным Customer, а затем свойство Active равным true. Затем нужно добавить на форму компонент TDataSource и установить в его свойстве DataSet имя добавленного ранее компонента Table1 и установить свойство DataSource компонента QuickReport равным имени созданного компонента DataSource1. Затем следует добавить несколько компонентов TQRLabel в качестве заголовка отчета и столбцов поверх соответствующих компонентов TQRBand, присвоив необходимые значения свойству Caption каждого из них.

    Затем следует разместить три компонента QRDBText на компонент QRBand со свойством BandType, равным DetailBand и установить их свойства DataSource равными DataSource1, а свойства DataField равными Company, Phone и Fax. Наконец, для отображения номера страницы нужно поместить компонент TQRSysData (этот компонент предназначен для вывода сведений, не зависящих от содержимого данных, таких как номер страницы, дата, время и др.) на компонент TQRBand со свойством BandType, равным rbPageFooter и установить его свойство Data равным qrcPageNumber, а свойство Text равным “Стр. “

    После этого форма будет выглядеть, как на рис. 3.

    Можно снова выбрать опцию Preview Report и  просмотреть содержание нового отчета.

Рис.3. Отчет с заголовком и колонтитулами

      Создание отчетов "master-detail"

Преобразуем созданный отчет в отчет "master-detail". Для этого следует добавить компонент TTable, установить его свойство DatabaseName равным BCDEMOS, свойство TableName равным ORDERS.DB, а затем установить свойство Active равным true. После этого установим свойство MasterSource равным DataSource1. Затем выберем свойство MasterFields, вызвав диалоговую панель для установки связи master/detail (рис. 4 ) и из списка доступных индексов выберем CustNo. Затем выделим имя поля CustNo в обоих списках полей и нажмем кнопку Add, а кнопку OK.

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