delphi开发SP-POS802串口打印机动态库

简介

因为某个项目的POS机用了SP-POS802的打印机,针对这个打印机要开发一个调用打印机的动态库。收到了厂家发来的打印机指令和动态库的开发要求。做了这个,好久没用Delphi开发东西了,正好借次再熟悉一下。

动态库的文档

动态库的文件

需要加入的接口

  1. 初始化打印机

  2. 打印字符串

  3. 全部切纸

  4. 部分切纸

  5. 走纸

  6. 开钱箱

  7. 关闭打印机

  8. 打开关闭黑标功能

开发

用delphi7新建一个Library起名为OtherPrinter

新建一个窗体文件Comform,在窗体中增加一个TComPort控件,不用写任何代码。

然后我们现新建一个单元文件OthPrint,这个单元文件处理写所有入口函数。


初始化打印机

调用接口的文档里要求函数名为Other_InitPrinter,所以一会儿我们写代码时初始化打印机的函数名为这个。

然后再看一下厂家的指令集里初始化打印机的方法

可以看到红框上面就是我们初始化打印机的指令集。Hex是十六进制的字符,Decimal是十进制的字符。我们的初始化代码如下:

初始化的函数里面我们对串口进行打开,包括端口号设置,波特率,停止位,数据位,然后再打开串口发送初始化的指令

 ComPort1.WriteStr(chr($1B)+chr($40));


打印字符串

接口文档里

打印的字符串就是往串口发送数据即可,这个里面用到的厂家指令集就是设置字体标号和颜色标号,因为这个厂家指令集里没有颜色的指令,所以我们只关注字体标号就可以了

厂家指令集

指令集里面标注的也是很清楚了,只不过上在有个标号的大小说明,最大的是8,如果超过8则忽略这条指令了。

我的们代码如下:

frmComform.ComPort1.WriteStr(chr($1D)+chr($21)+chr(SizeType));


全切纸和部分切纸

厂家指令集中全切纸和部分切纸都是一个指令集,所以我们也写在一起了。

接口说明

厂家指令集

代码如下:

全切纸

frmComForm.ComPort1.WriteStr(chr($1D)+chr($56)+chr(0));

部分切纸

 frmComForm.ComPort1.WriteStr(chr($1D)+chr($56)+chr(1));


走纸

接口说明

厂家指令集

代码如下:

frmComForm.ComPort1.WriteStr(chr($1B)+chr($64)+chr(Count));


开钱箱

接口说明

厂家指令集

代码如下:

  //组合开钱箱指令,开启钱箱
  sCmd := Chr($1B) + Chr($70) + Chr(m) + Chr(t1) + Chr(t2);
  frmComForm.ComPort1.WriteStr(sCmd);


关闭打印机

接口说明

关闭打印机厂家没有指令,实际上我们也直接用关闭串口的方式即可。

代码如下:


打开/关闭黑标功能

接口说明

查了一下厂家指令集里没有开关黑标功能,在说明书上看到是用FEED的键进行黑标的开关。所以我们的代码什么也不用写了。


这样写完了,我们通过Ctrl+F9进行编译,生成的DLL文件就可以看到了


-END-

长按下方二维码关注

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaccae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值