- •Создание отчетов с использованием генератора отчетов QuickReport
- •Теоретические сведения
- •Компоненты генератора отчетов QuickReport
- •Основные свойства компонента tQuickRep
- •Основные свойства компонента tqrBand
- •Операции и функции, используемые в выражениях
- •Значения свойства Data компонента tqrSysData
- •Технология создания отчетов
- •Лабораторное задание
- •Порядок выполнения лабораторной работы
- •Требования к отчету
Основные свойства компонента tqrBand
|
Свойство |
Назначение |
|
AlignToBottom |
Если значение этого свойства задано равным True, то полоса печатается всегда внизу страницы; причем если это полоса детальной информации, то она будет единственной на странице |
|
BandType |
Назначение полосы |
|
Font |
Шрифт, которым будет печататься информация, размещенная на полосе. Это свойство имеет более высокий приоритет, чем аналогичное свойство компонента TQuickRep |
|
Frame |
Параметры рамки вокруг полосы |
|
Size |
Размер полосы |
Свойство BandType указывает назначение полосы, например: rbTitle - полоса содержит заголовок отчета; rbPageHeader - полоса содержит верхний колонтитул; rbDetail - полоса содержит информацию из набора данных, заданного свойством DataSet компонента TQuickRep (полоса выводится каждый раз при переходе на новую запись в наборе данных; эта полоса повторяется для всех записей набора данных, начиная с первой записи и кончая последней; позиционирование на первую запись и последовательный перебор записей осуществляется компонентом TQuickRep автоматически).
Поместить компонент TQRBand в сетку отчета и указать назначение представляемой им полосы отчета можно двумя способами:
1) выбрать компонент TQRBand в палитре компонентов, разместить его на компоненте TQuickRep и выбрать значение свойства BandType, соответствующее назначению полосы;
2) в группе Bands окна установки параметров отчета (см. рис.1) пометить “галочкой” переключатель, соответствующий включаемой в отчет полосе. Все указанные таким способом полосы будут помещены в сетку отчета после закрытия окна.
Компонент TQRBand может обрабатывать только события AfterPrint и BeforePrint, которые наступают соответственно после окончания и перед началом печати или просмотра полосы отчета.
К
Рис.3.
Окно редактора формул
Поле Enter expression служит для ввода и редактирования выражения, которое может состоять из имен полей (столбцов) таблиц, функций и переменных, связанных знаками операций, набираемыми с помощью среднего ряда кнопок (табл.3). Имя поля таблицы (Data field), функция (Function) или переменная (Variable) добавляется в выражение с помощью вспомогательного окна, которое появляется при нажатии на соответствующую кнопку верхнего ряда.
Таблица 3
Операции и функции, используемые в выражениях
|
Операция или функция |
Действие |
|
+ – * / |
Арифметическое сложение, вычитание, умножение, деление. Символ “+” для строк обозначает операцию сцепления |
|
And Or Not |
Логическое умножение (И), сложение (ИЛИ), отрицание (НЕ) |
|
> < >= <= <> = |
Сравнение значений |
|
average (expr) |
Агрегатная функция возвращает среднее значение для выражения expr, содержащего имя поля (столбца) |
|
COPY (str,pos,len) |
Возвращает для строки символов str подстроку длиной len, начиная с позиции pos |
|
COUNT |
Агрегатная функция возвращает количество записей (строк) в таблице или группе |
|
DATE |
Возвращает текущую дату в виде строки символов |
|
DIV (x,y) |
Целочисленное деление x на y |
|
FALSE |
Возвращает логическую константу “ложь” |
|
FORMATNUMERIC (f,num) |
Форматирует числовое значение num, ис-пользуя шаблон f. Шаблон задается так же, как для функции FormatFloat языка Object Pascal |
|
FRAC (num) |
Возвращает дробную часть числового значения num |
|
IF (expr, x, y) |
В зависимости от логического значения выражения expr возвращает либо x (expr=True), либо y (expr=False) |
|
INT (num) |
Возвращает целую часть числового значения num |
|
LOWER (str) |
Преобразует все символы строки str в нижний регистр |
Окончание табл.3
|
Операция или функция |
Действие |
|
MAX (expr) |
Агрегатная функция возвращает максимальное значение для выражения expr, содержащего имя поля (столбца) |
|
MIN (expr) |
Агрегатная функция возвращает минимальное значение для выражения expr, содержащего имя поля (столбца) |
|
PRETTY (str) |
Преобразует первый символ строки в верхний регистр, а все остальные - в нижний |
|
SQRT (num) |
Вычисляет квадратный корень из числового значения num |
|
STR (num) |
Преобразует числовое значение num в строку символов |
|
SUM (expr) |
Агрегатная функция возвращает сумму значений для выражения expr, содержащего имя поля (столбца) |
|
TIME |
Возвращает текущее время в виде строки символов |
|
TRUE |
Возвращает логическую константу “истина” |
|
TYPEOF (expr) |
Возвращает тип выражения expr в виде строки символов (например, “BOOLEAN”) |
|
UPPER (str) |
Преобразует все символы строки str в верхний регистр |
Компонент TQRExpr может использоваться для вычисления итогов для групп строк в таблице. Чтобы функция, заданная свойством Expression, применялась отдельно к каждой группе, необходимо свойству ResetAfterPrint компонента TQRExpr присвоить значение True.
Компонент TQRSysData используется для включения в отчет вспомогательной или системной информации, вид которой определяется свойством Data этого компонента. Возможные значения свойства Data указаны в табл.4.
Таблица 4
