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 объявлен в Form2, которая содержит компонент TQuickRep.
public
{ Public declarations }
FTotalPages: Integer;
Обратите внимание, что объект QRPrinter должен быть освобожден после Prepare и до PreviewModal (или .Print), иначе вы получите утечку памяти.
В Form2 на Quickreport1 поместите QRLabel и реализуйте его обработчик события onPrint
procedure TForm2.QRLabel1Print(sender: TObject; var Value: string);
begin
Value := 'Page: ' + IntToStr(QuickRep1.QRPrinter.PageNumber) + ' of ' + IntToStr(FTotalPages);
end;