R
regentsoft
Unregistered / Unconfirmed
GUEST, unregistred user!
fastreport:记录有多长,我们就打多远!
最近研究报表打印,是关于服装方面打印飞仔的,飞仔打印是连续送纸的,根据你的服装
款号,工序多少与数量多少不等来打印飞仔。所以,如果工序大,数量多,打印的飞仔就
长。反之则相反。
纸张的宽度为2100(单位是:0.1MM)。
纸张不限长度!
我的想法是:通过数据集的记录量,乘上一条记录所打印需要的高度,得到我这里产生
的数据集的共需要生成的fastreprot的页面高度。宽度是固定的2100。
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
ss:integer;
begin
frReport1.LoadFromFile('E:/temp/Untitled.frf');
ss:=strtoint(edit1.text)*adoquery1.RecordCount ;
//edit1就是我单条记录的高度
frReport1.Pages[0].ChangePaper($100,2100,ss,-1,poPortrait);
frReport1.ShowReport;
end;
这样后,问题是解决了。当我设置好了单条高度,打印400条或是500条,都很正常。
可是我一回到40条,或是50条的时候,页面就不够了,这里我再将单条记录的高度增加
一点,在40或是50条记录正常时,再打印400或是500条记录时,后面又有4CM左右的空余!
我认为:这是由于Fastreprot的纸的间距造成的,但是我已将之全设为0,而为何还会有间距呢?
打印格式:
http://www.delphibbs.com/keylife/images/u247871/ddd.JPG
最近研究报表打印,是关于服装方面打印飞仔的,飞仔打印是连续送纸的,根据你的服装
款号,工序多少与数量多少不等来打印飞仔。所以,如果工序大,数量多,打印的飞仔就
长。反之则相反。
纸张的宽度为2100(单位是:0.1MM)。
纸张不限长度!
我的想法是:通过数据集的记录量,乘上一条记录所打印需要的高度,得到我这里产生
的数据集的共需要生成的fastreprot的页面高度。宽度是固定的2100。
代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
ss:integer;
begin
frReport1.LoadFromFile('E:/temp/Untitled.frf');
ss:=strtoint(edit1.text)*adoquery1.RecordCount ;
//edit1就是我单条记录的高度
frReport1.Pages[0].ChangePaper($100,2100,ss,-1,poPortrait);
frReport1.ShowReport;
end;
这样后,问题是解决了。当我设置好了单条高度,打印400条或是500条,都很正常。
可是我一回到40条,或是50条的时候,页面就不够了,这里我再将单条记录的高度增加
一点,在40或是50条记录正常时,再打印400或是500条记录时,后面又有4CM左右的空余!
我认为:这是由于Fastreprot的纸的间距造成的,但是我已将之全设为0,而为何还会有间距呢?
打印格式:
http://www.delphibbs.com/keylife/images/u247871/ddd.JPG