на многостраничной панели инструментов




Укажем назначение вкладок многостраничной панели инструментов, расположен­ной в верхней правой части окна визуального конструктора отчетов. Компоненты, используемые при создании отчетов, расположены на следующих вкладках:

Drawing — графические компоненты, повышающие наглядность оформления отчета;

Ваг Code — компоненты, задающие различные варианты штрихкода;

Standard — компоненты, задающие отображение текста и графики;

Report — компоненты, предназначенные для отображения данных из внеш­них источников.

Элементы, управляющие параметрами объектов отчета (цвет линий, шрифт, выравнивание) и масштабом отображения отчета, расположены на следующих вкладках:

Zoom — компоненты, управляющие масштабом отображения текущей страницы;

Colors — компоненты, задающие цвета для графических компонентов и стра­ниц;

Lines — компоненты, задающие стиль и толщину линий графических компо­нентов;

Fills — компоненты, задающие заливку графических компонентов;

Fonts — компоненты, задающие параметры шрифта для текста;

Alignment — компоненты, задающие выравнивание графических компонентов на странице.

Добавление компонентов в отчет выполняется традиционным для систем визу­ального программирования способом: щелчком мыши требуемый компонент выбирается на палитре и повторным щелчком мыши размещается в нужном месте страницы отчета. Дадим краткую характеристику компонентам, располо­женным на различных страницах панели инструментов.

Страница Drawing многостраничной панели инструментов содержит компонен­ты, обеспечивающие создание графических объектов.

Компоненты Line, mine и viine служат для рисования универсальной, гори­зонтальной и вертикальной линий соответственно. Все они имеют набор свойств, определяющих длину и местоположение на странице отрезка линии. Для компонента Line отрезок можно развернуть произвольным образом визу­ально (с помощью мыши). Для двух других компонентов поворот отрезка также возможен, но не визуально, а только путем изменения свойств компонентов.


308


Часть II. Технологии доступа к данным


Компоненты Rectangle и Square служат для рисования прямоугольника и квадрата, а компоненты Ellipse и circle — для рисования эллипса и круга соответственно. Эти четыре компонента также имеют набор свойств, опреде­ляющих их размеры и местоположение на странице.

Страница Ваг Code многостраничной панели инструментов содержит компонен­ты, задающие штрихкоды, которые реализуют различные стандарты.

Компонент PostNetBarCocle соответствует коду PostNet почтовой службы США, задающему код адреса.

Компонент i2of 5BarCode соответствует перемежающемуся коду I2of5 и служит для задания числовых последовательностей, в которых цифры поочередно коди­руются штрихами и пробелами.

Компонент Code3 9BarCocle соответствует коду Code39 и служит для кодирова­ния цифр, заглавных латинских букв и ряда символов с помощью штрихов и пробелов.

Компонент Coclel2 8BarCocle соответствует коду Codel28 и служит для представ­ления первых 128 символов кода ASCII.

Компонент UPCBarCode соответствует коду UPC (Universal Product Code) и слу­жит для маркировки продуктов, может включать до 12 цифр.

Компонент EANBarCode соответствует коду EAN (European Article Numbering system), аналогичен коду UPC, может включать до 13 цифр.

Для всех компонентов кодируемое значение задается свойством text. Оно мо­жет быть также загружено из базы данных с помощью свойств FileLink и DataLink.

С помощью свойства BarCodeRotation штрихкод можно поворачивать с дис­кретностью 90°.

Страница Standard многостраничной панели инструментов содержит компонен­ты, задающие отображение текста и графики.

Компонент text служит для отображения однострочного текста. Сам отобра­жаемый текст задается с путем редактирования в Инспекторе компонентов от­чета значения свойства text этого компонента. Непосредственно на странице отчета отображаемый текст редактировать нельзя.

Компонент memo служит для отображения многострочного текста. Отображае­мый компонентом текст определяется свойством text, которое в Инспекторе компонентов отчета визуального конструктора связано с многострочным тексто­вым редактором Memo Editor.

