- •Создание отчетов с использованием генератора отчетов 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