| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1810 人关注过本帖
标题:ucdos7.0 程序在 vfp6.0 下打印无法对齐
只看楼主 加入收藏
啸凡
Rank: 8Rank: 8
等 级:贵宾
威 望:45
帖 子:1356
专家分:885
注 册:2006-2-22
收藏
得分:0 
九楼的意见很值得参考,建议楼主要打印前定义一下字体和字号大小,不要使用默认字体,这样应该可以解决。这应该是最简便的办法了

两人行已有我师……
2010-05-16 09:58
qq156059757
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2010-5-15
收藏
得分:0 
回复 11楼 啸凡
在vfp下我试过设置字体
遗憾是总找不到合适的,或者是字体对齐了,上边的点和下边的点间距就缩小了 很难看
现在正在学习如何用报表打印,谢谢您的关注
再问一下,报表能打印在381mm*279三联打印纸上吗,还有报表默认好像是a4的  如何调整啊
2010-05-16 14:48
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:0 
windows系统的打印纸如果没有适合381mm*279三联打印纸的话,可以设置自定义纸张。在打印机和传真窗口内的文件菜单下的服务器属性里设置。然后在vfp报表设计器里的页面设置里选择该纸张即可。这样在本机使用没问题。
如果要发布到其他机子上运行,就复杂多了。

认真看书学习,弄通Fox主义。
2010-05-16 15:37
qq156059757
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2010-5-15
收藏
得分:0 
回复 6楼 啸凡
表格已经画好了
打印的效果还不错
只是插入打印日期、打印页码,以及单位汇总的问题还解决不了
日期要求:年.月.12   打印页码:第**页
单位汇总:要求在最后一个人名的下一行打印,如何实现呢(我用求和得到的是本页的合计数,如果一个单位有几页的话 就不好办了,每页都有小计,而没有总计,而这工资表只需要总计数)
还请指点,谢谢
2010-05-17 10:24
qq156059757
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2010-5-15
收藏
得分:0 
回复 13楼 wzxc
页码问题已经解决
按照您所说的自定义纸张设置后
在vfp中找不到设置后的纸张,是不是哪里出问题一了
请明示
2010-05-17 14:05
qq156059757
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2010-5-15
收藏
得分:0 
回复 15楼 qq156059757
谢谢大家的关注
现在合计数的问题已经解决
还有纸张设置的问题啦

2010-05-17 15:36
wzxc
Rank: 9Rank: 9Rank: 9
来 自:齐鲁大地
等 级:贵宾
威 望:39
帖 子:985
专家分:1296
注 册:2006-4-25
收藏
得分:10 
以下是引用qq156059757在2010-5-17 14:05:21的发言:

页码问题已经解决
按照您所说的自定义纸张设置后
在vfp中找不到设置后的纸张,是不是哪里出问题一了
请明示
怎么会呢?好好找找。
打开报表,选菜单的“页面设置”,打开对话框,在页面布局选项卡里,点“页面设置”按钮,再打开一个对话框,应该可以找得到的。

认真看书学习,弄通Fox主义。
2010-05-17 16:03
qq156059757
Rank: 1
等 级:新手上路
帖 子:77
专家分:9
注 册:2010-5-15
收藏
得分:0 
回复 17楼 wzxc
我用的是ds-800的打印机,驱动也是ds-800的
在里面找不到,可能是次驱动不支持自定义纸张吧
后来更换驱动为epson lq-1600kIII    哈哈 找到自定义纸张了
谢谢各位大侠的支持,谢谢
问题已基本解决
2010-05-17 17:46
summer196312
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-22
收藏
得分:0 
DOS上Foxbase编写的打印程序在Foxpro 9.0下运行,设为宋体8号字可在microsoft office Document Image Writer虚拟打印机上得到整齐的竖线,但输出到Canon真实打印机上则竖线不齐.改成其它9、11等字号后,则打印均不齐。我不想用表单设计器重新设计报表。请问有什么好方法没有。下面是我的打印程序(行太长,删了一些方便看些)从“应发合计”后的竖线不齐。楼上啸凡一看就是大家,问题说到点子上了。但我这个工资程序是给同事用的,每个月都要打,表单设计器重新设计报表用起来没有以前那么简单。所以还是希望用编程(也就是修改foxbase程序)的方式来做报表。请各位帮忙!看在我50岁、女的、非计算机专业的菜鸟份上。另外,还有一个问题,就是要退出Foxpro打印才能开始。
***************************PR1.PRG 打印工资发放表*
***************************
SET ESCAPE ON
set message to 0
SET TALK OFF
CLEAR
* SELE 1
* USE GZ&NHS&YFS INDEX BH&NHS&YFS
* SELE 2
* USE GZTJ&NHS&YFS INDEX BHTJ&NHS&YFS
DD='Y'
DO WHILE UPPE(DD)='Y'
SET DEVI TO SCRE
DO KSXZ1
 if H1='  ' .OR. H2='  '