Остальные свойства компонентов text и memo позволяют настроить цвет, шрифт, выравнивание местоположения текста и др.

Компонент section (секция) является невизуальным и предназначен для объе­динения в одну группу нескольких компонентов, к примеру, строк текста и изо­бражений внутри заголовка отчета. Все размещенные внутри секции компонен-


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


309


ты можно по отдельности перемещать в пределах секции, а при перемещении секции по странице вместе с секцией перемещаются и они. Выравнивание ком­понентов внутри секции осуществляется относительно ее границ.

Компонент Bitmap служит для отображения растровых изображений, хранящихся в файлах формата BMP. Отображаемый компонентом рисунок определяется с помощью свойства image, которое в Инспекторе компонентов отчета визуаль­ного конструктора связано с диалогом загрузки файла изображения.

Компонент MetaFile служит для отображения изображений, хранящихся в файлах форматов EMF и WMF. Отображаемое компонентом изображение опре­деляется с помощью свойства image, которое в Инспекторе компонентов отчета визуального конструктора также связано с диалогом загрузки файла изображе­ния. При этом файлы формата WMF таким способом загрузить нельзя, для этой цели нужно использовать свойство FileLink или DataField.

Изображения, отображаемые с помощью компонентов Bitmap и MetaFile, можно масштабировать. При этом учитывается свойство Matchside. При зна­чениях этого свойства msHeight или mswidth (по умолчанию) высота или ши­рина изображения соответственно устанавливаются равными высоте (свойство Height) или ширине (свойство width) исходной области, выделенной под изо­бражение, а ширина или высота изображения соответственно устанавливаются с сохранением пропорций изображения. Если свойство Matchside имеет значение msBoth, то ширина и высота изображения устанавливаются равными ширине и высоте выделенной области, при этом пропорции изображения могут быть на­рушены. При значении msinside этого свойства изображение помещается внут­ри выделенной области с сохранением пропорций.

Компонент FontMaster является невизуальным и предназначен для задания единых параметров шрифта для группы компонентов отчета. С его свойством Font в Инспекторе компонентов отчета связано диалоговое окно определения параметров шрифта. Эти параметры шрифта служат для определения парамет­ров шрифта всех компонентов отчета, в свойстве FontMirror которых указан данный компонент FontMaster.

Компонент PageNuminit является невизуальным и предназначен для задания нумерации страниц, начиная с той, где он расположен. Начальный номер при этом определяется свойством initvalue. При необходимости его значение можно загрузить из базы данных с помощью свойств initDataView и InitDataField.

Компоненты отображения данных

Страница Report многостраничной панели инструментов визуального конструктора отчетов содержит компоненты, служащие для представления данных. Их можно разделить на компоненты отображения данных из связанных с ними полей просмотра данных и компоненты управления структурой размещения данных (структурные компоненты), на которые помещаются


310


Часть II. Технологии доступа к данным


ных (структурные компоненты), на которые помещаются компоненты отобра­жения данных.

К компонентам отображения данных относятся следующие.

□ Компонент DataText служит для представления строковых или числовых значений полей связанного с ним просмотра данных.

□ Компонент DataMemo обеспечивает представление данных формата Memo или BLOB.

□ Компонент CalcText служит для представления результатов вычисления аг­регатной функции по значениям связанного поля. Выполняемая функция выбирается из списка возможных значений свойства CalcType.

□ Компонент DataMirrorSection является невизуальным и подобно своему по­томку Section служит для объединения других компонентов в одну группу.

У всех указанных компонентов представления данных свойство DataView задает связь с просмотром данных, а свойство DataField задает связь с полем про­смотра, данные из которого отображаются компонентом.

К структурным компонентам относятся следующие.

□ Компонент Region служит для выделения области (части страницы отчета), на которой размещаются другие компоненты отображения данных. Более то­го, компоненты Band и DataBand размещаются только в области, определяе­мой компонентом Region. Свойство Columns этого компонента определяет число колонок при печати соответствующей части отчета.

