如何在程序中控制打印纸张的大小???
我不喜欢使用creat report,感觉功能太少,想要自己控制打印,但只会使用交互方式控制纸张的大小,方向等等...。如何在程序中完成控制呢?
请教高手,谢谢。
我很菜,如果是API请您详细说明。
问题点数:20、回复次数:4Top
1 楼mgan(ROOT→〖将来是我〗)回复于 2003-09-02 23:03:14 得分 10
***直接打印的子程序***
*用法:将其命名PL.PRG
*使用命令 DO PL WITH "AR-5400","这是测试行"+CHR(0x0A)
*注意;第一个参数是要调用的打印机名,可用SET("Printer",3)代替,第二个参数为要打印的字符串
*要打印的字符串后面必须加换行符才能立即输出
*需要说明的是:字体的控制需要用打印机内部的控制码
PARAMETERS PrnName,PrnStr
LOCAL lnhand
DECLARE OpenPrinter IN WINSPOOL.DRV STRING,INTEGER @phPrinter,INTEGER
DECLARE ClosePrinter IN WINSPOOL.DRV INTEGER
DECLARE StartDocPrinter IN WINSPOOL.DRV INTEGER,INTEGER,STRING
DECLARE EndDocPrinter IN WINSPOOL.DRV INTEGER
DECLARE WritePrinter IN WINSPOOL.DRV INTEGER,STRING,INTEGER,INTEGER @pcWritten
= OpenPrinter(PrnName, @lnhand, 0)
= StartDocPrinter(lnhand, 1,CHR(0x78)+CHR(0x7B)+CHR(0x19)+REPLICATE(CHR(0),17))
= WritePrinter(lnhand, PrnStr, LEN(PrnStr) ,0)
= EndDocPrinter(lnhand)
= ClosePrinter(lnhand)
RETURN
Top
2 楼dljcclc(DaC)回复于 2003-09-04 20:10:10 得分 0
这是使用API的方法吧,谢谢
我这两天研究了修改*.frx的方法
我不打算使用report中的各种技巧,大概看一看就觉得痛苦
不懂为什么只有ptinfo()这样的获取打印机信息的函数而没有设置函数
如果有,只要使用@...say 就能完成工作, 会很简单.
等到下周还没有找到设置打印机的函数我就散分使用API,Top
3 楼fj_jiangqi(强盗)回复于 2003-09-04 20:56:26 得分 10
http://expert.csdn.net/Expert/TopicView1.asp?id=1694022
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊Top
4 楼dljcclc(DaC)回复于 2003-09-08 09:13:29 得分 0
如何实现同PRTINFO()函数相对应的设置功能Top




