收藏 分享(赏)

无线点菜开发指南.doc

上传人:wspkg9802 文档编号:7897739 上传时间:2019-05-29 格式:DOC 页数:13 大小:95.50KB
下载 相关 举报
无线点菜开发指南.doc_第1页
第1页 / 共13页
无线点菜开发指南.doc_第2页
第2页 / 共13页
无线点菜开发指南.doc_第3页
第3页 / 共13页
无线点菜开发指南.doc_第4页
第4页 / 共13页
无线点菜开发指南.doc_第5页
第5页 / 共13页
点击查看更多>>
资源描述

1、无线点菜机开发指南开发包所包含的文件:1 WX.exe 基站驱动程序2 Wx.log 基站版本说明3 IWinEncrypt.ocx - 点菜机授权加密控件,请在打开 delphi 或 vb 范例前注册该控件4 Delphi6 范例目录 基于 Delphi6 的二次开发范例,使用了 TXT 目录下的范例数据.mdb 数据库实现了部分功能,其他功能为“回声虫” ,即返回的显示为输入的内容。登陆 WX 时工号验证全部通过,点菜机登陆时工号验证全部通过固定返回姓名:张小丫。5 VB6 范例目录 基于 VB6 的二次开发范例,登陆 WX 时工号验证都不通过,点菜机登陆时工号验证都不通过。6 FL.EX

2、E Delphi 范例 exe7 接口.exe VB 范例 exe8 TXT 目录 放置供下载及交换用文本的目录,目录名称固定为 TXT。9 无线点菜机开发指南.DOC 文本文件。10 PB 接口说明.txt 有关使用 PB 编写接口程序的说明。接口程序开发原理:我们说接口程序的开发原理是基于文本+消息机制的。文本是说要用到文本文件的读和写,消息是说要用到 Windows 窗口消息的发与收。Windows 系统允许不同的窗口或进程间使用消息交换数据,消息发送时可以带四个参数,第一个参数叫接收窗口句柄,也就是说是 Windows 给接受者分配的一个编号;第二个参数是类型标志,是用来给各种消息做分