□ Компонент Band задает полосу отчета, на которой располагаются другие компоненты отчета — отображения текста и графики, штрихкоды, отображе­ния данных. Эта полоса служит для оформления заголовков, сносок, верхних и нижних колонтитулов и других фрагментов отчета, не изменяющиеся при печати просмотра данных.

□ Компонент DataBand задает полосу отчета, представляющую модель строки просмотра данных. На ней размещают компоненты отображения данных. При печати для каждой строки просмотра данных выводится новый экземп­ляр полосы со всеми расположенными на ней компонентами отчета. Тем са­мым в отчете построчно отображается весь просмотр данных.

У компонентов Band и DataBand имеется свойство, которое определяет стиль (назначение и поведение) полосы отчета. С этим свойством в Инспекторе ком­понентов отчета связан редактор стиля полосы Band Style Editor. В его окне (рис. 11.5) отображается взаимосвязь полос (компонентов Band и DataBand) в общей области (определяемой компонентом Region) и настраивается стиль те­кущей полосы.

В левой части окна редактора Band Style Editor отображается список полос облас­ти со взаимосвязями (реляционные отношения, группировка и вложенность и т. д.). Текущая полоса выделяется полужирным начертанием с подчеркиванием.


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


311


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

В правой части окна редактора Band Style Editor с помощью группы флажков Print Location задается назначение текущей полосы отчета: Body Header (В) — заголовок в начале отчета; Group Header (G) — заголовок в начале группы, оп­ределенной в просмотре с помощью выражения *5283 by; Row Header (R) — заголовок в начале каждой записи; Detail (D) — заголовок в начале подчиненного набора записей в отношении "один-ко-многим"; Row Footer (г) — окончание записи; Group Footer (g) — окончание группы записей; Body Footer (b) — окончание отчета. С помощью группы флажков Print Occurrence задается местоположение полосы в отчете: First (1) — на первой странице; New Page (Р) — на новой странице, New Column (С) — в начале каждой колонки отчета.

Компоненты DataCycle, Calc2p, CalcTotal и CalcController являются неви­зуальными и предоставляют ряд дополнительных возможностей по вычислению данных на основе просмотров и отображению их в отчетах.


312


Часть II. Технологии доступа к данным


Компоненты управления отчетом

Компоненты, предназначенные для управления отчетами, находятся на страни­це Rave Палитры компонентов главного окна Delphi. С помощью этих компо­нентов можно выполнить все действия по настройке параметров, установлению соединения с источником данных, предварительному просмотру и печати имеющегося отчета с использованием генератора отчетов Rave Reports. Другое дело, что ряд этих действий, например предварительный просмотр и печать от­чета, удобнее выполнить с использованием визуального конструктора отчетов Rave Reports.

Ниже кратко освещены важнейшие компоненты управления отчетом, без кото­рых практически невозможны предварительный просмотр и печать отчетов вне среды визуального конструктора отчетов.

Компонент-проект отчета

При подготовке и использовании отчета обязательным является использование компонента-проекта отчета RvProject. С помощью свойства ProjectFile типа string этого компонента в окне Инспектора компонентов отчета или про­граммно устанавливается связь с проектом отчета (файлом проекта отчета с расширением rav). Например:

RvProjectl.ProjectFile:='С:\Program

Files\Borland\Delphi7\Rave5\ProjectSTR.rav';

Для обеспечения связи компонента RvProject с компонентом RvSystem, пред­назначенным для управления отчетом, служит свойство Engine типа TRpComponent. Естественно, перед заданием ссылки на компонент RvSystem последний должен быть предварительно помещен в форму приложения. Этот компонент может отсутствовать в форме приложения отчета, в этом случае при запуске отчета открывается диалоговое окно Output Options, в котором выбира­ются вариант дальнейших действий с отчетом (печать, просмотр или помещение в файл) и, при необходимости, формат файла.

