| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 765 人关注过本帖
标题:为什么我的打印程序 运行后只有退出vfp才能执行打印呢
只看楼主 加入收藏
qq156059757
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2010-5-15
结帖率:83.33%
收藏
已结贴  问题点数:5 回复次数:3 
为什么我的打印程序 运行后只有退出vfp才能执行打印呢
还请各位仁兄指点一二,我的程序执行后   不立即打印,只有退出vfp有 才打印 这是什么原因呢
程序如下
SET TALK OFF
SET SAFE OFF
CLOSE DATA
SET TALK OFF
USE HJ
SUM SHF,FDGZ,GLGZ,clgz,JBF,ZYC,FLF,CB,DZF,SBF,JIBGZ,fj TO SHF1,FDGZ1,GLGZ1,clgz1,JBF1,ZYC1,FLF1,CB1,DZF1,SBF1,JIBGZ1,fj1 FOR XZ='1'.OR.XZ='2'.OR.XZ='3'
SUM CX,BSJ,BXJ,FZSD,YYF,SFGZ TO CX1,BSJ1,BXJ1,FZSD1,YYF1,SFGZ1 FOR XZ='1'.OR.XZ='2'.OR.XZ='3'
SUM YLJ,BJF,HD3,HD4,HD5 TO YLJ1,BJF1,HD31,HD41,HD51 FOR XZ='1'.OR.XZ='2'.OR.XZ='3'
sum hd7,hd8,LC to hd71,hd81,LC1 FOR XZ='1'.OR.XZ='2'.OR.XZ='3'
SET CONS OFF
SET DEVICE TO PRINT
SET PRINT ON
SET PRINTER FONT '宋体', 15  &&字符集可用AFONT() 显示
?'                                 计'
?'             : '
?'     生 活 费:'+str(SHF1,10,2)+'        岗位工资:'+str(FDGZ1,10,2)+'        年功工资:'+str(GLGZ1,10,2)
?'     福 利 费:'+str(FLF1,10,2)+'        交通通讯:'+str(CB1,10,2) +'        中 夜 餐:'+str(ZYC1,10,2)
?'     独 子 费:'+str(DZF1,10,2)+'        书 报 费:'+str(SBF1,10,2)+'        加 班 费:'+str(JBF1,10,2)
?'         贴:'+STR(HD51,10,2)+'        保 健 费:'+STR(BJF1,10,2)+'        级别工资:'+str(JIBGZ1,10,2)
?'         补:'+str(clgz1,10,2)+'        取 暖 费:'+str(fj1,10,2)
USE HD
INDEX ON HD1M TO HD1
SET INDEX TO HD1
TOTAL ON HD1M FIELDS HD1 TO HD1 FOR XZ='1'.OR.XZ='2'.OR.XZ='3'
USE HD1
?
DO WHILE .NOT.EOF()
  IF HD1<>0
    ?'     '+TRIM(HD1M)+':'+STR(HD1,10,2)+''&& 附加 ?
  ENDIF
  SKIP
ENDDO
?'           资:  '+str(hd81,10,2) &&自动计算
?'             :'
?'     房租水电:'+str(FZSD1,10,2)+'        病 事 假:'+str(BSJ1,10,2)+'        新 工 险:'+STR(YYF1,10,2)
?'     养老保险:'+STR(YLJ1,10,2) +'        失 业 金:'+STR(BXJ1,10,2)+'            保:'+STR(HD31,10,2)
?'         税:'+str(hd71,10,2)

USE HD
INDEX ON HD2M TO HD2
SET INDEX TO HD2
TOTAL ON HD2M FIELDS HD2 TO HD2 FOR XZ='1'.OR.XZ='2'.OR.XZ='3'
USE HD2
DO WHILE .NOT.EOF()
  IF HD2<>0
    ??'        '+TRIM(HD2M)+':'+STR(HD2,10,2) &&+''
  ENDIF
  SKIP
ENDDO
? '           资:'+str(SFGZ1,12,2)
set print off
SET DEVICE TO SCREEN
eject
set cons on
RETURN
text
2011-01-12 17:19
qjbzjp
Rank: 13Rank: 13Rank: 13Rank: 13
来 自:尧的故乡
等 级:贵宾
威 望:48
帖 子:1914
专家分:4397
注 册:2007-3-14
收藏
得分:2 
eject  &&把这句提前试试
set print off
SET DEVICE TO SCREEN

楼主应该升级VF了。

相互学习,互相交流,共同提高。
2011-01-12 18:48
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:3 
    呵呵,楼上,这不是版本的问题,只要在SET DEVICE TO SCREEN后面加一句 SET PRINT TO就OK了。
    当然,把eject放在set print off的前面也应该的,因为eject是走纸,如果放在set print off后面,打印机已经关闭,叫它如何走纸呢。

两人行已有我师……
2011-01-12 21:23
summer196312
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-22
收藏
得分:0 
我按此方法试了可还是不行,一定要退出VFP,打印机才开始打印.
@ Y,0 SAY '┃本科合计│'+STR(G1,10,2)+STR(G2,10,2)+STR(G3,10,2)+STR(G24,10,2)+STR(G9,10,2)+STR(G4,10,2)+STR(G5,10,2)+STR(G6,10,2)+STR(G7,10,2)+STR(G8,10,2)+STR(YF,10,2)+'┃'
@ Y,124 SAY STR(K1,8,2)+STR(K2,8,2)+STR(K3,8,2)+STR(K4,8,2)+STR(K5,8,2)+STR(K6,8,2)+STR(K13,8,2)+'          ┃'
Y=Y+1
@ Y,0 SAY '┃'+STR(RS,6)+'人│'+'                                                                                                              ┃'
@ Y,124 SAY STR(K7,8,2)+STR(K8,8,2)+STR(K9,8,2)+STR(K10,8,2)+STR(K11,8,2)+STR(K12,8,2)+STR(YKHJ,8,2)+STR(UF,10,2)+'┃'
      Y=Y+1
      @ Y,0 SAY L7
       Y=Y+1
       @ Y, 0 SAY ' '
    ELSE
    Y=Y+1
    @ Y,0 SAY L7
   ENDIF
SET DEVI TO PRINT
SET CONS OFF
SELE 1
ENDDO
ENDDO
eject
SET PRINT OFF
SET DEVI TO SCRE
SET PRINT TO
SET CONS ON
RETURN
2013-01-30 21:20
快速回复:为什么我的打印程序 运行后只有退出vfp才能执行打印呢
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.023590 second(s), 9 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved