主题:请教一个麻烦问题
小野芒草
[专家分:670] 发布于 2009-07-22 14:26:00
我是用vfp6的,每次打印过东西,都会在打印机上产生一个空文档,当退出vfp时,打印机就会空卷一张纸(其实就是打印了这个空文档)。这是什么原因呢?大家有没有也碰到过这个现象?
请教高手解答一下:有什么办法避免,是否我的设置问题
以前用hp laser 6L的打印机,也就空打一张纸算了,现在换了hp 1008,时常没法打印,得退出v再重启vfp才能继续打印,头都大了。顺便说一下,打印word啥的都正常,所以怀疑是vfp的这个空文档问题作的怪....谢谢
回复列表 (共8个回复)
沙发
martine [专家分:4950] 发布于 2009-07-22 15:42:00
先别打印,先预览,看预览时是否有空纸.如果有,就是报表设计有问题.修改报表.
板凳
小野芒草 [专家分:670] 发布于 2009-07-22 22:45:00
不是报表设计问题。简单说就是只要打印机工作过,就会在打印机上产生一空文档,退出vfp时打印机就会自动打印这个文档。有办法在不退出vfp时消除这个空文档吗?为什么vfp要产生这个空文档?为什么,为什么.....
3 楼
martine [专家分:4950] 发布于 2009-07-23 08:27:00
REPORT FORM report2 NOCONSOLE TO PRINTER PROMPT 是这样调用报表吗?
贴出相关代码看看,有时也和打印机的设置有关.你是打连续纸吗?
4 楼
sywzs [专家分:5650] 发布于 2009-07-24 05:29:00
[quote]不是报表设计问题。简单说就是只要打印机工作过,就会在打印机上产生一空文档,退出vfp时打印机就会自动打印这个文档。有办法在不退出vfp时消除这个空文档吗?为什么vfp要产生这个空文档?为什么,为什么.....[/quote]
把关于打印的代码贴出来,也好帮你分析呀。
5 楼
小野芒草 [专家分:670] 发布于 2009-07-24 16:56:00
先谢谢楼上几位
我只要用了打印功能,如最简单的:
set print on
set device to print
@1,1 say '#$%^&'
eject
set device to screen
set print off
完成这个打印后,如果去控制面板查看,就看到打印机上有一个待打印文档,其实是一个空文档。此时退出vfp时,打印机就会自动打印这个空文档(其实就是空走一张纸)。
在vfp上打印次数再多,这个空文档只有一个。
以前用hp 6L激光打印机时,只是空走一张纸也算了,现在换了hp 1008打印机,每次打印过东西后,如果隔了大约十几分钟再打印,打印机就没有反应,好象是被这个空文档堵住了,非得退出vfp再重新运行vfp后,才能进行新的打印。
全部情况就是这样,请各位老师释疑,多谢
6 楼
martine [专家分:4950] 发布于 2009-09-06 15:34:00
如果设计了报表,程序中就不需要这些东西了
set print on
set device to print
@1,1 say '#$%^&'
eject
set device to screen
set print off
只这一句就可以了
REPORT FORM report2 NOCONSOLE TO PRINTER PROMPT
空白可能就是上面几句产生的,那是DOS时代的产物,不适应Windows
7 楼
yin梦湖 [专家分:20] 发布于 2009-09-08 08:51:00
只要再送一行空行 "to prin" 就可以了~~~比如,如果有数库打开的话,加一句代码: disp off fiel " " to prin~~~
示例(注意末句代码)~~
set prin on
set devi to prin
scan
if m期号+"期"$ztxt
set prin font "黑体",10
@ 2, 4 say trim(ztxt)
loop
endif
set prin font "黑体",11
@ prow()+jgrow,jgleft say trim(ztxt)
endscan
[color=ff0000] set devi to scre
set prin off[/color]
go bott
[color=FF0000] set prin font "宋体",2
disp off fiel " " to prin[/color]
8 楼
iamstar [专家分:10] 发布于 2009-09-10 08:54:00
我遇到这种情况,不过与报表肯定没有关系。报表打印时很正常。这个问题可能是foxpro的漏洞。只要在程序中用 ?,eject,@之类,都会走纸。在foxpro6.0以上,打印完后,不需要eject了。
走纸一张,致今没有解决,就让它走吧!不过不会是在退出foxpro之后打印的,可以立即打印。这个可能与页面设置有关,可以在页面设置中选择,立即打印、后台打印或前台打印等试试。
我来回复