В проекте отчета может быть несколько отчетов. Для их указания в компоненте RvProject предназначены свойства ReportName, ReportFullName И ReportDesc (соответственно задающие имя, полное имя и описание отчета), имеющие тип string и определяющие параметры текущего отчета. Для смены в проекте те­кущего отчета можно использовать функцию SelectReport (ReportName: String; FullName: boolean): boolean;. Если параметр FullName имеет зна­чение True, то параметр ReportName задает полное имя отчета, в противном случае — имя отчета.

Для получения списка имен отчетов, входящих в состав проекта, служит про­цедура GetReportList(ReportList: TString; FullName: boolean);. При ее вызове имена отчетов помещаются в список строк ReportList. При значении True параметра FullName в названный список помещаются полные имена отче­тов, в противном случае — имена отчетов.


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


313


Для выполнения текущего отчета предназначены процедуры Execute; и ExecuteReport (ReportName: string);. Во втором случае имя отчета, задавае­мое параметром процедуры, должно совпадать с именем отчета, определяемого свойством ReportName рассматриваемого нами компонента.

Компонент управления отчетом

Для управления отчетом служит компонент RvSystem, который обеспечивает выбор варианта действий с отчетом (печать, просмотр или помещение в файл) и при необходимости выбор формата файла. Как отмечалось, связь этого компо­нента с проектом отчета реализуется с помощью ссылки из компонента RvProject через СВОЙСТВО Engine.

Компонент RvSystem в своем составе инкапсулирует объекты, которые обеспе­чивают вывод отчета в один из трех системных приемников: SystemPrinter (печать отчета); SystemPreview (предварительный просмотр) и SystemFiler (вывод в файл).

Перед направлением отчета одному из системных приемников компонент RvSystem открывает диалоговое окно Output Options, в котором с помощью группы зависимых переключателей Printer, Preview и File осуществляется выбор системного приемника.

Компоненты установления соединения

Для установления соединения с источниками данных служат следующие компо­ненты странице Rave Палитры компонентов:

□ RvCustomConnection — соединение с источниками данных, не относящихся к базам данных (текстовые файлы, электронные таблицы и др.);

□ RvDataSetConnection — соединение с наборами данных приложения баз данных;

□ RvTableConnection — соединение с компонентом типа ттаЫе, устанавли­ваемое при использовании механизма BDE;

□ RvQueryConnection — соединение с компонентом типа TQuery, устанавли­ваемое при использовании механизма BDE.

При помещении в форму проекта приложения указанные компоненты оказыва­ются доступными для выбора при создании просмотров Direct Data View. При этом предварительно компонент должен быть связан с соответствующим набо­ром данных.

Для важнейшего из указанных компонента RvDataSetConnection свойство DataSet указывает на имя набора данных. Имя компонента RvDataSetConnection, задаваемое с помощью его свойства Name, используется в отчете для указания имени соединения в просмотрах данных отчета. Напом­ним, что используемое в просмотре имя соединения можно определить с помо-


314


Часть II. Технологии доступа к данным


щью библиотеки просмотров Data View Dictionary как значение свойства ConnectionName для интересующего нас компонента DataView.

Схема управления отчетом и подсоединения данных

Мы рассмотрели назначение основных компонентов, служащих для управления отчетом и подсоединения данных к отчету. Отметим, что соединение с источни­ками данных в отчете можно выполнить двумя способами: с помощью драйвера Rave Reports, а также с помощью компонентов приложения доступа к данным и компонентов соединения. Для наглядности на рис. 11.6 приведена обобщенная схема управления отчетом и подсоединения данных к нему.

Для организации соединения с помощью драйвера Rave Reports прежде всего коман­дой File\New Data Object визуального конструктора отчетов создается объект соединения — компонент Database. При этом в открывшемся диалоговом окне Data Connections (см. рис. 11.3) выбирается вариант Database Connection и в оче­редном диалоговом окне нужно выбрать тип соединения (ADO, BDE или DBX). Каждому типу соединения соответствует свой драйвер (файл с расширением rdv). Далее в диалоговом окне Database Connection Parameters выполняется на­стройка параметров соединения, состав которых соответствует выбранному ти­пу, и создается объект-соединение (с именем по умолчанию Dadabaset-i).

