回 帖 发 新 帖 刷新版面

主题:请问如何保存报表中的打印机环境?

在自己的电脑上的定义的纸张尺寸如何应用在别人的电脑上?
谢谢!

回复列表 (共7个回复)

沙发

在那个电脑上定义

板凳

是这样,我已在别人的电脑上定义了同样的尺寸,也是同样的打印机,可显示的还是A4的纸张。不知是哪里没有设置到?请赐教!
谢!

3 楼

报表编辑环境下
“页面设置”中将“保存打印机环境”勾选上就可以了

4 楼

以下代码可以自动初始化纸张
sheettype记录你所要用到的各种特殊报表及纸张信息,主要字段如下:
sheetfile      &&报表名,带完整扩展名,且要设置为“排除”
paptype        &&纸张型号(即服务器属性里看到的纸张类型名称)
papwidth       &&宽度(单位为0.1MM)
papheight      &&高度(单位为0.1MM)
papid          &&纸张代号,很重要的东西,系统就认这玩意,初始化后自动写入,并更新报表文件


下列代码运行一次即可新增纸张,并调整报表,只需在软件安装后(或重装系统后)运行一次,需木瓜大侠的myfll.fll支持

SELE paptype,papwidth,papheight dist from sheettype into curs tsheet
*读取纸张代号
SELE tsheet
SCAN
    IF 'NT'$GETENV("OS")
        paperid=paperadd(tsheet.paptype,tsheet.papwidth,tsheet.papheight)
        IF paperid=0
            paperid=paperinfo(tsheet.paptype,1)
        ENDI
    ELSE
        paperid=256
    ENDI
     sele sheettype
    REPL papid with paperid for paptype==tsheet.paptype
    SELE tsheet
ENDS
SELE sheettype
SCAN
    reportname=allt(sheetfile)
    SELE 0
    USE &reportname alia reportfile
    LOCA for objtype=1 and objcode=53
*调整自定义纸张代号
    frxset=expr
    FRXSET=SUBST(FRXSET,1,AT('PAPERSIZE=',FRXSET)+9)+ALLT(STR(paperid))+SUBST(SUBST(FRXSET,AT('PAPERSIZE=',FRXSET)),AT(CHR(13)+CHR(10),SUBST(FRXSET,AT('PAPERSIZE=',FRXSET))))
    FRXSET=SUBST(FRXSET,1,AT('ASCII=',FRXSET)+5)+ALLT(STR(paperid))+SUBST(SUBST(FRXSET,AT('ASCII=',FRXSET)),AT(CHR(13)+CHR(10),SUBST(FRXSET,AT('ASCII=',FRXSET))))
    REPL expr with frxset
    USE in reportfile
    SELE sheettype
ENDS

5 楼

谢谢各位的指点。

6 楼


运行4楼上程序出现:
paperid=paperadd(tsheet.paptype,tsheet.papwidth,tsheet.papheight)
时,“paperadd.prg不存在”,是不是缺少了什么?

7 楼

需木瓜大侠的myfll.fll支持 详细读四楼的说明

我来回复

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