平推式打印机换页问题(二○○分)(100分)

  • 主题发起人 netlogon
  • 开始时间
N

netlogon

Unregistered / Unconfirmed
GUEST, unregistred user!
平推式打印机OKI 打印卡片
SetPaperSize(1300,1300);
Printer.begin
Doc;
Printer.Canvas.TextOut(wz[0,1],wz[0,2],'2002');
Printer.Canvas.TextOut(wz[1,1],wz[1,2],trim(Dm.QCl.FieldByName('gznum').Asstring));
Printer.EndDoc;
打印完后想自动换页(设置页面大小的方法换页不成功,因为纸张大小不精确)
设置命令如下换页:
assignfile(f,'lpt1');
rewrite(f);
//writeln(f,'');
write(f,chr(12));
closefile(f);
self.close;
但是直接跟在打印语句后,执行因为打印机实际在打印,命令运行错误:access错误
能否判断打印机打印已经完成?或者有其它方法解决换页问题?(打印命令不能改变)。
 
printer.newpage用一下.
 
printer.newpage必须放入新的纸张,我只想让纸张自动退出来!
 
OKI 5530 (或5330 )的某一旧驱动程式才有退纸功能。如果需要留个 EMAIL 我发给你。
FOXPRO 时我们常用 ??? 发送硬代码来实现,DELPHI 我还不很熟悉看来帮不上什么忙。
 
to PC 狂迷
能不能发一份驱动给我,cyhan@163.net 谢谢
 
Printer.Canvas.TextOut(#12)试一下看看
我记得中断打印里面在文本后面手工加#12就可以自动走资
 
ggb1999:我试了,不行?各位还有什么好办法?
 
老哥,再帮你顶顶顶
 
没做过退纸的,UPUP
 
UUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUUp
 
最笨的办法,就是加空行
平推式打印机OKI 打印卡片
SetPaperSize(1300,1300);
Printer.begin
Doc;
Printer.Canvas.TextOut(wz[0,1],wz[0,2],'2002');
Printer.Canvas.TextOut(wz[1,1],wz[1,2],trim(Dm.QCl.FieldByName('gznum').Asstring));
Printer.Canvas.TextOut(wz[2,1],wz[2,2],' ');//空行
Printer.Canvas.TextOut(wz[3,1],wz[3,2],' ');//空行
Printer.Canvas.TextOut(wz[4,1],wz[4,2],' 2');//空行
Printer.EndDoc;
 
好像应该是驱动支持的才对。打完之后,发一个EndDoc,就行了。
 
真的是一个不能解决的问题?
 
我觉得你应该查一下OKI的手册,用delphi直接给它发控制码
 
按照打印机手册的说明,把打印机的自动切纸功能设为自动
 
顶部