Теперь для связи компонентов данных отчета с данными соединения требуется создать просмотр данных, выполняющий формирование соответствующего на-


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


315


бора данных. Для этого нужно командой File\New Data Object визуального кон­структора открыть диалоговое окно Data Connections (см. рис. 11.3) и выбрать вариант Driver Data View. В очередном диалоговом окне требуется выбрать одно из имеющихся соединений проекта. При этом открывается диалоговое окно Query Advanced Designer, в котором на вкладке Layout можно указать таблицы из выбранного нами соединения и задать связи между полями таблиц. С помощью вкладки Sorting & Grouping окна (рис. 11.7) можно выбрать поля для сортировки и группирования. Кнопка Editor открывает окно редактора с текстом сформиро­ванного запроса SQL, где его можно откорректировать вручную.

После завершения настройки запроса SQL созданный нами объект-просмотр (компонент DriverDataView) появляется в словаре Data View Dictionary (с име­нем по умолчанию DriverDataviewt-i). Строка подготовленного таким образом запроса SQL является значением свойства Query объекта-просмотра. С его по­мощью можно повторно вызвать окно редактора Query Advanced Designer.

Теперь созданный нами объект-просмотр данных можно подключать к компо­нентам доступа к данным в отчете, таким как DataText, DataMemo и DataBand, с помощью их свойства DataView. Для таких компонентов, как DataText и DataMemo с помощью свойства DataField выбирается имя поля из таблицы объекта-просмотра.

Организация соединения с помощью компонентов приложения доступа к данным и компонентов соединения выполняется следующим образом. Для каждого соеди­нения в приложении предварительно создается компонент набора данных, на­пример, Table или Query, который соединяется с источником данных с помо­щью его свойств DatabaseName и TableName. Далее с таким компонентом набора данных устанавливается соединение с помощью соответствующего ком-


316


Часть II. Технологии доступа к данным


понента: RvCustomConnection, RvDataSetConnection, RvTableConnection, RvQueryConnection страницы Rave Палитры компонентов.

Напомним, что для компонента RvDataSetConnection свойство DataSet ука­зывает на имя набора данных. Имя компонента RvDataSetConnection, задавае­мое с помощью его свойства Name, используется в отчете для указания имени соединения в просмотрах данных отчета. Как отмечалось, используемое в про­смотре имя соединения можно определить с помощью библиотеки просмотров Data View Dictionary как значение свойства connectionName для компонента DataView.

Теперь в среде визуального конструктора отчетов требуется создать объект пря­мого просмотра, с помощью команды File\New Data Object открыв диалоговое окно Data Connections (см. рис. 11.3) и выбрав вариант Direct Data View. Затем в очередном диалоговом окне Data Connections нужно выбрать интересующее нас соединение.

Как и при предыдущем способе организации соединения, созданный таким об­разом объект просмотра данных — компонент DataView — можно подключать к компонентам доступа к данным в отчете, например таким как DataText, DataMemo и DataBand.

Примеры создания и просмотра отчетов

Создание отчета включает три основных этапа:

□ создание заготовки отчета в среде визуального конструктора;

□ настройка соединения и подключение просмотра данных в случае создания отчета для приложения баз данных;

□ помещение в форму приложения и настройка компонентов RvProject и RvSystem, которые осуществляют связь приложения с заготовкой отчета и управление предварительным просмотром и печатью отчета.

Заготовку собственно отчета в среде визуального конструктора можно выпол­нить так:

□ путем настройки одного из уже имеющихся отчетов, например, в проекте RaveDemo.rav (находится в папке Delphi7/Rave5/Demos);

□ путем конструирования отчета для обычного приложения или для приложе­ния баз данных в среде визуального конструктора;

□ для приложения баз данных можно создать простой табличный отчет или отчет для отношений типа "главный-подчиненный" с помощью Мастера отчетов.

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

Кроме перечисленных выше действий, при создании отчета можно также вы­полнять преобразование файлов отчета в различные форматы и др.


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


