- •О. Б. Малков работа с базами данных в среде delphi Учебное пособие для студентов заочной формы обучения
- •Содержание
- •1. Реализация работы с базами данных в среде delphi
- •1.1. Базы данных и системы управления базами данных
- •1.2. Технология доступа к данным bde
- •1.3. Компоненты приложений, работающих с базами данных
- •2. Демонстрационная база данных
- •2.1. Логическая модель данных предметной области
- •2.2. Физическая модель данных предметной области
- •3. Создание базы данных
- •3.1. Создание псевдонима
- •3.2. Создание структуры таблиц базы данных
- •3.3. Свойства таблиц Paradox
- •3.4. Заполнение таблиц базы данных
- •4. МодулЬ данных
- •4.1. Создание модуля данных
- •4.2. Связывание наборов данных
- •4.3. Создание объектов-полей
- •4.4. Проектирование и анализ структуры базы данных
- •4.5. Создание объектов-столбцов
- •4.6. Реализация бизнес-правил
- •5. Создание приложения, работающего с базой данных
- •5.1. Выбор типа пользовательского интерфейса
- •5.2. Создание главной формы
- •5.3. Создание рабочих форм
- •5.4. Создание форм ввода новых данных
- •6. Создание запросов
- •6.1. Компонент Query
- •6.2. Создание sql-запросов
- •6.2.1. Простая выборка данных
- •6.2.2. Выборка из связанных таблиц
- •6.2.3. Сортировка записей
- •6.2.4. Сложные критерии отбора
- •6.2.5. Псевдонимы таблиц и комментарии
- •6.2.6. Агрегатные функции и группировка записей
- •6.2.7. Создание и удаление таблиц и индексов
- •6.2.8. Вставка, удаление и редактирование записей
- •Insert into Имя_таблицы (Список_полей
- •Values (Список_значений)
- •6.3. Построение запроса в демонстрационной базе данных
- •7. Создание отчетов
- •7.1. Основы технологии Rave Reports
- •7.2. Визуальная среда Rave Designer
- •7.3. Составляющие проекта отчета
- •7.3.1. Библиотека отчетов
- •7.3.2. Каталог глобальных страниц
- •7.3.3. Каталог объектов данных
- •7.4. Типы отчетов
- •7.4.1. Отчет с единственной таблицей или запросом
- •7.4.2. Отчет главный-детальный
- •7.4.3. Группирующий отчет
- •7.5. Пример создания отчетов в приложении Sale
- •7.6. Экспорт отчета в файл
- •8. Создание СправочнОй системЫ
- •8.1. Создание файла документа справочной информации
- •8.2. Создание проекта справочной системы
- •8.3. Доступ к справочной информации
- •9. Создание установочного диска
- •9.1. Программа InstallShield Express
- •9.2. Создание проекта инсталляционной программы
- •Библиографический список
7. Создание отчетов
Отчеты в системе Delphi 7 ориентированы в первую очередь на печать информации из таблиц БД. Отчет – это виртуальный образ бумажного листа, который в дальнейшем без изменений воспроизводится на принтере.
В Delphi 7 появился набор компонентов Rave Reports (панель Rave), который заменил морально устаревший набор QReports.
7.1. Основы технологии Rave Reports
В основе технологии лежит идея отделения процесса разработки от процесса создания отчета за счет использования промежуточного документа, который называется проектом отчета. Проект отчета создается с помощью среды Rave (Report Authoring Visual Environment – визуальная среда автора отчета), а в создаваемую программу внедряется машина генератора отчета, которая по данным, полученным из файла проекта, создает документ отчета.
На вкладке Rave имеются два ключевых компонента – RvProject и RvSystem, перенос которых в программу внедряет в нее машину генератора отчетов. Проект будущего отчета создается заранее с помощью утилиты Report Manager Designer, которая вызывается из Delphi и взаимодействует с загруженной в Delphi программой.
Доступные в Delphi компоненты создания отчетов Rave можно разделить на следующие группы:
1. Компоненты связи с источниками данных:
RvCustomConnection – поставляет в отчет данные из обычных файлов или массивов в памяти программы;
RvDataSetConnection – поставляет в отчет данные, получаемые от таблиц BDE (TTable);
RvQueryConnection – поставляет в отчет данные, получаемые от запроса BDE (TQuery).
2. Компоненты печати отчета:
RvNDRWriter – сохраняет отчет в двоичной форме (в виде так называемого NDR-потока);
RvRenderPreview – выводит отчет (файл, подготовленный компонентом RvNDRWriter) в окне предварительного просмотра;
RvRenderPrinter – выводит отчет (файл, подготовленный компонентом RvNDRWriter) на печать;
RvSystem – объединяет возможности этих трех компонентов в стандартной визуальной среде просмотра, настройки и печати.
3. Компоненты генерации отчета в других форматах:
RvRenderPDF – преобразует NDR-поток в PDF-формат с поддержкой графики;
RvRenderHTML – преобразует NDR-поток в формат HTML 4.0 с поддержкой графики;
RvRenderRTF – преобразует NDR-поток в RTF-формат с поддержкой графики;
RvRenderText – преобразует NDR-поток в текст.
7.2. Визуальная среда Rave Designer
К ак уже говорилось, технология Rave Reports характерна тем, что отчет создается специальной машиной генерации отчета по указаниям, получаемым из файла проекта отчета. Файл проекта разрабатывается с помощью утилиты Rave Designer, которая создает особую визуальную среду (рис. 43).
Рис. 43. Главный экран проектировщика отчетов
Данная среда проста в эксплуатации и в плане пользовательского интерфейса схожа с системой Delphi. Окно проектировщика состоит из четырех основных частей. В верхней части расположено главное меню, кнопки управления и панели компонентов. В центре можно видеть проектируемый отчет. В левой части находится редактор свойств текущего объекта (инспектор объектов), в правой разработчику доступен просмотрщик объектов, схожий с аналогичным инструментом Delphi.
С помощью главного меню решаются задачи общего управления проектом – создание нового проекта, включение в проект нового отчета, связь с наборами данных, настройка параметров среды и проекта, вызов мастеров создания отчетов.
Некоторые наиболее важные команды представлены восемью верхними инструментальными кнопками. Семь нижних инструментальных кнопок упрощают настройку среды.
Справа от инструментальных кнопок располагается область компонентов и инструментальных панелей. В ходе проектирования отчета разработчику доступны наборы компонентов с инструментальных панелей, перечисленных в табл. 18.
Таблица 18
Панель |
Назначение |
Drawing Bar Code Standard
Report Zoom Colors Lines Fills Fonts Alignment |
Компоненты для вставки в отчет простейших геометрических фигур Компоненты для отображения различных штриховых кодов Компоненты для вставки в отчет данных, не связанных с БД (поясняющие надписи, многострочный текст, изображения и т. п.) Компоненты для вставки в отчет данных из БД Панель с кнопками, управляющими масштабом отображаемого отчета Панель для изменения цвета выделенного элемента Панель для управления толщиной и стилем текущей линии Панель для выбора стиля заполнения текущей фигуры Панель для выбора шрифта текущего элемента с текстом Панель для управления положением выбранного элемента |
Окно инспектора объектов похоже на окно инспектора объектов среды Delphi. В нем отображаются свойства объекта, выбранного в области формирования отчета или в дереве объектов. Свойства, определяющие положение и размеры объекта, по умолчанию задаются в дюймах. Вещественные значения используют разделитель целой и дробной частей, заданный настройками Windows (в русскоязычной ОС – запятая). С помощью команды Edit > Preferences > Default > Unit's можно установить другие единицы измерения (в том числе миллиметры или сантиметры). Однако эта установка будет действительной только для нового проекта. Ниже окна свойств находится вспомогательное окно, содержащее справку о выбранном свойстве.
Область формирования отчета занимает всю центральную часть окна. В ее верхней части находятся вкладки Page Designer и Event Editor, переключающие режимы отображения страницы отчета и ввода/редактирования обработчика событий.
Режим Page Designer – основной режим окна. Отчет может содержать произвольное количество страниц, каждая из которых выбирается щелчком на соответствующей вкладке в верхней части окна. Прообраз страницы отображается в макете печатной страницы в центре окна. Программист формирует этот прообраз, размещая на макете компоненты из области компонентов. Он может в любой момент просмотреть или напечатать отчет, нажав клавишу <F9> или щелкнув на соответствующей инструментальной кнопке.
С помощью команды Tools основную содержательную часть отчета можно сформировать, используя диалоговые окна соответствующих мастеров (для отчета с одной таблицей и отчета главный-детальный).
Расположенное в правой части окно дерева объектов отображает основные объекты проекта отчета – отчеты (проект может содержать произвольное количество отчетов), глобальные страницы и объекты отображения данных из БД.
Режим Event Editor предназначен для создания/редактирования обработчиков событий OnAfterPrint, OnAfterReport, OnBeforePrint, OnBeforeReport, OnGetText.
Язык программирования обработчиков является подмножеством языка Delphi. Язык среды Rave Designer не описан в документации, имеет очень скромные возможности и рассчитан в основном на однострочные операторы присваивания, изменяющие значения того или иного свойства объекта. В нем нельзя использовать локальные переменные, блоки begin...end, try...end, условные операторы.