Карта сайта Kansoftware
НОВОСТИУСЛУГИРЕШЕНИЯКОНТАКТЫ
KANSoftWare

Перенос сводки отчета в FastReport 5

Delphi , Базы данных , Отчеты

При работе с FastReport 5 многие пользователи сталкиваются с проблемой переноса сводки отчета в конец страницы. В более ранних версиях FastReport эта опция была доступна, но в версии 5 она отсутствует. В этой статье мы рассмотрим, как решить эту проблему в среде Delphi.

Причина проблемы

В FastReport 5 опция переноса сводки отчета в конец страницы была удалена или перемещена, что вызывает затруднения у пользователей, которые привыкли к этому функционалу в предыдущих версиях.

Решение проблемы

К счастью, есть решение, которое позволяет перенести сводку отчета в конец страницы в FastReport 5. Для этого нужно воспользоваться следующим скриптом, который необходимо разместить в событии "Before Print" на полосе сводки отчета:

procedure ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
  Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1.Height - 1;
end;

Этот скрипт сдвигает текущую позицию вертикального курсора (CurY) на высоту полосы сводки отчета (ReportSummary1.Height) плюс один пиксель, тем самым перенося сводку отчета в конец страницы.

Пример кода на Object Pascal (Delphi)

Ниже представлен пример кода, демонстрирующий, как можно добавить этот скрипт в событие "Before Print" на полосе сводки отчета в FastReport 5:

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, frxReport;

type
  TForm1 = class(TForm)
    Report: TfrxReport;
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
begin
  // Создаем событие "Before Print" на полосе сводки отчета
  Report.SummaryReport1.OnBeforePrint := ReportSummary1OnBeforePrint;
end;

procedure TForm1.ReportSummary1OnBeforePrint(Sender: TfrxComponent);
begin
  // Переносим сводку отчета в конец страницы
  Engine.CurY := Engine.CurY + Engine.FreeSpace - ReportSummary1.Height - 1;
end;

end.

Заключение

В этой статье мы рассмотрели проблему переноса сводки отчета в конец страницы в FastReport 5 и предложили решение, которое позволяет достичь этого с помощью скрипта в событии "Before Print" на полосе сводки отчета. Используя представленный пример кода на Object Pascal (Delphi), вы можете легко добавить это решение в свой проект и перенести сводку отчета в конец страницы в FastReport 5.

Создано по материалам из источника по ссылке.

Статья описывает проблему переноса сводки отчета в конце страницы в программе FastReport 5 и предлагает решение, добавляя скрипт в событие 'Before Print' на полосе сводки отчета.


Комментарии и вопросы

Получайте свежие новости и обновления по Object Pascal, Delphi и Lazarus прямо в свой смартфон. Подпишитесь на наш Telegram-канал delphi_kansoftware и будьте в курсе последних тенденций в разработке под Linux, Windows, Android и iOS




Материалы статей собраны из открытых источников, владелец сайта не претендует на авторство. Там где авторство установить не удалось, материал подаётся без имени автора. В случае если Вы считаете, что Ваши права нарушены, пожалуйста, свяжитесь с владельцем сайта.


:: Главная :: Отчеты ::


реклама


©KANSoftWare (разработка программного обеспечения, создание программ, создание интерактивных сайтов), 2007
Top.Mail.Ru

Время компиляции файла: 2024-12-22 20:14:06
2025-06-15 22:51:24/0.0033509731292725/0