针打链式进纸连续打印问题 (100分)

  • 主题发起人 主题发起人 pyh_jerry
  • 开始时间 开始时间
P

pyh_jerry

Unregistered / Unconfirmed
GUEST, unregistred user!
针打链式进纸连续打印问题,票据的页长为非作12厘米(4。74“),
打印机无法设置该票的页长(4”,5。5“),设页长为(120)后,现象
为,连续两张差距很少约往上走了 0.5MM,然后接下来的两张总比上两张
往上走了约 5MM.
现以确定打印机不能精确设为 120MM 页长(START NX-500),怎么办?
用打印控制码的话,要写很多代码才行,FF表示哪个ASCII码?LF呢?
 
用什么做的呀!fastreport,Qreport!
 
Printer.canvas直接画的
 
FF 应该是换页 #15?
LF 是换行 #10?
不是很确定。你用Windows,还能用这些控制符?
 
主要是应为,无法设精确页长,所以,ENDDOC 以后,打印机就会走纸,位置就不对了,我
想是不是应该自己写输出,对了,麻烦 delphi 兄再告诉我 FS 的ASCII码,哪里可以查到呢?
 
FS不知道,打印机的手册中应该有这些东西。
Windows自己写输出的话Printer就不能用了,只能直接调中断。[:(]
 
谢谢DELLPHI兄。我搞了一星期了,头都大了
 
哪位仁兄,有这方经验的,指点一二吧
 
当前打印机型号,能不能打印次页面
如果用FS则要查每一种打印机的手册,估计你一生都做不完.
 
这种情况用上面的方式是不能解决的,向打印机端口写数据可以精确解决这一问题
我做过多种这样的情况,不用DELPHI中的PRINTER。我发给你一段代码,你自己看看啊
procedure test
var
f:Textfile ;
begin
assignfile(f,'lpt1');
REWRITE(f);
writeln(f,chr(27)+chr(64));
writeln(f,chr(27)+chr(74)+chr(110));
writeln(f,chr(27)+chr(106)+chr(80)+chr(13));
writeln(f,'test');
writeln(f,chr(27)+chr(64));
writeln(f,chr(27)+chr(74)+chr(250));
closefile(f);
end;
这样可以通过精确控制行高,和打印机走纸的距离,什么问题都能解决。控制字你参考
打印机手册
 
如果用写端的方法,如何控制输出位置的坐标呢?而且汉字好象是乱码。
 
to pyh_jerry
横坐标控制可以用控制资横移打印头,也可以用空格控制.中坐标可以前向或后向滚动打印机
滚轮控制.
打印的汉字不会是乱码,如果真是,试着初始化一次打印机.你参考你 用的 打印机手册啊
 
每种打印机控制码不同,所以要要找到控制码手册来编程
 
还有没有别的办法啊,真的只能用控制码写吗?那我不是会很惨[:(]!
偶会在本月10号结束此贴,先谢过楼上各位朋友。
 
to pyh_jerry
这一点都不复杂啊,就和一般地文件操作一样,你试试嘛
 
还有一天,还有一天 [V]
 
谢谢大家
 
TO:蚊子情人, 我发出的控制码为什么都没生效?在文本文件中写入控制码,然后读出来打印,也是乱码,包括其中的汉字,打印的全是乱码。不知为什么?忘了说了,我用的是网络打印机:STAR 的 AR 5400+。
 
后退
顶部