3、类的,比如说按键类为 10,窗口放大缩小及关闭为 16,在我们系统中约定 WX 与接口通信的消息固定为十进制的 1280(十六进制 0x500) ;第三和第四个都是你可以指定的参数,不过在我们系统中第三个固定为 0,我们只用第四个参数来区分消息,我们管它也叫消息类型。Delphi 中发送消息的函数:PostMessage(ToHandle,1280,0,Msg.LParam)VB 中发送消息的函数:PostMessage(ToHandle, 1280, 0, ByVal lParam message WMA_InterPro;其中的 WMA_InterPro 为常数=1280VB 中比较复杂,

4、请参考范例。PB 中是窗口的 OTHER 事件里进行消息判断。点菜发送功能过程:1 在点菜机上按发送后,WX 将接收到的数据写到 T1.TXT 中,并发送一消息给接口。2 消息自动激活了接口中的消息处理过程,消息参数 1=1280 说明确实是来自 WX 的消息,参数2=1 代表是来自基站 1 的,接口程序去读 T1.TXT 文件,其中的请求类型码为“DC” ,则转点菜处理函数。3 处理完毕后,写处理结果或提示到 R1.TXT 文件,并发一消息给 WX。4 WX 自动去读 R1.TXT,并把此文件内容显示到点菜机屏幕上。如果等待不到接口回送来消息,WX 最多等待 45 秒后,会放弃此次操作。如何

5、得到窗口的句柄:从上面的描述就可以看出来,建立消息连接联结首先是要得到的窗口句柄,包括自己的和对方的。Delphi 中自己的窗口句柄:Form1.HandleVB 中是:frmMain.hWnd接口程序运行后就首先要将自己句柄做为字串参数运行 WX.exe:Delphi6 下是:ShellExecute(Application.Handle, Nil,Pchar(ExtractFilePath(Application.ExeName) + Wx.exe),Pchar(IntToStr(Form1.Handle), Nil, SW_SHOWNORMAL);而 WX 运行后的第一个消息就是返回自己

6、的窗口句柄给接口程序,所以接口可以用以下方式得到WX 句柄的:IF ToHandle =0 Then BeginToHandle :=Msg.LParam; End Else begin.End;如果用以下方式获得 WX 的窗口句柄的话,如果电脑中同时运行有两个相同标题的程序则可能就弄错了。pda_Handle = FindWindowA(pda_Class, “无线点菜机管理“)消息类型:消息的类型是指在消息中的 message.LongParm 参数,也就是发送时的最后一个参数WX 到接口程序:=1 基站 1 有请求,内容在 T1.TXT 中,请回复到 R1.TXT。=8 基站 8 有请求

7、,内容在 T8.TXT 中,请回复到 R8.TXT。=11 WX 在执行数据下载,请求提供下载所需要的数据,数据准备好后回复消息即可。由程序到 WX:=0 接口程序有发送短信息的请求,请 WX 受理,内容在 DX.TXT 中。=1 接口程序处理基站 1 相应的请求完毕,回复文件已在 R1.TXT 中。=1 接口程序处理基站 8 相应的请求完毕,回复文件已在 R8.TXT 中。=11 下载所需数据已完成导出,导出的文件在 TXT 目录下。基础数据:基础数据分为两类:WX 的启动时参数数据和需下载的数据。WX 的启动数据包括:酒店名称.TXT、基站.TXT、点菜机.TXT,WX 不能直接运行,程序

8、在调用WX 前必须生成这 3 个文本。这几个文件的字段之间都用一个空格隔开。 需要下载的数据:菜品表.TXT、菜品类别表.TXT、菜品套餐表.TXT 等共计 9 个,在点击软件中的“ 下载“时发出消息,类型为 11,程序收到该消息后生成这 9 个文本,完毕后程序发出消息,类型为 11。注意:、所有下载数据字段间无空格。但当字段不足指定长度时应该补空格,所有名称类字段应该在尾部补空格,也就是说左对齐。所有金额类字段应该在头部补空格,也就是说右对齐,并带两位小数点。所有编码类字段应该在头部补 0,也就是说左对齐。、所有数据文件包括交换文件都存放在当前文件夹下的 TXT 文件夹里。1 酒店名称.TX

9、T格式:酒店名称(20 位)示例:雅竹食苑注意:此内容一定不要超过 20 位,超过则可能导致时间不能自动同步。2基站.TXT格式:基站号(1 位)、COM 口号(4 位)、信道(1 位)示例:1COM2 32COM1 43点菜机.TXT 格式:编号(3 位)、基站号(1 位)示例:0011002200334菜品表.TXT格式:编号(5 位)、类别号(2 位) 、中文名称(20 位)、单价(9 位)、单位(4 位)、重量单位(4 位) 、需要确认重量否(1 位)、做法(45 位)、助记码(10 位) 示例:0100201 鱼香肉丝 15.00 盘 盘0001002YXRS0200102 肉丝面

10、5.00 盘盘0RSM说明:除了单价外所有数据均为左对齐“编号“不足五位时前面写 0“单价“必须写为两位小数非称重类菜品“重量单位“同“单位“需要确认重量否“在不需要确认重量时写 0,否则写 1“做法“为三位,每个菜品最多可以指定 15 个制作方法,如:001002005 代表三个做法,编号分别是001、002、005,此处做法为与菜品相关联的做法,可以按菜品指定,以便在录入菜品做法是按下键弹出供选择。如果你的餐饮软件暂时不方便实现,此处可以填 45 个空格。注意:菜品数据必须按类别号+编号排序。如未正确排序,则菜品分类显示的内容可能不正确。菜号和类别号一定要补够位数,且不可以包含字母。助记码

11、一般为拼音字头,必须为大写字母,可掺有数字。5菜品类别表.TXT格式:类别编号(2 位)、类别名称(10 位) 示例:01 凉菜02 海鲜建议按类别编号排序6菜品套餐表.TXT格式:套餐编号(2 位)、套餐名称(20 位)示例:01 情侣套餐02 家庭套餐建议按套餐编号排序7菜品套餐内容表.TXT格式:套餐号(2 位) 、菜号(5 位)、数量(9 位)、单价(9 位) 、单位(4 位)、缺省选中标志(1 位) 、套餐菜组号(2 位)示例:010200113.50 盘 101010401219.50 盘 102 0103023230.00 盘 103 0111033128.00 盘 104 01

12、1103415.00 盘 004011103515.00 盘 004注意:按套餐编号+ 套餐菜组号排序。点套餐的时候,缺省显示那些“缺省选中标志”为 1 的套餐明细。套餐菜组包含有多个菜品的可在菜品修改界面的 数量位置按切换菜品。选择套餐中的某个菜品按*键删除,会删除套餐中的所有菜品。修改套餐中的某个菜品的数量,其他菜品的数量会相应成倍数增加或减少。餐菜品显示时前面带个 T 标记,说明是套餐菜。8推荐菜品表.TXT格式:推荐菜品编号(2 位)、推荐菜品名称(20 位) 示例:01 特色小吃02 特色海鲜按推荐菜品编号排序9推荐菜品内容表.TXT格式:推荐菜品编号(2 位)、菜品编号(5 位)

13、、数量(9 位)、单价(9 位) 、单位(4 位)示例:01 0100213.50 盘02 0101825.00 只注意:必须按推荐菜品编号排序,否则会导致推荐菜品内容显示不正常10客户要求表.TXT格式:客户要求编号(3 位)、客户要求名称(20 位) 示例:001 红烧002 清炖900 不要辣椒901 不要香菜11退菜理由表.TXT格式:退菜理由编号(2 位)、退菜理由名称(20 位) 示例:01 客人点的太多02 上菜太慢建议按退菜理由编号排序12短信息表.TXT格式:短信息编号(2 位)、短信息名称(20 位) 示例:01 快上菜02 台快上菜建议按短信息编号排序13包房名称表.TX

14、T格式:台号(4 位)、名称(10 位) 示例:0401 牡丹江包房 0102 黑龙江 0405 乌苏里 0506 鄂伦春建议按台号排序交换用数据由 WX 传送到程序的数据文件为:T?.TXT (?=1-8)由程序传送到 WX 的数据文件为:R?.TXT (?=1-8)由程序传送到 WX 的内容文件为:DX.TXT由程序直接登录传送到 WX 文件为:DL.TXT请求文件和返回文件均为多行的文本文件,第一行固定为一个请求类型编码和一个点菜机编号,信息提示类内容均应该为每行 20 字符,以 5 行为一个显示页,以美观为原则,其内容开发商可以自己随意更改。以上文件的字段间都必须用一个空格隔开。以上文

15、件每次只可能存在一条记录,每次使用前都会删除原来的内容。多点菜机同时发出请求时由 WX 进行排队处理,接口程序不需考虑请求同时到来的问题。请求类型码:开机(KJ) 、登录(DL)、修改密码(XGMM)开台(KT)、换台(HT)、并台(BT)、撤台(CT)、修改台头(XGTT)点菜(DC)、客户要求(KHYQ)打印点菜单(DYDC)加菜(JC)、退菜(TC)、勾挑(GT)、整桌催菜(ZZCC)、按菜品催菜(CPCC)、帐单查询(ZDCX)空闲餐台汇总(KXHZ)、按类别查空闲餐台(LBKX)、按台号查空闲(THKX)预订信息汇总(YDHZ)、按台号查预订(THYD)、短信息(DX)重量确认(ZL

16、QR)、打印结帐单(DYJZ) 按菜类催菜(CLCC)、点菜器授权(DCSQ)0. 开机请求格式:类型码(4 位)、点菜机机号(3 位)示例: KJ001不需要返回。目的:每次点菜机开机后,WX 会通知程序,但是关机操作不会通知。点菜机可以设置多个信道,在多个信道之间自动切换,所以应建立一个点菜机表,里面包含基站号,点菜机号,服务员号,以及最后一次操作的时间(服务员每次操作后更改时间,每次服务员通过点菜机执行数据操作时,当上次操作的时间超过指定时间时请服务员重新登陆) 。1 登录请求格式:类型码(4 位)、点菜机机号(3 位)机器设备号(10 位)、工号(4 位)、密码(8 位)示例: DL0

17、0120040010010005742856返回格式:类型码(4 位)、点菜机机号(3 位)成功否标记(=1 成功 =0 不成功) 服务员姓名(8 位或空)示例:DL0011张小丫2 修改密码请求格式:类型码(4 位)、点菜机机号(3 位)新密码(8 位)、确认新密码(8 位) 两者应该完全一致,不足 8 位补空格示例: XGMM00100050005返回格式:类型码(4 位)、点菜机机号(3 位)成功否标记(=1 成功 =0 不成功) 新密码(8 位)示例:XGMM001100053 开台 请求格式:类型码(4 位)、点菜机机号(3 位)台号(4 位)、客人数量(2 位)、服务员号(5 位)

18、示例: KT00100020100005返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:KT0010002 台开台正常!4 换台请求格式:类型码(4 位)、点菜机机号(3 位)原台号+帐单流水号(7 位)、新台号(7 位)示例: HT00100020010004 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:HT001换台成功!0002 台客人已经换到 004 台!5 并台请求格式:类型码(4 位)、点菜机机号(3 位)原台号+帐单流水号(7 位)、并到的台号+帐单流水号(7 位)示例: BT00100020010004002返回格式: 类型码(4 位)、点菜

19、机机号(3 位)信息提示示例:BT0010002001+0004002并台成功!6 撤台请求格式:类型码(4 位)、点菜机机号(3 位)被撤台号+帐单流水号(7 位)示例: CT0010002001 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:CT0010002 台 001 帐单撤台成功!7 修改台头请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、客人数量(2 位)、服务员号(5 位)示例: XGTT00100020100005返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:XGTT0010002 台修改台头成功!8 点菜请求格式:类

20、型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、空格(10 位)、整单备注(12 位)、空格(4 位)、流水号(8 位)台号或帐单号(7 位)、菜品号(5 位)、数量(4 位)、做法(12 位)、套餐号(2 位)、等叫标记(1 位)、流水号(8 位)说明:制作方法中的任何一位不是数字,则认为输入的是内容而不是制作法的编号。无制作方法则制作方法写空格;非套餐菜品则套餐号写空格。标记:正常=0 , 等叫=1, 已上 (如餐厅中的小车菜)=2。自动删除已发送帐单:点菜机收到的回复信息中前四个字为汉字“点菜成功” ,则自动删除。流水号: 流水号是服务员在点菜机中第一次录入菜品时的自动产生,

21、在没发送成功前添加或删除菜品都不会改变。这样每次写入点菜明细时就可以判断是否有该流水号的点菜数据,有则说明该单所有菜品已经写入,不能再写入。没有则可以写入数据库。防止点菜机超时后多次发送造成菜品写入重复。写入数据库的记录应该是机号+日期+该流水号。如果你的软件中只保存当天的数据,也可以只写机号+该流水号。防止重单是相当重要的功能,请务必留意。快餐版的格式为:实付金额(6 位) 、台号或账单号(7 位) 、菜品号(5 位) 、数量(4 位) 、做法(12 位)、套餐号(2位) 、等叫标记(1 位) 、人数(2 位) 、流水号(8 位)示例: 000200102001200100200501110

22、:10:05000200102005 1.5010:10:0500020010300712.5005002 01110:10:05返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:DC001点菜成功! 0002001本次点菜:3 种/3 份累计点菜:6 种/6 份9 客户要求请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、客户要求(12 位)说明:客户要求中有任何一位不是数字,则认为是发送内容不是发送的编号示例: KHYQ0010002001001002005 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:KHYQ0010002 台客户要

23、求已登记!不要辣椒+少放盐+不要香菜 10 打印点菜单请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)示例: DYD0010002001 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:DYDC0010002 台 001 帐单已打印点菜单!11 临时菜请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、菜品号(5 位)、菜品单位(4 位)、菜品名称(14 位)、 数量(4 位)、菜品价格(4 位)、等叫标记(1 位)、制作方法(12 位)说明:主要作用是用来添加临时菜,可以修改菜名,单位,单价。制作方法中的任何一位不是数字,则认为输入的

24、是内容而不是制作法的编号。无制作方法则制作方法写空格。等叫标记:正常=0 , 等叫=1, 已上 (如餐厅中的小车菜)=2示例: JC001000200102001盘鱼香肉丝21.118.00001002005 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:JC001加菜成功! 0002001本次点菜:1 种/1 份累计点菜:6 种/6 份12 退菜请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、菜品号或流水号(10 位)、数量(4 位)、单位(4 位)、退菜理由(10 位)说明:无退菜理由则退菜理由写空格示例: TC0010002001020012盘0

25、102 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:TC001退菜成功! 0002001鱼香肉丝 2 盘已退!原因:点错13 整桌催菜请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)示例: ZZCC0010002001 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:ZZCC0010002001 催菜成功!已经通知厨房! 14 按菜品催菜请求格式:类型码(4 位)、点菜机机号(3 位)台号或账单号(7 位)、菜品号 (5 位)示例: CPCC0010002001 05006返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:

