想要通过reportmachine实现批量的目录打印,但是现在存在一个问题,没法根据分组依据来生成页码,比如我想实现分组“姓名”下,同一“姓名”分组的页码递增,非同一姓名时,页码重置为1然后每页递增,但是自带的_RM_page函数没法实现,需要如何操作来达成目的结构概览。
因为是初学者所以希望带有关键位置的代码带有注释。
报表概览
打印概览
以下是网上找到的脚本代码
unit Report;
interface
implementation
procedure Main;
begin
end;
procedure PageFooter1_OnBeforPrint(Sender: TObject);
begin
if not FinalPass then
begin
if hId<>GetFieldValue('rmcheck1."CD"') then
begin
hId:=GetFieldValue('rmcheck1."CD"');
k:=k+1;
end else
begin
i:=0;
j:=0;
end;
PageArray[k]:=PageArray[k]+1;
end else
begin
if hId<>GetFieldValue('rmcheck1."CD"') then
begin
hId:=GetFieldValue('rmcheck1."CD"');
i:=hPageNo;
hPageNo:=i+1;
j:=1;
end else
begin
if i=0 then
begin
j:=j+1;
hPageNo:=j;
end else
begin
hPageNo:=j;
i:=0;
end;
end;
end;
hPage.AsString := '第 '+IntToStr(hPageNo)+' 页 共 '+IntToStr(hPageTotal)+' 页'+'l'+IntToStr(l);//+'i'+IntToStr(i)+'j'+IntToStr(j);
end;
end.
https://jingyan.baidu.com/article/17bd8e523fb29385ab2bb8bb.html