我必须修改打印一些数据的程序。 现在的任务是编写一种在达到某个行号时如何开始新页面的新方法。由于在假脱机文件的末尾打印了一些常量数据,因此不能将它们与新页面分开。
目前的方法是增加一个计数器。但这是非常糟糕的方式,因为在打印条形码时,我不知道这个条形码有多大(多少行)。并且,我希望实现一种可以在所有程序上实现的方式,因此我不必自己测试并获得每个条形码的大小。
我知道有显示文件的数据结构告诉我光标位置。所以 - 据我所知 - 必须有可能与PRTF和当前行号相同。
有谁知道怎么做? 谢谢!
答案 0 :(得分:2)
我会使用文件信息数据结构(INFDS)来获取您需要的信息。
FQSYSPRT O F 132 PRINTER OFLIND(*INOF)
F INFDS(OutputFDS)
F PRTCTL(PrtCtlDS)
D*File Information Data Structure
D OutputFDS DS
D**Open Feedback Area
D ROWS 152 153I 0
D OVERFLOW 188 189I 0
D
D**Printer Feedback Area
D CUR_LINE 367 368I 0 Current line num
D CUR_PAGE 369 372I 0 Current page cnt
D*Printer Control Data Structure
D PrtCtlDS DS
D pSpacing 1 12
D pSpcBefore 1 3A
D pSpcAfter 4 6A
D pSkpBefore 7 9A
D pSkpAfter 10 12A
D pLineNbr 13 15S 0
您也可以从打印机控制数据结构(PRTCTL)获取行号,但是您通常也想知道您的情况中的行和溢出行,并且只能在INFDS中找到。