回 帖 发 新 帖 刷新版面

主题:请教一个麻烦问题

我是用vfp6的,每次打印过东西,都会在打印机上产生一个空文档,当退出vfp时,打印机就会空卷一张纸(其实就是打印了这个空文档)。这是什么原因呢?大家有没有也碰到过这个现象?

请教高手解答一下:有什么办法避免,是否我的设置问题

以前用hp laser 6L的打印机,也就空打一张纸算了,现在换了hp 1008,时常没法打印,得退出v再重启vfp才能继续打印,头都大了。顺便说一下,打印word啥的都正常,所以怀疑是vfp的这个空文档问题作的怪....谢谢

回复列表 (共8个回复)

沙发

先别打印,先预览,看预览时是否有空纸.如果有,就是报表设计有问题.修改报表.

板凳

不是报表设计问题。简单说就是只要打印机工作过,就会在打印机上产生一空文档,退出vfp时打印机就会自动打印这个文档。有办法在不退出vfp时消除这个空文档吗?为什么vfp要产生这个空文档?为什么,为什么.....

3 楼

REPORT FORM report2 NOCONSOLE TO PRINTER PROMPT 是这样调用报表吗?
贴出相关代码看看,有时也和打印机的设置有关.你是打连续纸吗?

4 楼

[quote]不是报表设计问题。简单说就是只要打印机工作过,就会在打印机上产生一空文档,退出vfp时打印机就会自动打印这个文档。有办法在不退出vfp时消除这个空文档吗?为什么vfp要产生这个空文档?为什么,为什么.....[/quote]
把关于打印的代码贴出来,也好帮你分析呀。

5 楼

先谢谢楼上几位

我只要用了打印功能,如最简单的:
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 楼

如果设计了报表,程序中就不需要这些东西了
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 楼


只要再送一行空行 "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 楼

我遇到这种情况,不过与报表肯定没有关系。报表打印时很正常。这个问题可能是foxpro的漏洞。只要在程序中用 ?,eject,@之类,都会走纸。在foxpro6.0以上,打印完后,不需要eject了。

走纸一张,致今没有解决,就让它走吧!不过不会是在退出foxpro之后打印的,可以立即打印。这个可能与页面设置有关,可以在页面设置中选择,立即打印、后台打印或前台打印等试试。

我来回复

您尚未登录,请登录后再回复。点此登录或注册