*  CLOSE DATA
  retu
 endif
SELE 1
LOCA FOR SUBS(BH,1,2)=H1
   IF EOF()
    @ 10,10 SAY '该科不存在,请重新输入' GET DD PICT 'Y'
    READ
    LOOP
   ENDIF
SET PRINT ON
SET DEVI TO SCRE
CLEAR
@ 4,17 SAY '■ □  正在打印['+KSMC+']工资发放表  □ ■'
DO WHILE SUBS(BH,1,2)>=H1.AND.SUBS(BH,1,2)<=H2.AND..NOT.EOF()
SET DEVI TO PRINT
SET CONS OFF
set prin font "宋体",8
Y=0
@ Y,62 SAY '                研究所      职工工资发放表'
Y=Y+2
@ Y,0 SAY '科室:'+KSMC+SPACE(60)+'20'+NHS+'年'+YFS+'月份'
Y=Y+1
L1='┏━━━━┳━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┳━━━━━━━'
L2='┃编    号┃  岗位工资   薪级工资  岗位津贴  住房补贴   地区差   节日补贴   公积金     交通费    其他            应发合计┃  扣水电  扣保'
L3='┃姓    名┃                                                                                                              扣医保  电话'
L4='┣━━━━╋━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━╋━━━━━━━'
L5='┃编    号┃  岗位工资   薪级工资  生活补贴  住房补贴   地区差   节日补贴   护理费     交通费    其他             应发合计┃  扣水电  扣保'
L6='┃姓    名┃                                                                                                                扣医保  电话'
L8='┃编    号┃   退休费    特殊津贴  生活补贴  住房补贴   地区差   节日补贴                        其他             应发合计┃  扣水电  扣保'
L7='┗━━━━┻━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┻━━━━━━━'
@ Y,0 SAY L1
Y=Y+1
  IF SUBS(H1,1,1)='F'
          @ Y,0 SAY L5
          Y=Y+1
          @ Y,0 SAY L6
  ELSE
       IF SUBS(H1,1,1)='G'
          @ Y,0 SAY L8
       Y=Y+1
          @ Y,0 SAY L9
       ELSE
          @ Y,0 SAY L2
          Y=Y+1
          @ Y,0 SAY L3
       ENDIF
  ENDIF
X=0
DO WHILE X<15 .AND.SUBS(BH,1,2)=H1
y=y+1
@ Y,0 SAY L4
Y=Y+1
@ Y,0 SAY '┃'+BH+'   ┃ '+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 '┃'+XM+'┃'+'                                                                                                            ┃'
@ 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)+'┃'
X=X+1
KSM=KSMC
 SKIP
 ENDDO
   IF SUBS(BH,1,2)<>H1
      H1=SUBS(BH,1,2)
     SELE 2
      LOCA FOR KSMC=KSM
Y=Y+1
@ Y,0 SAY L4
Y=Y+1
@ 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
* CLOSE DATA
RETURN
TEXT
2013-01-30 23:36
summer196312
Rank: 1
等 级:新手上路
帖 子:6
专家分:0
注 册:2013-1-22
收藏
得分:0 
Microsoft Visual FoxPro.rar (11.28 KB)
这是打印的效果,由于图片贴不上来,只好用附件的方式
2013-01-30 23:48
快速回复:ucdos7.0 程序在 vfp6.0 下打印无法对齐
数据加载中...
 
   



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

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