用FastReport如何设计连续纸报表(即报表长度由记录长度而定)? 用FastReport如何设计连续纸报表(即报表长度由记录长度而定)? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这个是我用过的一个实例,我没有改过,稍理解一下! rquery1.close; rquery1.sql.Clear ; rquery1.sql.add('select * from vs_pos where (c_code='+quotedstr(master.fieldbyname('c_code').value)+')'); rquery1.open; frReport1.LoadFromFile(posmainform.exepath + 'report\pos.frf'); //小票设纸张长度************************************filename:=ExtractFilePath(paramstr(0))+'setup.ini';myinifile:=TInifile.Create(filename);frreport1.Pages.pages[0].pgHeight:=frreport1.Pages.pages[0].pgHeight+myinifile.readinteger('printsetup','height',0)*rquery2.RecordCount;myinifile.Destroy; frReport1.ShowReport; frPreview1.Clear; frPreview1.Visible:=true; frReport1.ShowReport; frPreview1.Print; 可以frreport1.Pages.pages[0].pgHeight:=frreport1.Pages.pages[0].pgHeight+myinifile.readinteger('printsetup','height',0)*rquery2.RecordCount;这个就是程序自行动态修改长度的!(运行时,非设计时)上面是基本长度+ 一个记录的长度(读取INI文件,可以修改)*记录数可以结帐了吧! 可不可以不要myinifile,直接把printsetup放在frreport1中? 可以啊!随意,你直接赋值也可以啊!frreport1.Pages.pages[0].pgHeight:=frreport1.Pages.pages[0].pgHeight+20*rquery2.RecordCount; minghuisong兄,谢谢了,现在的问题是如何在报表中保存一个常量,如果为0时,报表长度固定,如果不为零,报表长度=常量*RecordCount,但怎样在报表中设一个常量呢,好像只可以设变量啊? 那就用我原来的办法,将常量保存在ini文件中啊! 求助 关于处理重复信息的 自己写的unit,怎样直接引用,而不要每次都要调用,都要生成事例 还是CX控件问题 dggrid 中怎样控制每列的宽度啊 如何检测程序的网络连接状态?(能适用M$大多数系统的那种) 我的记录中有一个日期字段,如何将这个字段的值设为空值? 求救 一个简单问题:怎样用SQL语句把单字段的两个记录转成双字段的一个记录。 有关文本文件的操作 请问SQL查询语句'SELECT' 如何将结果赋给变量? 在线:如何获取本机IP? ****毕业设计调查****
rquery1.close;
rquery1.sql.Clear ;
rquery1.sql.add('select * from vs_pos where (c_code='+quotedstr(master.fieldbyname('c_code').value)+')');
rquery1.open;
frReport1.LoadFromFile(posmainform.exepath + 'report\pos.frf');
//小票设纸张长度************************************
filename:=ExtractFilePath(paramstr(0))+'setup.ini';
myinifile:=TInifile.Create(filename);
frreport1.Pages.pages[0].pgHeight:=frreport1.Pages.pages[0].pgHeight+myinifile.readinteger('printsetup','height',0)*rquery2.RecordCount;
myinifile.Destroy;
frReport1.ShowReport;
frPreview1.Clear;
frPreview1.Visible:=true;
frReport1.ShowReport;
frPreview1.Print;
frreport1.Pages.pages[0].pgHeight:=frreport1.Pages.pages[0].pgHeight+myinifile.readinteger('printsetup','height',0)*rquery2.RecordCount;这个就是程序自行动态修改长度的!(运行时,非设计时)
上面是
基本长度+ 一个记录的长度(读取INI文件,可以修改)*记录数可以结帐了吧!