C#操作TMPOS58串口打印机一些心得

来源:互联网 发布:卓智网络工作怎么样 编辑:程序博客网 时间:2024/05/20 05:56

本人开发一套中小酒店使用的餐饮管理软件,应客户需求,给后厨房添加打印机。

前台下单的时候要给后厨房自动发送厨房菜品名称,数量,桌号,下单时间。

这里有如下的技术问题:

1-串口打印机状态的判定,非常重要。打印机未开或出错(例如:缺纸)。程序要能判断出来进行菜单队列储存,直到打印机状态正常再打印出去。

2-根据不同串口打印机进行pos指令的细化,这个比较令人烦啊。打印机类型太多了。

弄了尽一个礼拜终于实现了,呵呵。

使用API:GetComState来获得串口打印机状态。

GetComState==0,代表串口打印机未打开。GetComState>0打印机开启了,发现如果缺纸的话,往端口打印机发送的打印指令会在换纸后继续执行.

唯一一个担心,缓存溢出,不过在实际中尚未发现。

单独编了一个打印服务器,利用API接受前台程序传来的菜品消息,进行队列封装,根据不同的端口信息,发送出去。

如果发现串口打印机未打开就把菜品数据添加到一个DataGridView中,有一个Timer控件在10秒中左右的循环中探测端口状态,

正常时发送数据,并且删除DataGridView中对应的行。

 

原创粉丝点击