317


Предварительный просмотр отчета

Чтобы создать отчет путем настройки одного из уже имеющихся в проекте RaveDemo.rav (находится в папке Delphi7/Rave5/Demos) отчетов, нужно выпол­нить предварительный просмотр представляющего интерес отчета, а затем уже заняться его настройкой.

Рассмотрим, как выполнить предварительный просмотр отчета TwoDetails из проекта RaveDemo.rav. Для отчетов приложений баз данных, использующих просмотры данных, к которым относится отчет TwoDetails, перед просмотром и выполнением нужно настроить соединения. Вид отчета TwoDetails в окне визу­ального конструктора на этапе проектирования и соответствующее ему дерево отчета приведены на рис. 11.8.

Чтобы определить имена просмотров данных, используемых компонентами ото­бражения данных отчета (DataTextl, DataText2 и DataText3), поочередно вы­делим эти компоненты в окне проекта отчета и с помощью Инспектора компо­нентов отчета выясним значение свойства DataView. В нашем случае это

просмотры С именами CustomerDV, OrdersDV И ItemsDV.

Далее нам нужно определить используемые этими просмотрами имена соедине­ний. Для этого в словаре просмотров данных Data View Dictionary также пооче-



Часть II. Технологии доступа к данным


редно выделим просмотры с полученными именами и по значению их свойств ConnectionName выясним имена соединений. В нашем случае это значения

CustomerCXN, OrdersCXN И ItemsCXN соответственно.

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

С именами CustomerCXN, OrdersCXN И ItemsCXN. Для СВЯЗИ КОМПОНеНТОВ

RvDataSetConnection с наборами данных из базы данных используется свойст­во DataSet этих компонентов. В качестве наборов данных в нашем примере используются таблицы из базы данных dbdemos с именами orders.db, customer. db И items. db.

После настройки соединения отчета с базой данных приложения можно выпол­нить предварительный просмотр отчета TwoDetails в среде визуального конст­руктора, задав для этого команду File\Execute Report. Выберем в открывшемся диалоговом окне Output Options вариант Preview и нажмем кнопку ОК. Вид от­чета TwoDetails в окне предварительного просмотра приведен на рис. 11.9.

Из вида отчета на рис. 11.9 и из значений свойства DataField компонентов отображения данных DataTextl, DataText2 и DataText3 видно, что в отчете компонент DataTextl отображает данные из трех полей orderNO, CustomNO и itemsTotai таблицы orders.db; компонент DataText2 отображает данные из полей company и CustNO таблицы customer.db; компонент DataText3 отобра­жает данные из полей OrderNO и itemNO таблицы items.db. Кроме того, компо­ненты DataText4 и DataText5 соответственно отображают номер текущей страницы из общего числа страниц и дату просмотра отчета.


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


319


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

Простой отчет приложения базы данных

Простой отчет представляет собой отчет на основе данных из одного набора данных и содержит сведения, которые выводятся в табличном виде без какой-либо дополнительной обработки данных (например, группирования). Размеще­ние и вид печатаемых в отчете данных аналогичны размещению и виду данных, отображаемых в сетке DBGrid. Отличием является то, что данные отчета не раз­мещаются в форме, а представлены в виде бумажного документа, и их нельзя редактировать.

Рассмотрим последовательность шагов, которую требуется выполнить при до­бавлении простого отчета к приложению базы данных.

1. Откроем приложение базы данных Delphi, для которого требуется добавить простой отчет.

2. В форму приложения базы данных со страницы Rave Палитры поместим компонент RvDataSetConnection и с помощью Инспектора объектов при­своим свойству DataSet этого компонента значение, указывающее на имя набора данных, используемого в приложении.

3. С помощью визуального конструктора отчетов подготовим отчет и создадим файл проекта отчета. Для этого:

 

• с помощью команды Tools\Rave Designer меню Delphi запустим визуаль­ный конструктор Rave Reports 5.0;

