太原博立电子
开发指南 For 6.00 版
BL-09 型无线点菜机开发指南
For 6.00 版
最后更新时间:2011-7-30
本指南是针对内置程序为 6.00 版本以上的点菜机,供各合作公司开发配套接口程序或升级原有的
旧接口程序使用。
BL-09 型无线点菜机特点:
容量扩充:
菜品模糊查询的最大结果数—>4000
做法模糊查询的最大结果数—>1000
帐单菜品容量—>50
套餐内容表容量—>2048
更安全:
全新硬件加密+通信加密+应用程序加密
加强的抗重发机制+改善的唯一性验证
自动键盘锁+手工键盘锁
闪亮的新特性:
增量下载——允许只下载新增或修改的几条菜品,大大加快下载速度
助记码快速输入——鱼香肉丝,只需按 9 9 7 7 按确定即可查出
账单复制——选中一有菜的账单按左右键,复制账单然后修改后发送,方便会议点菜
发送及删除确认——使用初期发送提示确认防止出错,熟练后再选择直接发送
按菜类选菜——点菜时按*进入,可同时选多个菜,也可以边选边录入数量
菜品数量随选随录和快速修改——选菜界面按数字键、浏览菜品按数字键均可录入修改
菜品和做法查询随查随选——菜品按菜号和助记码选,做法按助记码选,随查随选
开台后一键进入点菜——开台后按确定直接进入点菜,台号自动带入
点菜后一键录入做法——点完一个菜,按下键,直接给这个菜录入做法
发送后一键继续点菜——点菜发送后按确定继续点菜,台号客人数自动带入
智能录入做法——重量确认标识=1 的菜,录完菜号直接进入录入数量和做法界面
接口直接调用 WX 下载界面——4.0 以上版本后期均已有此功能
标准版新增功能:
预订抵达 沽清列表 结帐 赠菜 临时菜做法选择 临时菜叫起
可根据客户需要增加更多功能
兼容性:
与 BL-08 和 BL-19 完全兼容,不需要修改接口
可以与 08 机、19 机混合使用
第1页
A.D:山西省太原市学府街 126 号汇都大厦 A 座 15 层 Http://www.tyboli.com.cn
TEL:0351-7325817 FAX:0351-7225930 Email:tybl@263.net
太原博立电子
开发指南 For 6.00 版
开发包所包含的文件:
1. WX.exe — 6.00 版本的驱动程序,以下简称为 WX,该程序不可以直接运行和退出,它必须由
你编写接口程序调用和关闭,改为别的文件名不影响其使用。
包括 WX4.exe—与 4.0-4.6 兼容,WX5.exe—与 5.0 兼容,WX3.exe 与 3.0 兼容。
2. FL.exe — delphi 写的范例。
3. Delphi6 范例目录 — 基于 Delphi6 的二次开发范例,使用了 TXT 目录下的范例数据.mdb 数据
库实现了部分功能,其他功能为“回声虫”,即返回的显示为输入的内容。登陆 WX 时工号验
证全部通过,点菜机登陆时工号验证全部通过固定格式返回姓名:张小丫。
4. VB6 范例目录 — 基于 VB6 的二次开发范例,登陆 WX 时工号验证都不通过,点菜机登陆时
工号验证都不通过。
5. TXT 目录 — 放置供下载及交换用文本的目录,目录名称固定为 TXT。
6. USB 下载范例文件目录 — USB 下载文件的范例目录。
7. 6.0 版本开发指南.DOC —本文件。
8. PB 接口说明.txt — 有关使用 PB 编写接口程序的说明。
接口程序开发原理:
接口程序的开发原理是基于文本+消息机制的。文本是说要用到文本文件的读和写,消息是说要用
到 Windows 窗口消息的发与收。
Windows 系统允许不同的窗口或进程间使用消息交换数据,消息发送时可以带四个参数,第一个
参数叫接收窗口句柄,也就是说是 Windows 给接受者分配的一个编号;第二个参数是类型标志,是用
来给各种消息做分类的,比如说按键类为 10,窗口放大缩小及关闭为 16,在我们系统中约定 WX 与接
口通信的消息固定为十进制的 1280(十六进制 0x500);第三和第四个参数都是你可以利用来传递信息
的,不过在我们系统中第三个固定为 0,我们只用第四个参数来区分消息,我们管它也叫消息类型。
Delphi 中发送消息的函数:PostMessage(ToHandle,1280,0,Msg.LParam)
VB 中发送消息的函数:PostMessage(ToHandle, 1280, 0, ByVal lParam&)
PB 中发送消息的函数:send(ToHandle,1280,0,1)
在 Delphi 中关闭 WX:PostMessage(ToHandle,16,0,0)
接口程序接收消息类似中断或事件的概念,也就是说消息事件发生了,就会自动执行消息的处理过
程,这一点不同的语言区别比较大。
Delphi 中是声明一个消息处理过程:
Procedure Inter(var Msg :TMessage); message WMA_InterPro;
其中的 WMA_InterPro 为常数=1280
VB 中比较复杂,请参考范例。
PB 中是窗口的 OTHER 事件里进行消息判断。
点菜发送功能过程:
1. 在点菜机上按发送后,WX 将接收到的数据写到 T1.TXT 中,并发送一消息给接口。
2. 消息自动激活了接口中的消息处理过程,消息参数 1=1280 说明确实是来自 WX 的消息,参数
2=1 代表是来自基站 1 的,接口程序去读 T1.TXT 文件,其中的请求类型码为“DC”,则转点菜
处理函数。
3. 处理完毕后,写处理结果或提示到 R1.TXT 文件,并发一消息给 WX。
第2页
A.D:山西省太原市学府街 126 号汇都大厦 A 座 15 层 Http://www.tyboli.com.cn
TEL:0351-7325817 FAX:0351-7225930 Email:tybl@263.net
太原博立电子
开发指南 For 6.00 版
4. WX 自动去读 R1.TXT,并把此文件内容显示到点菜机屏幕上。如果等待不到接口回送来消息,
WX 最多等待 45 秒后,会放弃此次操作。
如何得到窗口的句柄:
从上面的描述就可以看出来,建立消息连接联结首先是要得到的窗口句柄,包括自己的和对方的。
Delphi 中自己的窗口句柄:Form1.Handle
VB 中是:frmMain.hWnd
接口程序运行后就首先要将自己句柄做为字串参数运行 WX.exe:
Delphi6 下是:
ShellExecute(Application.Handle, Nil,Pchar(ExtractFilePath(Application.ExeName) + 'Wx.exe'),
Pchar(IntToStr(Form1.Handle)), Nil, SW_SHOWNORMAL);
而 WX 运行后的第一个消息的 L 参数里就是 WX 的窗口句柄,所以接口可以用以下方式得到 WX
句柄的:
IF ToHandle =0 Then Begin
ToHandle :=Msg.LParam;
End Else begin
…….
End;
如果用以下方式获得 WX 的窗口句柄的话,如果电脑中同时运行有两个相同标题的程序则可
能就弄错了。
pda_Handle = FindWindowA(pda_Class, "无线点菜机管理")
消息类型:
消息的类型是指在消息中的 message.LongParm 参数,也就是发送时的最后一个参数
WX 到接口程序:
=1 — 基站 1 有请求,内容在 T1.TXT 中,请回复到 R1.TXT。
…..
=8 — 基站 8 有请求,内容在 T8.TXT 中,请回复到 R8.TXT。
=10 — WX.exe 有登陆请求程序验证密码的正确性,内容在 DL.TXT,请回复到 DL.TXT。
=11 — WX 在执行数据下载,请求提供下载所需要的数据,数据准备好后回复消息即可。
由接口程序到 WX:
=0 — 接口程序有发送短信息的请求,请 WX 受理,内容在 DX.TXT 中。
=1 — 接口程序处理基站 1 相应的请求完毕,回复文件已在 R1.TXT 中。
…..
=8 — 接口程序处理基站 8 相应的请求完毕,回复文件已在 R8.TXT 中。
=10 — 接口程序检验密码的正确性后返回,回复文件已经在 DL.TXT 中。
=11 — 下载所需数据已完成导出,导出的文件在 TXT 目录下。
=12 — 打开 WX 程序的下载界面。(新增加)
第3页
A.D:山西省太原市学府街 126 号汇都大厦 A 座 15 层 Http://www.tyboli.com.cn
TEL:0351-7325817 FAX:0351-7225930 Email:tybl@263.net
太原博立电子
开发指南 For 6.00 版
基础数据:
基础数据分为三类:WX 的启动时参数数据、无线下载数据、USB 下载数据。
WX的启动数据包括:酒店名称.TXT、基站.TXT、点菜机.TXT,WX 不能直接运行,程序在调用
WX 前必须生成这 3 个文本。这几个文件的字段之间都用一个空格隔开。
需要下载的数据:菜品表.TXT、菜品类别表.TXT、菜品套餐表.TXT 等共计 9 个,在点击软件中的
"下载"时发出消息,类型为 11,程序收到该消息后生成这 9 个文本,完毕后程序发出消息,类型为 11。
注意:①、所有下载数据字段间无空格。但当字段不足指定长度时应该补空格,所有名称类字段应
该在尾部补空格,也就是说左对齐。所有金额类字段应该在头部补空格,也就是说右对齐,并带两位小
数点。所有编码类字段应该在头部补 0,也就是说左对齐。所有供下载的文件在记事本中观察,各字段
都应该是对齐的。
②、所有数据文件包括交换文件都存放在当前文件夹下的 TXT 文件夹里。
-----------------------------------WX 的启动时参数数据:---------------------------------------------------------
1. 酒店名称.TXT
格式:
酒店名称(20 位)
示例:
雅竹食苑
2.基站.TXT
格式:
基站号(1 位)、COM 口号(4 位)
示例:
1
~COM1
2
~COM2
3.点菜机.TXT
格式:
编号(3 位)、基站号(1 位)
示例:
001
~1
002
~2
-------------------------------------无线下载数据:----------------------------------------------------------------------------
4.菜品表.TXT
记录容量:4400 条
格式:
编号(5 位)、类别号(2 位)、中文名称(20 位)、单价(9 位)、单位(4 位)、重量单位(4 位)、需要确认重量否(1 位)、
做法(45 位)、助记码(10 位)
示例:
0100201 鱼香肉丝
~~~~~~~~~~~~~~~~15.00 盘~~盘~~0~001002~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~YXRS
0200102 肉丝面
~~~~~~~~~~~~~~~~~~ 5.00 盘~~盘~~0~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~RSM
说明:
除了单价外所有数据均为左对齐
"编号"不足五位时前面写 0
"单价"必须写为两位小数,小数点位置必须靠齐
非称重类菜品"重量单位"同"单位"
"需要确认重量否"在不需要确认重量时写 0,否则写 1
"做法"为三位,每个菜品最多可以指定 15 个制作方法,如:001002005 代表三个做法,编号分别是 001、002、
005,此处做法为与菜品相关联的做法,可以按菜品指定,以便在录入菜品做法是按下键弹出供选择。如果你的餐饮软件
暂时不方便实现,此处可以填 45 个空格。
注意:菜号和类别号一定要补够位数,且不可以包含字母。助记码一般为拼音字头,必须为大写字母,可掺有数字。
不再要求按菜类排序。
5.菜品类别表.TXT 记录容量:100 条
格式:
第4页
A.D:山西省太原市学府街 126 号汇都大厦 A 座 15 层 Http://www.tyboli.com.cn
TEL:0351-7325817 FAX:0351-7225930 Email:tybl@263.net
太原博立电子
开发指南 For 6.00 版
类别编号(2 位)、类别名称(10 位)
示例:
01凉菜
02海鲜
建议按类别编号排序
6.菜品套餐表.TXT
记录容量:100 条
格式:
套餐编号(2 位)、套餐名称(20 位)
示例:
01 情侣套餐
02 家庭套餐
建议按套餐编号排序
7.菜品套餐内容表.TXT
记录容量:2048 条
格式:
套餐号(2 位)、菜号(5 位)、数量(9 位)、单价(9 位) 、单位(4 位)、缺省选中标志(1 位)、套餐菜组号(2 位)
示例:
0101001
~~~~~~~~1~~~~13.50 盘~~101
0101012
~~~~~~~~1~~~~19.50 盘~~102
0103023
~~~~~~~~2~~~~40.00 盘~~103
0112033
~~~~~~~~1~~~~28.00 盘~~104---------------以下三菜品可互相替换
0111034
~~~~~~~~1~~~~~5.00 盘~~004
0111035
~~~~~~~~1~~~~~5.00 盘~~004
注意:按套餐编号+套餐菜组号排序。
点套餐的时候,缺省显示那些“缺省选中标志”为 1 的套餐明细。多个菜品组号相同时,可在菜品修改界面的数量
位置按左右键切换菜品,实现套餐菜品的可替换。选择套餐中的某个菜品按*键删除,会删除套餐中的所有菜品。修改套
餐中的某个菜品的数量,其他菜品的数量会相应成倍数增加或减少。餐菜品显示时前面带个 T 标记,说明是套餐菜。
8.推荐菜品表.TXT
记录容量:100 条
格式:
推荐菜品编号(2 位)、推荐菜品名称(20 位)
示例:
01 特色小吃
02 特色海鲜
按推荐菜品编号排序
9.推荐菜品内容表.TXT
记录容量:560 条
格式:
推荐菜品编号(2 位)、菜品编号(5 位)、数量(9 位)、单价(9 位) 、单位(4 位)
示例:
01 01002
~~~~~~~~1~~~~~3.50 盘
02 01018
~~~~~~~~2~~~~~5.00 只
注意:必须按推荐菜品编号排序,否则会导致推荐菜品内容显示不正常
10.客户要求表.TXT
记录容量:1000 条
格式:
编号(3),名称(16),助记码(4),其中助记码必须为大写字母
示例:
012 炒球 CQ
013 冬菜蒸头腩 DCZT
014 碎件面酱蒸 SJNJ
5.0 版本在录入做法或整单备注时,允许录入字母随时按从头起匹配优先半路起匹配列后的规律列出符合条件的
备注,最多会选出 50 项符合条件的备注。此时按确认键可选择多项备注。按“上下箭头”可浏览备注。退出后,选中的
备注编号被写到备注栏或做法栏中。
11.退菜理由表.TXT 记录容量:100 条
格式:
退菜理由编号(2 位)、退菜理由名称(20 位)
示例:
01 客人点的太多
02 上菜太慢
第5页
A.D:山西省太原市学府街 126 号汇都大厦 A 座 15 层 Http://www.tyboli.com.cn
TEL:0351-7325817 FAX:0351-7225930 Email:tybl@263.net