【三九智慧】一卡通接口的 Delphi封装与测试

    最近学校要上一卡通项目了,中标单位是广东智慧电子的智慧一卡通信息管理系统,由于要和原有的各种应用系统进行无缝对接,故必须针对一卡通进行接 口进行二次开发。
    因为原有的很多应用系统是用Delphi开发的,因此,为了方便开发我把一卡通的VC++接口封装为Delphi的模 式。在封装的过程中有几个细节需要特别注意:
    1.接口函数必须采用stdcall调用模式;
    2.必须把C++中的 char *类型转换为pchar;
    3.int &转换为pointer类型,在调用时先定义一个Integer类型的变量如iMoney,用@iMoney取得返回的整型数值;
    4. 返回值很多都是定长的字符串数据,应注意删除不必要的前后空格。

unit u999CardIntf; //三九智慧一卡通接口的Delphi封装  by xieyunc 2010.5.27 interface //1)  打开串口 function IniCom(ComPort,BaudRate:Integer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'IniCom'; //2)  关闭串口 function CloseCom(ComPort:Integer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'CloseCom'; //3)  读取个人基本信息 function ReadPersonalInfo(ComPort:Integer;Name,buffer:PChar):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'ReadPersonalInfo'; //4)  读取卡基本信息 function ReadCardInfo(ComPort:Integer;CarNum,CarNum1,CardID:PChar;                       CardType:Pointer;ExpireDay:PChar):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'ReadCardInfo'; //5)  读电子钱包信息 function ReadCard(ComPort:Integer;CarNum,CarNum1,Password,CardID,Name:PChar;                   Money:Pointer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'ReadCard'; //6)  读电子钱包信息并声音提示刷卡 function ReadCardBeep(ComPort:Integer;CarNum,CarNum1,Password,CardID,Name:PChar;                       Money:Pointer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'ReadCardBeep'; //7)  扣卡金额 function DecCard (ComPort:Integer;CardNum:PChar;DecMoney:Pointer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'DecCard'; //8)  显示字符串 function Display(ComPort:Integer;XSbuffer:PChar;DelayTime:Integer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'Display'; //9)  用户显示金额 function DisplayMoney(ComPort:Integer;Money:Pointer):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'DisplayMoney'; //10)  读用户自定义信息(如借书证号) function ReadLiberyNum(ComPort:Integer;ThirdInfo:PChar):Integer;stdcall;         external 'SmartCom411SFJ.dll' name 'ReadLiberyNum'; implementation end.
测试界面:

全 部文档:

点击这里下载文件: POS_Demo.rar

你可能感兴趣的:(function,测试,Integer,文档,buffer,Delphi)