如何在程序中控制打印纸张的大小???

dljcclc 2003-09-02 10:44:14
我不喜欢使用creat report,感觉功能太少,想要自己控制打印,但只会使用交互方式控制纸张的大小,方向等等...。如何在程序中完成控制呢?
请教高手,谢谢。
我很菜,如果是API请您详细说明。
...全文
108 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dljcclc 2003-09-08
  • 打赏
  • 举报
回复
如何实现同PRTINFO()函数相对应的设置功能
fj_jiangqi 2003-09-04
  • 打赏
  • 举报
回复
http://expert.csdn.net/Expert/TopicView1.asp?id=1694022
-------------------------
我流落在凄凉的世界里-孤苦伶仃
我过着动荡无助的生活-四处漂泊
dljcclc 2003-09-04
  • 打赏
  • 举报
回复
这是使用API的方法吧,谢谢
我这两天研究了修改*.frx的方法
我不打算使用report中的各种技巧,大概看一看就觉得痛苦

不懂为什么只有ptinfo()这样的获取打印机信息的函数而没有设置函数
如果有,只要使用@...say 就能完成工作, 会很简单.

等到下周还没有找到设置打印机的函数我就散分使用API,
mgan 2003-09-02
  • 打赏
  • 举报
回复
***直接打印的子程序***
*用法:将其命名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

2,722

社区成员

发帖
与我相关
我的任务
社区描述
VFP,是Microsoft公司推出的数据库开发软件,用它来开发数据库,既简单又方便。
社区管理员
  • VFP社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