![]() |
![]() ![]() ![]() ![]() ![]() |
![]() |
Настройка печатных форм с FastReport VCL 5: замена старого инструмента отчетностиDelphi , Базы данных , ОтчетыFastReport VCL 5 — это мощный инструмент для создания отчетов, который может стать отличной альтернативой старому инструменту отчетности вашего приложения. В данной статье мы рассмотрим, как настроить печатные формы с помощью FastReport VCL 5, чтобы распечатать элементы формы на лазерном принтере. Одной из основных задач, которые вам придется решать при работе с печатными формами, является размещение элементов формы позади мастер- и детальных полос. В вашем случае это может быть invoice header (мастер-полоса), invoice details (детальная полоса) и totals band (нижняя полоса). Также вам нужно, чтобы invoice header повторялся на каждой странице, если отчет занимает несколько страниц, и чтобы детали отчета оставались в пределах заданного прямоугольника. Чтобы решить эту задачу, вы можете воспользоваться функцией OverlayBand в FastReport VCL 5. OverlayBand позволяет накладывать один отчет на другой, что дает вам возможность разместить элементы формы позади мастер- и детальных полос. Вот шаги, которые вы можете предпринять, чтобы настроить печатную форму с помощью FastReport VCL 5:
Пример кода на Object Pascal (Delphi) для настройки печатной формы с помощью FastReport VCL 5: ```pascal unit Unit1; interface uses Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics, Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, FRxExpress; type TForm1 = class(TForm) FRxExpress1: TFRxExpress; procedure FormCreate(Sender: TObject); private { Private declarations } public { Public declarations } end; var Form1: TForm1; implementation {$R *.dfm} procedure TForm1.FormCreate(Sender: TObject); begin // Создание нового отчета var Report: TFRxReport; Report := TFRxReport.Create(nil); // Добавление полосы Page Header var PageHeader: TFRxPageHeader; PageHeader := TFRxPageHeader.Create(Report); PageHeader.Name := 'PageHeader'; PageHeader.AddObject('CompanyName', 'TLabel', [poLeft, poTop, poWidth, poHeight], [10, 10, 200, 20]); PageHeader.AddObject('InvoiceNumber', 'TLabel', [poLeft, poTop, poWidth, poHeight], [10, 40, 200, 20]); // Добавление полосы Master Data var MasterData: TFRxMasterData; MasterData := TFRxMasterData.Create(Report); MasterData.Name := 'MasterData'; MasterData.AddObject('ItemName', 'TLabel', [poLeft, poTop, poWidth, poHeight], [10, 10, 200, 20]); MasterData.AddObject('ItemQuantity', 'TLabel', [poLeft, poTop, poWidth, poHeight], [10, 40, 200, 20]); // Добавление полосы Page Footer var PageFooter: TFRxPageFooter; PageFooter := TFRxPageFooter.Create(Report); PageFooter.Name := 'PageFooter'; PageFooter.AddObject('Total', 'TLabel', [poLeft, poTop, poWidth, poHeight], [10, 10, 200, 20]); // Добавление полосы OverlayBand var OverlayBand: TFRxOverlayBand; OverlayBand := TFRxOverlayBand.Create(Report); OverlayBand.Name := 'OverlayBand'; OverlayBand.AddObject('Frame', 'TFrame', [poLeft, poTop, poWidth, poHeight], [10, 10, 200, 200]); OverlayBand.AddObject('Logo', 'TPicture', [poLeft, poTop, poWidth, poHeight], [10, 10, 50, 50]); // Настройка отчета Report.MasterDataName := 'MasterData'; Report.PageHeaderName := 'PageHeader'; Report.PageFooterName Статья описывает настройку печатных форм в FastReport VCL 5 для распечатки элементов формы на лазерном принтере, с использованием функции OverlayBand для размещения элементов позади мастер- и детальных полос. Комментарии и вопросыПолучайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.
|
||||
©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007 |