注册 登录
编程论坛 VFP论坛

REPO FORM XSD TO PRINT PROMT

HUXINGKE 发布于 2021-07-19 15:02, 1598 次点击
REPO FORM XSD TO PRINT PROMT 这个报表的打印命令能不能把选择纸张的功能也集成在命令里
5 回复
#2
xuminxz2021-07-19 15:03
REPO FORM XSD TO PRINTER PROMPT PREVIEW
#3
HUXINGKE2021-07-19 15:43
回复 2楼 xuminxz
我想的是,我要配一个自定义纸张,比如纸张名称是 XSD1001 ,如何在命令中把这个纸张写进代码去
#4
xuminxz2021-07-19 16:24
回复 3楼 HUXINGKE
由于打印纸张与打印机有关,所以要先在打印机中设置自定义纸张。再在报表设计时选定。
#5
HUXINGKE2021-07-20 18:34
回复 4楼 xuminxz
我的想法是
   我有一个生成的打印的表DBF,
   这个表的记录数随机,
   可能是3条,8条,13条,这样
   我在打印机定好三种自定义纸张,比如 XSD3,XSD8,XSD13

   最后想在运行报表的命令时
   REPO FORM XSD TO PRINT 这个命令中能不能加入带纸红的参数
   比如 REPO FORM XSD TO PRINT WITH XSD3
   这样,没用过,想有,请高手指导
#6
吹水佬2021-07-20 21:51
报表文件的Expr字段,通常在第一条记录:如
PAPERSIZE=9      (A3==8,A4=9,A5=11,......)
动态修改报表文件,是麻烦点,可不可以
报表文件格式:
只有本站会员才能查看附件,请 登录

报表预览:留意页面大小的变动
只有本站会员才能查看附件,请 登录

程序代码:
CREATE CURSOR tt (f1 I, f2 I)
FOR i=1 TO 10
    INSERT INTO tt VALUES (i,2*i)
ENDFOR
CREATE CURSOR xsd (xsd I, ps I)
INSERT INTO xsd VALUES (3, 8)
INSERT INTO xsd VALUES (4, 9)
INSERT INTO xsd VALUES (5, 11)
SELECT xsd
SCAN
    XSD = "XSD" + TRANSFORM(xsd)
    psXSD = "PAPERSIZE="+ TRANSFORM(ps)
    USE 报表1.frx IN 0 ALIAS bb
    SELECT bb
    GO TOP
    cPS = STREXTRACT(expr,"PAPERSIZE=",0h0D0A)
    IF !EMPTY(cPS)
        REPLACE expr WITH STRTRAN(expr, "PAPERSIZE="+cPS, psXSD)
        USE
        SELECT tt
        REPORT FORM 报表1.frx PREVIEW
    ENDIF
ENDSCAN
1