Delphi 快速报告 - 总页数

标签 delphi quickreports

我在我的应用程序中使用 QuickReports,并希望在页脚中包含“Page x of x”。执行此操作的最佳方法是什么?

最佳答案

procedure TForm1.Button1Click(Sender: TObject);
begin
  Form2.QuickRep1.Prepare;
  Form2.QuickRep1.FTotalPages := Form2.QuickRep1.QRPRinter.PageCount;
  Form2.QuickRep1.QRPrinter.Free;
  Form2.QuickRep1.QuickRep1.QRPrinter := nil;
  Form2.QuickRep1.PreviewModal; // or .Print
end;

FTotalPages 在包含 TQuickRep 组件的 Form2 中声明。

public
    { Public declarations }
    FTotalPages: Integer;

请注意,必须在 Prepare 之后和 PreviewModal(或 .Print)之前释放 QRPrinter 对象,否则会发生内存泄漏。

在 Form2 中,在 Quickreport1 上放置一个 QRLabel,并实现它的 onPrint 事件处理程序

procedure TForm2.QRLabel1Print(sender: TObject; var Value: string);
begin
  Value := 'Page: ' + IntToStr(QuickRep1.QRPrinter.PageNumber) + ' of ' + IntToStr(FTotalPages);
end;

关于Delphi 快速报告 - 总页数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3616898/

相关文章:

delphi - 如何从 TStringGrid 的内容创建 QuickReport

delphi - 创建二维快速报告

delphi - Excel导出: Text Objects in title band or groupheader band get their own separate columns

delphi - 在 TPNGImage 上拉伸(stretch)绘制

delphi - 如何操作 UnicodeString 的子字符串而不是子数组?

delphi - delphi中如何反序列化子属性?

delphi - 如何确定我的项目在哪里引入了我不想使用的模块?

delphi - 如何在delphi 7中将纸张大小设置为无限

delphi - 如何解析RTSP请求和响应头?

delphi - 如何在显示之前定位表单?