欢迎来到天天文库
浏览记录
ID:26614342
大小:51.50 KB
页数:4页
时间:2018-11-28
《浅谈vfp报表打印问题 》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库。
1、浅谈VFP报表打印问题摘要:本文简介了在VFP报表打印时如何解决经常遇到的几个问题。关键字:报表设计器1.如何打印指定的页通常情况下,VFP默认打印当前报表的全部内容,这给使用者带来不便,那么如何实现让系统打印指定范围的内容呢?其实很简单,只需在报表打印语句中加上关于打印范围限制的关键字短语RANGE即可。如:打印报表XXX.FRX的第2至第5页,可使用如下命令REPORTFORMXXX.FRXRANGE2,5TOPRINTER为增强该语句功能的灵活性,可引入表示欲打印范围的两个参数x和y,分别代表打印的起始和终止页码,将打印命令改写为REPORTFOR
2、MXXX.FRXRANGEx,yTOPRINTER2.如何计算总页数,以实现每页均打印“第x页共y页”字样VFP系统变量_PAGENO可提供当前的打印页号,但却没有能返回总页数的系统变量,若要实现在报表的每一页均打印“第x页共y页”字样,打印前可根据细节区所打印的记录条数,进行计算,然后再打印,实现方法如下:PUBLICmPAGESELEXXX XXX为欲打印报表的数据源XX=35 XX为每页报表细节区所打印的记录条数mPAGE=IIF(MOD(RECC(),XX)=0,RECC()/XX,INT(RECC()/XX)+1)mPAGE为报表总页数在
3、报表页脚注(或其他合适位置)添加如下信息即可:"第"+allt(str(_pageno))+"页共"+allt(str(mPAGE))+"页"3.如何使计算机打印纸张类型适合于所设计报表报表在设计时能够正常打印,可是安装到其他计算机或重装系统后,就会出现“XXX带区太大不能放入页中”等提示,而且无法正常退出(尤其是对报表设计时采用自定义纸张的程序),这是为什么呢?现作如下解释:我们用报表设计器设计的报表打印程序,保存退出后,磁盘上就会出现.FRX和.FRT文件,我们的所有设计均保存在这两个文件中。在VFP中.FRX相当于.DBF表,.FRT相当于.FPT
4、备注型文件,我们用USEXXX.FRX可以象打开.DBF文件一样打开.FRX文件,在.FRX文件中有个Expr备注型字段名,在这个字段名中有如下与打印设置相关的内容(不同设置内容稍有差别):DRIVER=Frx 在空闲工作区以mFrx别名打开xxx.frx文件x=atcline('PAPERSIZE',mFrx.Expr) 取得参数PAPERSIZE在Expr字段中的行mTYPE_1=subs(mline(mFrx.Expr,x),11)取得设计时保存的纸张类型mTYPE_2=allt(str(Prtinfo(2))) 取得当前打印机默认的纸张
5、类型x=atcline('PAPERLENGTH',mFrx.Expr)取得纸张长度在Expr字段中的行mLEN=subs(mline(mFrx.Expr,x),13) 取得纸张长度x=atcline('PAPERFrx.Expr) 取得纸张宽度在Expr字段中的行mline(mFrx.Expr,x),12)取得纸张宽度usein'mFrx' 关闭xxx.frx文件ifmTYPE_1=mTYPE_2 如果相符,则正常打印 reportformxxx.frxtoprinternoconsoleelse Messagebox('请
6、设置打印机纸张类型为自定义:长='+mLEN+',宽='+mxxx.frxtoprinterpromptend注:本文中相应命令和程序段均在VFP6.0环境下运行通过。
此文档下载收益归作者所有