• выбором команды File\New Data Object откроем диалоговое окно Data Connections (см. рис. 11.3) и выберем в нем вариант Direct Data View;

• в очередном диалоговом окне в списке Active Data Connections выберем вариант RVDataSetConnectionl и нажмем кнопку Finish;

• в дереве проекта в правой части окна визуального конструктора отчетов раскроем узел Data View Dictionary и в нем раскроем вновь созданный узел DataViewl;

• выбрав команду Toolls\Report Wizards\Simple Table, запустим Мастер соз­дания простых таблиц в отчете, выберем вариант DataViewl и нажмем кнопку Next;

• на последующих шагах работы с Мастером выберем поля таблицы для отображения в отчете, при необходимости изменим очередность следова­ния полей, установим параметры полей страницы, текст заголовков и шрифтов, используемых в отчете (рис. 11.10);


320


Часть II. Технологии доступа к данным


на заключительном этапе работы с Мастером нажатием кнопки Generate запустим процесс генерации отчета;

для просмотра сгенерированного отчета выберем команду File\Execute Re­port, в открывшемся диалоговом окне Output Options в поле Report Desti­nation выберем переключатель Preview и нажмем ОК. Вид полученного нами отчета при просмотре приведен на рис. 11.11;


Глава 11. Создание и просмотр отчетов с помощью Rave Reports


321


• при необходимости выполним настройку параметров (шрифта, цвета и др.) отдельных составляющих созданного отчета;

• сохраним созданный нами проект отчета в файле с произвольным именем, например STRep, и расширением rav с помощью команды File\Save As;

• свернем или закроем диалоговое окно работы с визуальным конструкто­ром отчета и вернемся к работе с приложением в Delphi.

 

4. В форму приложения базы данных со страницы Rave Палитры поместим компонент проекта отчета RvProject и установим в значение C:\Program Fiies\Boriand\Deiphi7\Rave5\STRep.RAV (спецификация созданного нами файла проекта) свойство ProjectFile этого компонента с помощью Ин­спектора объектов.

5. В форму приложения базы данных со страницы Standard Палитры компо­нентов поместим кнопку (компонент Button) и в качестве обработчика со­бытия Onclick нажатия этой кнопки зададим вызов метода ExecuteReport, обеспечивающего выполнение отчета с заданным именем (в нашем примере Reports) из состава проекта отчета (компонента RvProjectl), например так:

procedure TForml.ButtonlClick(Sender: TObject);

begin

RvProj ectl.Open;

try

RvProj ectl.ExecuteReport('Report5'); finally

RvProj ectl.Close; end; end;

6. С помощью клавиши <F9> запустим приложение на выполнение, и в форме
щелкнем мышью на кнопке, за которой закреплен созданный нами обработ­
чик события. В открывшемся диалогоовм окне выберем вариант печати отче­
та и нажмем кнопку ОК.

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



Глава 12


Инструменты

Инструменты — это программы, предназначенные для обслуживания БД, а так­же для выполнения вспомогательных действий при разработке приложений, например, для создания таблиц и отладки SQL-запросов. Совместно с Delphi поставляется большое число инструментов, применимых для работы как с ло­кальными, так и с удаленными БД. В этой главе рассматриваются инструменты для работы с локальными базами данных. Инструментальные программы, пред­назначенные для работы с удаленными БД, представлены в главе 15.

Программа BDE Administrator

Программа BDE Administrator представляет собой инструмент администрирова­ния процессора баз данных BDE (далее Администратор BDE, или Администра­тор). Для вызова Администратора BDE запускается файл bdeadminxxe, находя­щийся в одном каталоге с процессором баз данных. Внесенные изменения сохраняются по окончании работы с Администратором в файле конфигурации idapi32.cfg. Программу также можно вызвать через главное меню Windows выбо­ром пункта Program\Borland Delphi 7\BDE Administrator.

Администратор BDE позволяет настраивать параметры БД и операционной сис­темы. Основные параметры:

□ параметры псевдонима БД:

• название;

• тип;

• путь;

□ параметры драйвера:

• тип;

