当前位置: 首页 > ai >正文

delphi开发小白盒接口实现扫码控制

delphi开发意锐小白盒接口实现扫码控制

做扫码支付,有用到意锐小白盒(不是市面上模拟键盘的那种设置),需要进行对接。这种盒子可以通过程序控制打开,关闭和读取条码,的确比键盘的要好用,可以有效的防止客户扫码的时候影响收银员收款。盒子带说明文档和例子,但都是c#或者c++的。和delphi的东西有一部分区别。找了些资料关键点在用到了函数指针实现小白盒程序的回调。转换的过程比较顺利,但是使用的时经常内存报错。把c#的例子重新看了一遍,终于发现是函数的定义上,一定要加上cdecl 。搞了2天,完工…这次的开发熟悉了delphi的结构体,指针,指针函数和函数回调,还是有收获的。下面是转换后的delphi的函数库,有需要源码例子的和我联系:QQ:297554128

unit Inspos_func;interfaceuseswindows, Messages, SysUtils, registry, Variants;type    //一是注意定义位置;PAIPAI_INI_PARAM = recordver: Integer;       //参数结构体版本号,当前为1spToken: string;devLock: Integer;     //设备防切机,0: 不防切机,1:防切机;需和使用的盒子匹配,目前只支持防切机clientShowFun: Integer;  	//客显截取支持configUI: Integer;        //支持配置界面usePrinter: Integer;      //控制打印机configInfo: string;       //JSON格式的配置信息,UTF-8extentInfo: string;end;PAIPAI_SCENE = recordname: string;stateCount: Integer;end;PAIPAI_DECODE_RESULT = recorddata: pchar;cd: Integer;end;PAIPAI_SCENE_LIST = recordsceneCount: Integer;sceneArray: pchar;end;PAIPAI_EVENT = (BOX_CONNECTED = 1,			//InsPOS小盒已连接BOX_DISCONNECTED,			//InsPOS小盒断开连接DECODE_SUCCESS,				//得到扫码结果TOKEN_INVALID,				//服务商TOKEN无效TOKEN_VALID,				//初始化设备未连接的情况,保存配置的token,设备连接后,校验token有效后,发送该消息。EVENT_SIZE);PPRet = (PP_NO_ERROR = 0,   // No errors.PP_ERROR, PP_NOT_SUPPORTED, PP_API_UNINIT, PP_VERSION_ERROR, PP_NOT_FIND);Tppcallback = function(evt: PAIPAI_EVENT; decode: PChar): integer; cdecl ;function InitialPaipai(HWND: pchar; strPath: PChar; iniParam: PChar): PPRet; cdecl; far; external'libapi.dll' name 'InitialPaipai';function GetApiVersion(): PChar; cdecl; far; external 'libapi.dll' name 'GetApiVersion';function SetSceneState(state: Integer): PPRet; cdecl; far; external 'libapi.dll' name 'SetSceneState';function configSPToken(token: PChar): PPRet; cdecl; far; external 'libapi.dll' name 'configSPToken';function SetScanInterval(milliseconds: integer): PPRet; cdecl; far; external 'libapi.dll' name'SetScanInterval';function GetSceneList(): PChar; cdecl; far; external 'libapi.dll' name 'GetSceneList';function addEventCallback(cl: Tppcallback): PPRet; cdecl; far; external 'libapi.dll' name'addEventCallback';implementationend.
http://www.xdnf.cn/news/11356.html

相关文章:

  • 前端需要知道的JSON.stringify的正确用法
  • 【转】 ID,ClientID和UniqueID
  • 对一个vbs脚本病毒的病毒原理分析
  • Apche Kafka 的生与死 – failover 机制详解
  • 【51单片机】矩阵键盘
  • 创新管理:臭鼬工厂的故事
  • Directsound和Waveout
  • 什么是卷积?
  • 详解DOM对象中clientWidth、offsetWidth等属性
  • 关于AlertDialog 的一些用法
  • 常用正则表达式合集,这一篇就够了!!(含完整案例,建议收藏)
  • PC硬件——主板
  • 永恒之蓝(ms17-010)简介与复现
  • BNF 介绍
  • 国外有哪些安全论坛或者黑客论坛,或者导航类黑客学习网站?
  • 在win10下的VTK安装 VS2017+VTK+ITK+camke+QT的逐步安装(保姆级教程,逐步教程)
  • 贪心算法(greedy algorithm,又称贪婪算法)详解(附例题)
  • FCFS、SJF、HRRN调度算法
  • 面试官:消息队列 MQ/ JMS/ Kafka 有什么区别?
  • 腾讯走上王者之位,你以为靠的只是抄袭?
  • Noteability的一些使用小技巧
  • 前途无忧-学费分期、招生就业服务平台
  • 01 | 冯·诺依曼体系结构:计算机组成的金字塔
  • 最全ADB教程
  • 深入解析OpenCV imread()函数:图像读取的关键步骤
  • 怎么下载jQuery文件
  • BAT机器学习面试1000题系列(第1~305题)
  • getAttribute()用法
  • TPS5430学习记录(一)手册理解
  • SSTI 小结