26、CPCC0010002001 的 05006 催菜成功!已经通知厨房! 15 账单查询请求格式:类型码(4 位)、点菜机机号(3 位)台号或账单号(7 位)示例: ZDCX0010002001 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:ZDCX0010002001 账单:鱼香肉丝 1 份东星斑 1.5 斤精美凉菜 1 盘建议:返回信息左右对齐,行末用符号代表菜品的状态:已点、已制作、已上菜等16 空闲餐台汇总请求格式:类型码(4 位)、点菜机机号(3 位)示例: KXHZ001返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:KXHZ001一层 8 人台 空

27、闲 8一层 4 人台 空闲 10二层包间 12 人台 空闲 12三层包间 12 人台 空闲 16建议:返回信息左右对齐,并按餐台类别和餐台座位数分类 17 按类别查空闲餐台请求格式:类型码(4 位)、点菜机机号(3 位)餐台类别号(2 位)示例: LBKX00101 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:LBKX001一层散台空闲餐台:0105 0109 0120 01380140 014518 按台号查空闲请求格式:类型码(4 位)、点菜机机号(3 位)台号(4 位)示例: THKX0010105 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:TH

28、KX0010105 餐台目前状态:已被水利局预订抵达时间 9:3019 预订信息汇总请求格式:类型码(4 位)、点菜机机号(3 位)示例: YDHZ001返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:YDHZ001水利局 0120张先生 0230王小姐 0480 20 按台号查预订请求格式:类型码(4 位)、点菜机机号(3 位)台号(4 位)示例: THYD0010105 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:THYD0010105 餐台目前状态:已被水利局预订抵达时间 9:3021 短信请求格式:类型码(4 位)、点菜机机号(3 位)接收机号(3

29、位)、短信内容说明:短信内容=01 求助领班 =02 紧急求助示例: DX001015 0201 桌客人非常着急,已多次催菜!返回格式: 不需要回复注意:点菜机要收到短信不需要回复,但是程序必须向 WX 发送短信请求见最后的(30)程序短信,存在两台联有基站的计算机时,可能还需要由另外一台计算机发出短信。22 重量确认请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、菜品号(5 位)、菜品流水号(10 位)、重量(8 位)说明:只填写台号+菜号或菜品流水号 示例: ZLQR00100020010200100020011.56 返回格式: 类型码(4 位)、点菜机机号(3

30、位)信息提示示例:ZKQR001重量确认成功! 流水号:0002001005菜品:东星斑重量:1.5 斤23 打印结帐单请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、客户卡号(10 位)、客户密码(10 位)说明: 客户卡号和客户密码如无则为空格示例: DYJZ0010002001 返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:DYJZ0010002 台 001 帐单已打印结帐单!24 勾挑(划单)请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、菜品编号 (5 位)示例: GT0010002001 返回格式: 类型码(4 位)