• язык;

□ системные установки:

• установки по умолчанию;

• форматы даты, времени и числовые форматы.


Глава 12. Инструменты


323


Для настройки требуемого параметра в левой части окна Администратора BDE нужно выбрать нужный объект, после чего в правой части окна открывается доступ к списку параметров этого объекта. При редактировании выбранного в панели инструментов объекта становятся доступными кнопки отме­ны/подтверждения сделанных изменений (с красной/синей стрелкой). Отменить или подтвердить изменения также можно командами Cancel и Apply главного или контекстного меню. Слева от объектов, имеющих неутвержденные измене­ния, отображается зеленый треугольник.

Добавить новый объект можно, выбрав в окне Администратора пункт меню Object\New. Удаление выделенного объекта выполняется командой Object\Delete главного или контекстного меню или нажатием кнопки Delete панели инстру­ментов (с синим косым крестом).

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

□ Зеленый треугольник — объект находится в режиме редактирования (имеет неутвержденные изменения).

□ Зеленый треугольник с красными лучами — вновь созданный и еще не со­храненный в конфигурации объект, для которого выполняется редактирование.

□ Красный треугольник — объект находится в режиме редактирования, неко­торые изменения являются некорректными и не могут быть сохранены.

□ Красный треугольник с красными лучами — созданный и еще не сохранен­ный в конфигурации объект находится в режиме редактирования, некоторые данные являются некорректными и не могут быть сохранены.

□ Ярко-зеленый квадрат — объект открыт.

Из приложения можно управлять настройками BDE с помощью соответствую­щих методов компонента session, который рассматривается в главе 13.

Работа с псевдонимами

Псевдоним (alias) указывает местонахождение файлов БД и представляет собой специальное имя для обозначения каталога. Использование псевдонимов суще­ственно облегчает перенос файлов БД в другие каталоги и на другие компьюте­ры. При этом не требуется изменять приложение, которое осуществляет доступ к таблицам БД. Если в приложении расположение таблиц указано с помощью псевдонима, то после перемещения БД для обеспечения работоспособности приложения достаточно изменить значение пути, заданное в псевдониме. Если же в приложении путь к БД указан в явном виде, т. е. без псевдонима, то после перемещения БД нужно изменять само приложение — вносить изменения в ис­ходный код и заново его транслировать.

Для создания псевдонима базы данных перед вызовом пункта меню Object\New Администратора BDE нужно выбрать вкладку Database в левой части окна, в противном случае команда New меню будет недоступна. После задания этой


324


Часть II. Технологии доступа к данным


команды появляется диалоговое окно New Database Alias (Новый псевдоним БД), в котором нужно выбрать тип драйвера. Для локальных таблиц Paradox и dBase выбирается тип standard, для других таблиц указывается соответствую­щий тип, например, для удаленного сервера InterBase — тип intrbase.

После нажатия кнопки ОК создается псевдоним и его данные отображаются в окне Администратора BDE (рис. 12.1). Новый псевдоним автоматически получа­ет имя standardi и параметры по умолчанию. Можно переименовать псев­доним, выполнив команду Rename контекстного меню псевдонима или меню Object главного меню Администратора BDE.

Псевдоним для работы с локальными БД имеет три параметра.

□ default driver — указывает формат таблиц БД (по умолчанию имеет значе­ние Paradox). Кроме того, можно установить значения dBase или asciidrv для текстовых файлов, разбитых на колонки.

□ enable bcd — указывает на необходимость перевода чисел в формат BCD, что позволяет более точно выполнять вычисления, но уменьшает скорость их выполнения. По умолчанию имеет значение False и, соответственно, формат BCD не используется.

□ path — указывает расположение (каталог) БД. После создания псевдонима путь не определен, и разработчик должен установить его самостоятельно.

Отметим, что псевдонимы для удаленных БД имеют большее число параметров, например, у псевдонима типа intrbase пятнадцать параметров.

При необходимости можно изменить параметры псевдонима, например, имя и путь. Для параметров default



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2016-02-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: