浅谈vfp报表打印问题(1)

浅谈vfp报表打印问题(1)

ID:30683388

大小:17.11 KB

页数:4页

时间:2019-01-02

浅谈vfp报表打印问题(1)_第1页
浅谈vfp报表打印问题(1)_第2页
浅谈vfp报表打印问题(1)_第3页
浅谈vfp报表打印问题(1)_第4页
资源描述:

《浅谈vfp报表打印问题(1)》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果浅谈VFP报表打印问题(1)摘要:本文简介了在VFP报表打印时如何解决经常遇到的几个问题。关键字:报表设计器1.如何打印指定的页通常情况下,VFP默认打印当前报表的全部内容,这给使用者带来不便,那么如何实现让系统打印指定范围的内容呢?其实很简单,只需在报表打印语句中加上关于打印范围限制的关键字短语RANGE即可。如:打印报表的第2至第5页,可使用如下命令REPORTFORMRANGE,TOPRINTER为增强

2、该语句功能的灵活性,可引入表示欲打印范围的两个参数x和y,分别代表打印的起始和终止页码,将打印命令改写为REPORTFORMRANGEx,yTOPRINTER2.如何计算总页数,以实现每页均打印“第x页共y页”字样VFP系统变量_PAGENO可提供当前的打印页号,但却没有能返回总页数的系统变量,若要实现在报表的每一页均打印“第x页共y页”字样,打印前可根据细节区所打印的记录条数,进行计算,然后再打印,实现方法如下:课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应

3、着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果PUBLICmPAGESELEXXX  &&XXX为欲打印报表的数据源XX=3  &&XX为每页报表细节区所打印的记录条数mPAGE=IIF(MOD(RECC(),XX)=0,RECC()/XX,INT(RECC()/XX)+1)&&mPAGE为报表总页数在报表页脚注添加如下信息即可:"第"+allt(str(_pageno))+"页共"+allt(str(mPAGE))+"页"3.如何使计算机打印纸张类型适合于所设计报表报

4、表在设计时能够正常打印,可是安装到其他计算机或重装系统后,就会出现“XXX带区太大不能放入页中”等提示,而且无法正常退出,这是为什么呢?现作如下解释:我们用报表设计器设计的报表打印程序,保存退出后,磁盘上就会出现.FRX和.FRT文件,我们的所有设计均保存在这两个文件中。在VFP中.FRX相当于.DBF表,.FRT相当于.FPT备注型文件,我们用USE可以象打开.DBF文件一样打开.FRX文件,在.FRX文件中有个Expr备注型字段名,在这个字段名中有如下与打印设置相关的内容:DRIVER=winspoolDEVICE=EpsonLQ-16

5、00KOUTPUT=LPT1:ORIENTATION=0课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果PAPERSIZE=256PAPERLENGTH=2800PAPERWIDTH=2400DEFAULTSOURCE=8PRINTQUALITY=180YRESOLUTION=180TTOPTION=1其中:DEVICE=EpsonLQ-1600

6、K表示系统默认打印机类型为EpsonLQ-1600KPAPERSIZE=25该值256表示是自定义纸张(若=表示A4纸张、=13表示B5纸张)PAPERLENGTH=2800 表示报表设计时纸张长度PAPERWIDTH=2400 表示报表设计时纸张宽度实际打印时之所以会上述提到的问题,是因为在用户环境中或Windows系统重新安装后,系统一般默认的是A4打印纸,与我们设计时保存在.frx文件里的纸张类型不符,因而造成打印出错。为此,笔者编写了如下一段检测纸张类型的代码,这段代码可以帮助我们很好地解决因纸张类型不符所带来的问题。USEIN0A

7、LIASmFrx  &&在空闲工作区以mFrx别名打开文件课题份量和难易程度要恰当,博士生能在二年内作出结果,硕士生能在一年内作出结果,特别是对实验条件等要有恰当的估计。从本学科出发,应着重选对国民经济具有一定实用价值和理论意义的课题。课题具有先进性,便于研究生提出新见解,特别是博士生必须有创新性的成果x=atcline('PAPERSIZE',) &&取得参数PAPERSIZE在Expr字段中的行mTYPE_1=subs(mline(,x),11)&&取得设计时保存的纸张类型mTYPE_2=allt(str(Prtinfo(2)))   

8、&&取得当前打印机默认的纸张类型x=atcline('PAPERLENGTH',)&&取得纸张长度在Expr字段中的行mLEN=subs(mline(,x),13) &&取得纸张

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。