31、、点菜机机号(3 位)信息提示示例:GT0010002 台 001 帐单鱼香肉丝勾挑成功!25 按菜类催菜请求格式:类型码(4 位)、点菜机机号(3 位)台号或帐单号(7 位)、菜类编号 (8 位)说明: 每两位长是一个菜类编号。示例: CLCC0010002001 01020304返回格式: 类型码(4 位)、点菜机机号(3 位)信息提示示例:CLCC0010002 台 001 帐单催菜成功!26 程序短信 (文件名称:DX.TXT)程序请求格式:发送方编号(3 位) 、接收方编号(3 位) 、内容示例:003001速到前台返回格式:不需要 WX 返回此功能用于从发出短信息给点菜机,可能是直接从计算机发出的,也可能是转发收到的点菜机短信。27 点菜器授权请求格式:类型码(4 位)、点菜机机号(3 位)需要加密的随机文本(26 位)示例: CPSQ00113B32D6E-252772DD-152A83CB返回格式: 类型码(4 位)、点菜机机号(3 位)程序加密后的密文(26 位)示例:CLCC0019BB83ECF-991391DE-0A8FA838对于需要授权验证的点菜器器,用户接口程序需要用我们给与的授权码对 26 位的随机文本进行加密,只有加密结果经点菜器验证通过后,点菜器才可以使用。具体可以参考示例程序。

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报