急!Fastreport如何设置打印初始位置?(100分)

  • 主题发起人 主题发起人 lxn820217
  • 开始时间 开始时间
L

lxn820217

Unregistered / Unconfirmed
GUEST, unregistred user!
用fastreport打印不干胶商品编号标签,不干胶纸相当于A4纸大小,打满可打印50个标签。问题是有时每次仅打印几个标签,下次再打印时还要接着这个位置打印,这就需要:
1、必须记住本次打印的位置(行,列);
2、再打印必须从上次位置开始;
怎样能得到已打印的位置(行,列)? 怎样能从指定的位置(行,列)开始打印?
(我用的是fr4版)
 
客户着急要,哪位能否告诉我,怎样能从指定的位置(行,列)开始打印?
 
怎么没人回答???
 
[:D]
把打印了的那块裁掉不就行了么
 
现在就是这样做的,将打印了的那块裁掉,但用户要求自动接着上次的位置打印!这就需要保存已打印的行与列,问题是怎样获得行与列?!自己编的打印程序可以得到,但用fastreport不知怎样得到!
 
怎样取(行,列)值!
 
倒着打,
开个玩笑,fastreport里面有打印的TopMargin,LeftMagin,Rightmargin等参数,参考一下源码吧。
 
要不然统计已经打印的个数,再打印时,从个数+1开始打!
 
没人帮忙吗?!
 
我以前作过这个程序,先建立数据库保存打印位置。再次打印时从数据库中取出位置,并赋给变量store,(store是上次打印的个数),编写frxreport事件,程序如下:
procedure TDemo3.frxReport1ManualBuild(Page: TfrxPage);
var ch:Tfrxchild;
q:Tfrxmasterdata;
i:integer;
begin
ch:=Tfrxchild(frxReport1.FindObject('child1'));
q:=Tfrxmasterdata(frxReport1.FindObject('MasterData1'));
i:=1;
while i<=storedo
begin
Page.Report.Engine.ShowBand(ch);
i:=i+1;
end;

ADOQuery1.First;
while not ADOQuery1.Eofdo
begin
Page.Report.Engine.ShowBand(q);
store:=store+1;
if store=50 then
store:=0;
ADOQuery1.Next;
end;
end;
打印结束后,再次将store保存到数据库中!这样每次都接上次打印的位置接着打!
 
非常感谢lwx520416,我用你的程序试过,完全好用,分数全给你!
 

Similar threads

D
回复
0
查看
867
DelphiTeacher的专栏
D
D
回复
0
查看
836
DelphiTeacher的专栏
D
D
回复
0
查看
785
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
1K
DelphiTeacher的专栏
D
后退
顶部