Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Lab2_5_ПИ.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
4.07 Mб
Скачать

2.3.1.3. Примеры выражений

Ниже несколько примеров допустимых выражений:

Выражение

Описание

1

Целая константа, возвращается 1

1.5

Константа с плавающей запятой, возвращается 1.5

‘Delphi’

Строковая константа, возвращается ‘Delphi’ как строка

True

Логическая константа, возвращается True

1 + 2

Цифровое вычисление, возвращается 3

2 * (3 + 2.5)

Цифровое вычисление, возвращается 11

‘Delphi’ + ‘ is great’

Строковое вычисление, возвращается ‘Delphi is great’

Name

Возвращается значение поля Name, если это присутствует

Возвращается значение поля Name из таблицы Customer

Name + ‘ ‘ + Contact

Строковое вычисление, возвращается значение поля Name плюс пробел плюс значение поля Contact

AmountPaid * TaxRate / 100

Расчет математического выражения

‘Printed ‘+ Date

Строковое вычисление

‘Total amount paid is ‘ + str(AmountPaid)

Строковое вычисление

If (AmountPaid > 5000, ‘Large order’, ‘Small order’)

Возвращает ‘Large order’ если AmountPaid больше чем 5000, иначе ‘Small order’

if(CheckField, ’X’, ’‘)

Печатает X если CheckField истинно

3.2. Использование выражений

Для печати выражения в отчете вы должны использовать компонент TQRExpr. Введите выражение в свойстве Expression или дважды щелкните по свойству для вызова диалога построения выражения.

По строитель выражений позволяет строить выражения визуально и может оказать помощь в изучение построения выражений.

Используйте свойство Mask для форматирования вывода. Форматирование выполняется по тем же правилам, которые действуют для компонента TQRDBText.

Если ваше выражение включает агрегатные функции типа SUM или COUNT, то вам требуется связать свойство Master с DataSet. Для простых отчетов это обычно тот же самый DataSet, который связан с TQuickRep, но в более сложном отчете со многими DataSets вы обязаны позаботиться о связи с правильным набором данных (DataSet). Выражение с агрегатной функцией пересчитывается каждый раз, когда указатель в главной таблице перемещается на следующую запись.

Следующее важное свойство для TQRExpr это ResetAfterPrint. Если вы используете агрегатные функции в выражение, вы можете желать или наоборот, чтобы выражение очищалось каждый раз после того, как оно отпечатается. Если не сбрасывать, то оно будет продолжать обновляться, но вы можете пожелать поместить выражение на подвал группы и делать отдельные вычисления для каждой группы. Установка свойства ResetAfterPrint позволяет достигнуть данного результата.

3.3. Размер стека

Текущая версия интерпретатора выражений использует стек вашего приложения для передачи параметров. Во время подготовки сложного выражения с большим количеством уровней скобок на стеке может быть занято несколько килобайт. В Delphi 1.0 размер стека по умолчанию только 16Kb и в этом случае предел может быть легко превышен, как результат ошибка времени выполнения 202, если включена проверка стека. Для увеличения размера стека в Delphi 1.0 выберите Options|Project из меню, перейдите на закладку Linker и увеличьте размер стека до 32768 байт как минимум. Следующие версии QuickReport не будут использовать стек для подготовки выражений.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]