delphi+串口+EPSON ESC/POS指令写pos打印机程序

lgwww 2010-09-23 11:21:44
2.2.1 打印命令
LF 打印并换行
格式: ASCII :LF
十进制 :10
十六进制 :0A
说明:打印行缓冲器里的内容并向前走纸一行。当行缓冲器空时只向前走纸一行。

ESC J 打印并向前走纸n点行
格式: ASCII :ESC J n
十进制 :27 74 n
十六进制 :1B 4A n
说明:打印行缓冲器里的内容,并向前走纸n点行(即n/203英寸)。n=0~225。
该命令只本行打印有效,不改变ESC 2,ESC 3命令设置的行间距值。

上面两个命令用delphi和spcomm控件该怎么写啊,求高手指点
...全文
713 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
goodhj 2010-09-24
  • 打赏
  • 举报
回复
直接发字符命令
Comm1.WriteCommData(pchar('LF'),2);
Comm1.WriteCommData(pchar('ESC J 3'),Length('ESC J 3'));

发十六进制命令:
var
CMD_LF:Array[0] of Byte=($0A);
CMD_ESC_J:Array[0..2] of Byte=($1B,$4A,$03);

....
Comm1.WriteCommData(CMD_LF,1);
Comm1.WriteCommData(CMD_ESC_J,3);

关键是你要设置对通讯参数,比如波特率啊,奇偶校验啊,数据位,停止位之类的
plax0850 2010-09-24
  • 打赏
  • 举报
回复
var buf : Array [0..9] of byte;

换行:
buf[0] := $0A;
PComm.writeCommData(@buf, 1);

ESC J 打印并向前走纸n点行 :

buf[0] := $1B;
buf[1] := $4A;
buf[2] := n;

PComm.writeCommData(@buf, 3);
「已注销」 2010-09-24
  • 打赏
  • 举报
回复
这个不难,根据协议就OK了
lgwww 2010-09-23
  • 打赏
  • 举报
回复
高手们能给段示列代码么

5,392

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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