- •Оглавление
- •Часть 1. Краткое описание Delphi 8
- •Часть 2. Технология ado для баз данных access 186
- •9.1. Общие сведения 289
- •Введение
- •Часть 1. Краткое описание Delphi
- •1. Работа со средой delphi
- •1.1. Ознакомление с delphi
- •1.2. Вкладка дизайнера формы (design)
- •1.3. Вкладка редактора кода программы
- •1.4. Окно object inspector
- •1.5. Окно project manager
- •1.6. Окно палитры инструментов
- •1.7. Создание первого проекта приложения
- •1.8. Сохранение проекта
- •1.8. Сохранение проекта
- •1.9. Компиляция
- •2. Основа языка delphi
- •2.1. Основные понятия языка
- •2.1.1. Элементы языка
- •2.1.2. Пример простой программы
- •2.1.3. Типы данных
- •2.1.4. Операции и выражения
- •2.1.5. Стандартные функции
- •2.1.6. Ввод и вывод на дисплей
- •2.1.7. Оператор присваивания
- •2.2. Операторы языка паскаль
- •2.2.1. Составной оператор
- •2.2.2. Условный оператор
- •2.2.3. Сложные условия
- •2.2.4. Оператор выбора case
- •2.2.5. Оператор цикла for
- •2.2.6. Оператор цикла while
- •2.2.7. Оператор цикла repeat
- •2.2.8. Вложенные циклы
- •2.2.9. Прочие операторы
- •2.3. Общая структура программы
- •2.3.1. Перечень разделов программы
- •2.4. Массивы
- •2.4.1. Одномерные массивы
- •2.4.2. Сортировка массивов и поиск элемента в массиве
- •2.4.3. Многомерные массивы
- •2.5. Функции и процедуры
- •2.5.1. Описание функций
- •2.5.2. Обращение к функции
- •2.5.3. Процедуры
- •2.5.4. Параметры-значения и параметры-переменные
- •2.5.5. Локальные и глобальные переменные
- •2.5.6. Pекурсия
- •2.6. Строки символов
- •2.6.1. Задание строк
- •Var имя: string[длина];
- •2.6.2. Функции и процедуры для обработки строк
- •2.7. Порядковые типы данных
- •2.7.1. Перечисляемый тип данных
- •2.7.2. Интервальный тип данных
- •2.7.3. Порядковые типы данных
- •2.7.4. Дополнение:тип данных tDateTime (дата-время)
- •2.8. Множества
- •2.8.1. Значения типа множество
- •2.8.2. Операции на множествах
- •2.9. Записи
- •2.9.1. Поля записи
- •2.9.2. Оператор with
- •2.9.3. Последовательный поиск в массиве записей
- •2.9.4. Двоичный поиск в массиве записей
- •2.10. Файлы
- •2.10.1. Основные свойства файлов
- •2.10.2. Типизированные файлы
- •2.10.3. Текстовые файлы
- •2.10.4. Поиск файлов
- •2.11. Динамическая память
- •2.11.1. Динамические переменные и указатели
- •2.11.2. Динамические списки
- •2.11.3. Деревья
- •2.12. Программные модули
- •2.12.1. Модули, формируемые пользователем
- •2.12.2. Стандартные модули
- •2.12.3. Примеры программ
- •3. Главная форма
- •3.1. Свойства главной формы
- •3.2. События главной формы
- •4. Описание некоторых компонентов
- •4.1. Компонент tpanel (панели)
- •4.2. Компонент tbutton (кнопка)
- •4.3. Дополнительные кнопки
- •4.4. Компонент tlabel (надписи)
- •4.5. Компонент tedit (Строки ввода)
- •4.6. Компонент тМето (многостроч. Поле ввода)
- •4.7. Свойства и методы класса tstrings
- •4.8. Компонент checkbox (флажок)
- •4.9. Компонент tradiobutton (кнопки выбора)
- •4.10. Компонент MainMenu (главное меню программы)
- •4.11. Компонент timage
- •4.12. Компонент tstringgrid (сетка)
- •4.13. Компонент ttimer(таймер)
- •5. Отладка программ
- •5.1. Типы ошибок
- •5.2. Отладка программы
- •5.2.1. Трассировка программы
- •5.2.2. Точки останова программы
- •5.2.3. Наблюдение значений переменных
- •Часть 2. Технология ado для баз данных access
- •6. Создание баз данных access
- •6.1. Определение понятия баз данных
- •6.2. Интерфейс программы access
- •6.3. Создание базы данных в access 2007
- •6.3.1. Создание двухтабличной базы данных
- •6.3.2. Создание базы данных с вычисляемыми полями
- •6.4. Выбop формата для новой базы данных
- •6.5. Создание пустой базы данных
- •6.6. Открытие и закрытие базы данных
- •6.7. Создание таблиц в режиме конструктора
- •6.7.1. Выбор первичного ключа
- •6.7.2. Изменение полей и таблиц
- •6.7.3. Копирование полей
- •6.7.4. Перемещение полей
- •6.7.5. Удаление полей
- •6.7.6. Операции с таблицами
- •6.8. Создание базы данных в access 2003
- •6.9. Установление связей между таблицами
- •6.10. Обеспечение целостности записей в базе данных
- •6.11. Редактирование и удаление связей
- •7. Система доступа к данным ado
- •7.1. Общие сведения
- •7.2. Компонент adoConnection
- •7.2.1. Свойства компонента adoConnection.
- •7.2.2. Методы компонента adoConnection
- •7.3.Компонент аdоТable
- •7.3.1. Свойства компонента tadoTable
- •7.3.2. Методы компонента tadoTable
- •7.4. Компонент adoQuery
- •7.5. Компонент adoDataSet
- •7.5.1.Свойства компонента adoDataSet
- •7.5.2. Методы компонента adoDataSet
- •7.5.3. Cобытия компонента adoDataSet
- •7.6. Компонент DataSource
- •7.7.Комнонент DataGrid
- •7.7.1 Cвойства компонента DataGrid
- •7.7.2. Методы и события компонента DataGrid
- •7.8. Компонент adocommand
- •8. Управление базами данных
- •8.1. Приложение для управления базами данных
- •8.2. Свойства полей базы данных
- •8.3. Редактирование базы данных
- •8.4. Сортировка данных
- •8.5. Поиск данных в базе
- •8.5.1. Фильтрация данных в базе
- •8.5.2. Нахождения информации методом Locate
- •9.1. Общие сведения
- •9.2. Основные операторы запроса
- •9.2.1. Агрегатные функции
- •9.2.2. Подзапросы
- •9.3. Операторы наполнения баз данных sql
- •9.3.1. Ввод значений
- •9.3.2. Удаление значений
- •9.3.3. Изменение значений
- •9.4. Операторы создания баз данных sql
- •9.4.1. Команда создания таблицы.
- •9.4.2. Первичные ключи таблицы
- •9.4.3. Индексы таблицы
- •9.4.4. Добавление в таблицу новых столбцов
- •10. Реализация sql- запросов
- •10.1. Компонент tadoQuery для sql- запросов
- •10.2. Форма для реализация sql-запроса
- •11. Генератор отчетов Quick Reports
- •11.1.Описание Quick Reports
- •11.2. Печать записи с помощью Quick Reports
- •11.3. Печать таблиц с помощью Quick Reports
- •394026 Воронеж, Московский просп., 14
11. Генератор отчетов Quick Reports
11.1.Описание Quick Reports
В настоящее время существует много наборов компонентов для создания отчетов по поискам в базе данных.
Одним из них является набор компонентов Quick Reports, хотя он и не самый быстрый, Но Quick Reports очень мощный, к тому же он в готов к работе с Delphi.
В ранних версиях Quick Reports входил в состав компонентов Delphi и находился на вкладке QReport палитры инструментов.
Если на вкладке палитры инструментов QReport отсутствует, можно поступить так.
Если Delphi не запущен, то запускаете его, затем выбираете меню Component (компонент), а в нем Install package (инсталлировать пакет). Нажимаете кнопку Add (добавить), находите файл dclqrt70/bpl, открываете его и нажимаете кнопку OK. Должна появиться вкладка QReport (самая последняя)
Если Quick Reports не входит в состав Delphi, как при использовании Delphi 2009, то его можно найти в Интернете.
Именно поэтому Quick Reports мы и будем рассматривать.
Quick Reports – это генератор отчетов, состоящий из секций.
О секциях можно думать как о полосках бумаги, на которых пишутся данные и наклеиваются на лист бумаги.
Различные полоски бумаги могут быть заполнены различными данными и вклеены в различные места листа (отчета).
Сначала рассмотрим головной компонент Quick Reports —TQuickRep.
Этот компонент— основа любого отчета. Он представляет собой холст листа будущего отчета.
Дважды щелкнем мышью по значку этого компонента в палитре инструментов, и он автоматически будет перенесен на форму.
Выровняв края компонента по форме, мы увидим готовый белый лист, на котором можно будет размещать наш документ. По краям листа находятся синие пунктирные линии, которые показывают границы документа. Внизу каждой секции написано ее назначение, чтобы отличать секции друг от друга. Любую секцию можно выделить, растянуть и уменьшить.
Если дважды щелкнуть по компоненту QuickRep, откроется окно настроек, которым очень удобно пользоваться.
Наиболее простой способ добавить секцию на форму – это развернуть свойство TQuickRep. Bands в Инспекторе Объектов.
Щелкните мышью по значку «+» и развернется список секций. Добавляются и удаляются секции путем смены их свойства с True на False и обратно. Если секция создается подобным образом, то ей автоматически устанавливается название и тип, приведенные ниже.
HasColumnHeader — заголовки колонок. Если отчет будет содержать таблицу, то она должна иметь шапку, где будут определены названия колонок. Вот именно эту шапку создают в этой части документа. Так что если нам нужна будет таблица, то этому свойству нужно будет присвоить значение true;
HasDetail— если в отчете есть таблица, то вид строк формируется в этом разделе;
HasPageFooter —в этом разделе создается нижний колонтитул;
HasPageHeader — здесь создается заголовок документа;
HasSummary— содержимое этого раздела печатается один раз в конце отчета (на последней странице);
HasTitle —в этом разделе делается заголовок отчета.
Когда секции добавляются к отчету, они автоматически сортируются в соответствии с порядком печати. Обычно секции печатаются в следующем порядке, приведенном ниже.
Page Header;
Заголовок страницы, повторяется на каждой странице
Title;
Заголовок, печатается на первой странице
Column Header;
Заголовок колонки, повторяется для всех колонок
Detail;
Секция данных, повторяется для всех записей
Summary;
Печатается на последней странице
Page footer;
Подвал, повторяется на каждой странице
Кроме свойств Bands компонента TQuickRep, которые мы уже рассмотрели, приведем и некоторые другие.
DataSet — здесь указывается таблица, из которой отчет 6yдет брать данные.
Font — шрифт, который будет использоваться по умолчанию.
Frame—параметры рамки.
Options —здесь вам доступны три параметра:
FirstPageHeader равно true — заголовок печатается только на первой странице отчета;
LastPageFooter равно true — нижний колонтитул печатается только на последней странице отчета;
Compression установлено в true— отчет будет сохраняться в сжатом виде.
Page — здесь определяются все необходимые опции для контроля над бумагой отчета. Здесь можно установить формат бумаги, отступы и ориентацию.
PrinterSettings — настройки принтера.
ReportTitle — заголовок печатаемого документа.
ShowProgress — если этот параметр равен true, то во время печати нам будет доступен индикатор хода выполнения печати.
SnapToGridз — определяет, нужно ли выравнивать компоненты по установленной сетке.
Zoom— масштаб отображения данных.