VerySource

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 767|回复: 2

关于打印连续走纸的问题

[复制链接]

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
发表于 2020-9-28 15:00:01 | 显示全部楼层 |阅读模式
我用bs_300k的打印机,用delphi直接写并口,怎么走6-7张后,票就会往上跳一点,
奇怪
PrntTicketno:=Copy(ATicketno,(length(ATicketNo)-1),2);
  AMoney:=Num2CNum(StrToInt(AMoney));
  PrintChannel:=getSetupIni('Current','no');
  stationId:=getSetupIni('Current','id');
  Assignfile(f,'LPT1');
  rewrite(f);
  {初始化打印机}
// Write(f,chr(27)+'@'); //chr(27)=ESC
  {设置汉字显示方式}
  //write(f,chr(28)+chr(ord('&'))); //chr(28)=FS
  {设定打印相对水平位置}
// Write(f,chr(27)+chr(ord('\'))+chr($FF)+chr($00));

  Write(f,chr(28)+chr(51)+chr(63));
  Write(f,chr(27)+chr(43)+chr(63));


  //设置高速打印
// write(f,chr(28)+chr(ord('x'))+chr($01));
  Writeln(f);
  Writeln(f,'  '+stationid+'    '+PrintChannel+'      '+Auserid+'    '+PrntTicketno);
  Writeln(f);
  write(f,chr(27)+chr(ord('\'))+chr($CF)+chr($00));
  //放大金额字体
  Write(f,chr(28)+chr(ord('W'))+chr($01));
   Write(f, '      '+AMoney);
  //解除放大字体
  Write(f,Chr(28)+chr(ord('W'))+chr($00));

  Writeln(f);
  Writeln(f);
  write(f,chr(27)+chr(ord('\'))+chr($CF)+chr($00));

  Writeln(f,'  '+Apntdate+'    '+ApntTime);

  Write(f,chr(27)+chr(ord('J'))+chr($FF));

  Write(f,chr(11));


  flush(f);
  Closefile(f);
回复

使用道具 举报

0

主题

9

帖子

8.00

积分

新手上路

Rank: 1

积分
8.00
发表于 2020-9-30 11:30:01 | 显示全部楼层
代码太长没心思看……
不过偶原来做POS系统,打印小票的时候用到两种方法:带硬字库的的打印机,直接向端口写ESC/POS指令控制,正好当时用的是EPSON-TM210系列或兼容系列;不带硬字库的用PRINTERS对象就很好用!
回复

使用道具 举报

1

主题

2

帖子

3.00

积分

新手上路

Rank: 1

积分
3.00
 楼主| 发表于 2020-9-30 23:00:01 | 显示全部楼层
对啊,我也是用epson自带的指令库啊,直接写并口啊
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|CopyRight © 2008-2023|verysource.com ( 京ICP备17048824号-1 )

快速回复 返回顶部 返回列表