- •Лабораторная работа №5 Составление отчетов
- •Скомпилируйте приложение
- •Скомпилируйте приложение.
- •1. Первый отчет
- •1.1. Простой отчет
- •1.2. Другие типы секций
- •1.3. Получение данных
- •1.4. Фильтрация и сортировка данных
- •1.5. Добавление текста и полей данных
- •2. Создание отчетов
- •2.1. Разметка, единицы измерения и масштаб
- •2.2. Размер бумаги и границы
- •2.3. Выбор шрифта
- •2.4. Заголовок отчета и описание
- •2.5. Добавление секций
- •2.6. Размеры секций
- •2.8. Выключение секций
- •2.9. Добавление печатных компонент к отчету
- •2.2.10.4. Размер
- •2.2.10.5. Стиль шрифта и цвет текста
- •2.2.10.6. Выравнивание
- •2.2.10.7. Выравнивание по секции
- •2.2.10.8. Цвет фона и прозрачность
- •2.2.10.9. Рамки
- •2.2.10.10. Разрешение и запрет
- •2.2.10.11. Печать статического текста
- •2.11. Печать из полей базы данных
- •2.2.11.1. Форматирование вывода
- •2.2.11.2. Печать мемо полей
- •2.2.11.3. Печать простых графических фигур
- •2.12. Печать графики
- •2.2.12.1. Статические изображения
- •2.2.12.2. Изображения, хранящие в таблицах
- •2.13. Печать RichText полей
- •3. Использование выражений
- •3.1. Создание выражений
- •2.3.1.1. Использование полей базы данных в выражениях
- •2.3.1.2. Использование строк в выражениях
- •2.3.1.3. Примеры выражений
- •3.2. Использование выражений
- •3.3. Размер стека
- •4. Создание групп
2.2.10.4. Размер
Все печатные компоненты имеют свойство Size. Если свойство AutoSize не установлено, то вы можете задать компоненту точный размер. Позиция компонента рассчитывается относительно секции.
Единицы измерения указываются в зависимости от выбранных в текущий момент времени единиц и задаются с высокой точностью.
Если свойство AutoSize установлено, то вы также можете менять размеры с помощью мышки.
2.2.10.5. Стиль шрифта и цвет текста
Печатные текстовые компоненты могут иметь индивидуальные установки для шрифтов или наследовать их от владельца. Для наследования следует установить свойство ParentFont, а для индивидуальных установок сбросить и назначить параметры через свойство font.
2.2.10.6. Выравнивание
Компоненты могут выравнивать по левой, правой границе или по центру. Для компонент, у которых установлено свойство AutoSized расширение компонента происходит следующим образом: влево для выровненных вправо (right aligned text), вправо для выровненных влево (left aligned), в обе стороны для выровненных по центру (centered text).
Для компонент, у которых свойство AutoSize сброшено, текст вписывается в установленные границы.
2.2.10.7. Выравнивание по секции
По умолчанию компоненты печатаются в позиции установленной во время проектирования. Иногда требуется выравнивать компоненты относительно секции, на которой компонент размещен. Возможно, вы пожелаете отцентрировать текст или выровнять по правой границе секции, например для номера страницы. Это достигается установкой свойства AlignToBand, в этом случае компонент выравнивается относительно секции вместо использования своих координат.
2.2.10.8. Цвет фона и прозрачность
Можно установить прозрачность текста (opaque) или наоборот. Если текст не является прозрачным, то свойство Color используется для прорисовки фона.
2.2.10.9. Рамки
Все текстовые компоненты могут иметь видимую рамку.
2.2.10.10. Разрешение и запрет
Аналогично запрету печати секции вы можете запретить или разрешить печать текста путем установки свойства Enabled. Это можно сделать как во время проектирования, так и во время исполнения, перед генерацией отчета или во время генерации отчета в любом из обработчиков..
procedure repList.ReportDetailPrint(Sender: TObject;
var PrintBand: Boolean);
begin
negative values in red,
positive in green,
remove null value}
if CustTableCredit.Value < 0 then
CreditLabel.Font.Color := clRed
else
CreditLabel.Font.Color := clGreen;
if CustTableCredit.Value = 0 then
CreditLabel.Enabled := False
else
CreditLabel.Enabled := True;
end;
2.2.10.11. Печать статического текста
Статический текст, такой как заголовки, название колонок и полей обычно печатается с помощью компонента TQRLabel. Разместите компонент в секции и установите его свойство Caption. Текстовые метки меняю размер автоматически, с учетом установленных свойств.
Если требуется печатать большой блок текста, то лучше использовать компонент TQRMemo. Компонент не является связанным с базами данных и имеет свойство Lines для ввода текст. Текст также может быть загружен из потока во время проектирования или во время исполнения, с помощью методов Lines.LoadFromStream или Lines.LoadFromFile.
