- 6
- 0
- 约1.27万字
- 约 15页
- 2021-03-18 发布于河北
- 举报
北京食苑星技术有限公司
点菜器开发指南文件包
开发包所包括文件
1. Wx.exe — 驱动程序,以下简称为 wx
2. TXT 文件夹 — 放置供下载及交换用文本的目录,目录名称固定为 TXT
3.开发指南 .DOC — 文本文件
4. Delphi6 范例目录
5. VB6 范例目录
接口程序开发原理:
我们说接口程序的开发原理是基于文本 +消息机制的。文本是说要用到文本文件的读和
写,消息是说要用到 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 OnMessage (var Msg :TMessage); message WM_USER; 其中的 WMA_InterPro 为常数 =1280
VB 中比较复杂,请参考范例。
PB 中是窗口的 OTHER 事件里进行消息判断。
点菜发送功能过程:
1. 在点菜机上按发送后, WX 将接收到的数据写到 T1.TXT 中,并发送一消息给接口。
2. 消息自动激活了接口中的消息处理过程,消息参数 1=1280 说明确实是来自 WX 的消
息,参数 2=1 代表是来自基站 1 的,接口程序去读 T1.TXT 文件 ,其中的请求类型码为
“ DC ”,则转点菜处理函数。
3. 处理完毕后,写处理结果或提示到 R1.TXT 文件,并发一消息给 WX 。
4. WX 自动去读 R1.TXT ,并把此文件内容显示到点菜机屏幕上。如果等待不到接口回
A D :北京市海淀区北三环中路 36 号 12 楼 2 层
TEL : 01001082086497 Email:LiLi_mail@126.com
FAX : 01017
北京食苑星技术有限公司
送的消息, WX 等待时间可由用户在 dcpathfile.ini 文件中进行设置, 如超过设置时间,会放弃此次操作,继续处理下一条信息。
建立消息连接:
从上面的描述就可以看出来, 建立消息连接联结首先是要得到的窗口句柄, 包括自己的
和对方的。
建立消息连接就是程序和软件互相要得到对方的窗口句柄。
程序的窗口句柄通过运行接口软件时作为参数告知软件, 而软件在收到后马上把自己的
一个窗口句柄作为消息 (程序与软件发送的所有消息编号 :$0500, )的 LParam 发送给程
序。( 如: WM_USER= $0500; )
实现方法如下 :
第一:程序调用
在程序启动是用 API 函数调用 wx.exe 程序。如例:
ShellExecute(Handle,Pchar(Open),Wx.exe, Pchar(Inttostr(Handle) ),,SW_SHOW);
红色标记为主程序 Handle。
第二:消息处理过程
定义消息处理函数。如例 (以 Delphi 为例 ):
procedure OnMessage(var Msg : TMessage);message WM_USER; begin
if WX_Handle = 0 then // 表示两程序第一次进行通话
begin
WX_Handle := Msg.LParam;//Wx 的窗口句柄 Handle 通过 LParam 参数传递过来 .并赋值给 WX_Handle 变量
end else
begin
// 用户可以处理 T1.txt 文件。并根据数据协议,进行相关处理。 。。。。。。
// 处理完成后,通过下面的函数通知 WX
postMessage(WX_Handle,WM_USER,H
原创力文档

文档评论(0)