登录 注册
当前位置:主页 > 资源下载 > 11 > 天固门锁接口适用于Delphi7.0

天固门锁接口适用于Delphi7.0

  • 更新:2024-10-11 08:05:56
  • 大小:706KB
  • 推荐:★★★★★
  • 来源:网友上传分享
  • 类别:Delphi - 后端
  • 格式:RAR

资源介绍

******************************************************************************* * * * 摘 要: 本程序主要是通过调用MF1_AnLock2009.dll动态连接库函数,进行读写卡操作 * * * * 创建日期: 2006年07月19日 * 修改日期: 2009年02月17日 * * ******************************************************************************** //********************************************************** //************************************* //******************* //MF1卡通用接口 //******************* //************************************* //********************************************************** //****************************** * 返回值说明 : 整型(Integer) * -1 ---- 串口打开失败 * -2 ---- 无效卡片 * -3 ---- 软件未注册 * 0 ---- 写卡失败 * 1 ---- 成功 //****************************** function UGA_ModiPSW ( CommID :Integer; MF_Area :Byte; OldPSW, NewPSW :PChar ) : Integer; 功能: 修改分区密码 参数: CommID 端口号(1-4) MF_Area MF1区号(0-15) OldPSW 旧密码(最大长度6字节) NewPSW 新密码(最大长度6字节) function UGA_ReadCard( CommID :Integer; MF_Area :Byte; CurrPSW, CardCode, CardInfo :PChar ) : Integer; 功能: 读卡片信息 参数: CommID 端口号(1-4) MF_Area MF1区号(0-15) CurrPSW 当前密码(最大长度6字节) CardCode 读出的卡号(固定8字节) CardInfo 读出的卡片信息(16字节 * 3扇区 = 48字节) function UGA_WriteCard( CommID :Integer; MF_Area :Byte; CurrPSW, CardInfo :PChar ) :Integer; 功能: 读卡片信息 参数: CommID 端口号(1-4) MF_Area MF1区号(0-15) CurrPSW 当前密码(最大长度6字节) CardInfo 写入的卡片信息(16字节 * 3扇区 = 48字节) //********************************************************** //************************************* //******************* //MF1卡门锁专用接口 //******************* //************************************* //********************************************************** ************************************************************** * 函数功能 : 读取卡片信息 * 参数说明 : CommID(整型) ---- 端口编号 * CardType(整型) ---- 卡片类型(0是T5557卡,1是MF1卡) * MF1_Area(整型) ---- MF1卡片分区号(取值范围2-15) * 返回值说明 : 通用字符串型(PChar) * (1)未成功读取时 * -1 ---- 串口打开失败 * -2 ---- 卡片无效 * 0 ---- 读数据失败 * 1 ---- 分区设置成功但不能正常读取数据(只在MF1卡时出现,可能由于该分区未初始化) * (2)成功读取时 * 卡号,卡类型 ---- 读取非宾客卡时的返回值,以英文逗号分隔 * 卡号,卡类型,楼栋号,楼层号,房间号,套间号,开始时间,结束时间,开特权门标记 ---- 读取宾客卡时的返回值,以英文逗号分隔 * 卡类型说明: * 0 ---- 空卡 , 1 ---- 新宾客卡 , 2 ---- 复制宾客卡 , 3 ---- 后备宾客卡 , * 4 ---- 宾客终止卡 , 5 ---- 反宾客终止卡 , 6 ---- 挂失卡 , 7 ---- 取消挂失卡 , * 8 ---- 楼栋卡 , 9 ---- 楼层卡 , 10 ---- 授权卡 , 11 ---- 锁体设置卡 , * 12 ---- 特权设置卡 , 13 ---- 房间设置卡 , 14 ---- 总卡 , 15 ---- 应急卡 , * 16 ---- 时钟卡 , 17 ---- 锁体信息卡 , 18 ---- 房间清除卡 , 19 ---- 初始化数量卡 , * 20 ---- 开锁数据卡 * 开特权门标记说明: * 1 ---- 有特权 , 0 ---- 无特权 ************************ Delphi 调用 ************************* * function ReadCardInfo(CommID : Integer; CardType : Integer; MF1_Area : Byte ) : PChar; external 'MF1_AnLock2009.dll'; stdcall; ************************************************************** * ************************* VB 调用 **************************** * Private Declare Function ReadCardInfo Lib "MF1_AnLock2009.dll" _ * (ByVal CommID As Long, ByVal CardType As Long, Optional ByVal MF1_Area As Long ) As String * ************************************************************** * ************************* PB 调用 **************************** * Function String ReadCardInfo( long CommID , long CardType , long MF1_Area ) Library "MF1_AnLock2009.dll"; ************************************************************** 例1: 假设端口号为3,当卡片为T5557卡时以ReadCardInfo(3,0,15)调用 当卡片为MF1卡,分区号为2时以ReadCardInfo(3,1,2)调用 例2: 当串口打开失败时,函数返回值: -1 例3: 当读取卡号为234D833A78的总卡时,函数返回值: 234D833A78,14 例4: 当读取卡号为234D833A78、楼栋号为2、楼层号为10、房间号为10101、套间号为3、开始时间为2007-10-10 12:20:23、 结束时间为2007-10-11 12:00:08的可开特权门的新宾客卡时, 函数返回值:234D833A78,1,2,10,10101,3,2007-10-10 12:20:00,2007-10-11 12:00:00,1 ************************************************************** ************************************************************** * 函数功能 : 写宾客卡信息 * 参数说明 : * CommID(整型) ---- 端口编号 * CardType(整型) ---- 卡片类型(0是T5557卡,1是MF1卡) * OldKeyEnd(整型) ---- 制新宾客卡设置1,BAKKey参数设置0;制复制宾客卡设置0,BAKKey参数设置0; * BAKKey(整型) ---- 制后备宾客卡设置1,OldKeyEnd参数设置为0 * TSRight(整型) ---- 可开特权门设置1,不允许开特权门设置0 * FloorCode(长整型) ---- 楼栋号(1-255) * FloorLayCode(长整型) ---- 楼层号(1-255) * RoomCode(长整型) ---- 房间号(1-65535) * iSubRoomCode(长整型) ---- 套间号(1-255),当没有套间房时请设置为255 * StartDateTime(通用字符串型) ---- 宾客卡起始时间(起始日期时间),20字符长度,格式'yyyy-mm-dd hh:nn:ss' * EndDateTime(通用字符串型) ---- 宾客卡有效时间(截止日期时间),20字符长度,格式'yyyy-mm-dd hh:nn:ss' * MF1_Area(整型) ---- MF1卡片分区号(取值范围2-15) * 返回值说明 : 整型(Integer) * -1 ---- 串口打开失败 * -2 ---- 无效卡片 * -3 ---- 软件未注册 * 0 ---- 写卡失败 * 1 ---- 成功 ********************** Delphi 调用 *************************** * function WriteGuestCard( CommID : Integer; CardType : Integer; * OldKeyEnd, BAKKey, TSRight :Integer; * FloorCode, FloorLayCode, RoomCode, iSubRoomCode :Cardinal; * StartDateTime :PChar; EndDateTime :PChar; MF1_Area :Byte ) :Integer; * external 'MF1_AnLock2009.dll'; stdcall; ************************************************************** * ************************* VB 调用 **************************** * Private Declare Function WriteGuestCard Lib "MF1_AnLock2009.dll" _ * (ByVal CommID As Long, ByVal CardType As Long, _ * ByVal OldKeyEnd As Long, ByVal BAKKey As Long, ByVal TSRight As Long, _ * ByVal FloorCode As Long, ByVal FloorLayCode As Long, ByVal RoomCode As Long, ByVal iSubRoomCode As Long, _ * ByVal StartDateTime As String, ByVal EndDateTime As String, Optional ByVal MF1_Area As Long ) As Long ************************************************************** * ************************* PB 调用 **************************** * Function long WriteGuestCard( long CommID, long CardType, * long OldKeyEnd, long BAKKey, long TSRight, * ulong FloorCode, ulong FloorLayCode, ulong RoomCode, ulong iSubRoomCode, * REF string StartDateTime, REF string EndDateTime, long MF1_Area) Library "MF1_AnLock2009.dll"; ************************************************************** 以下例子中都以端口编号设置3、楼栋号设置2、楼层号设置10、房间号设置10101、套间号设置3、起始时间设置2007-10-10 12:00:00、有效时间设置2007-10-11 12:00:00为例 在MF1卡的调用中假设分区号为2 例1: 写可开特权门的新宾客卡 T5557调用方式: WriteGuestCard(3,0,1,0,1,2,10,10101,3,2007-10-10 12:00:00,2007-10-11 12:00:00,15) MF1调用方式 : WriteGuestCard(3,1,1,0,1,2,10,10101,3,2007-10-10 12:00:00,2007-10-11 12:00:00,2) 例2: 写不可开特权门的复制宾客卡 T5557调用方式: WriteGuestCard(3,0,0,0,0,2,10,10101,3,2007-10-10 12:00:00,2007-10-11 12:00:00,15) MF1调用方式 : WriteGuestCard(3,1,0,0,0,2,10,10101,3,2007-10-10 12:00:00,2007-10-11 12:00:00,2) 例3: 写可开特权门的后备宾客卡 T5557调用方式: WriteGuestCard(3,0,0,1,1,2,10,10101,3,2007-10-10 12:00:00,2007-10-11 12:00:00,15) MF1调用方式 : WriteGuestCard(3,1,0,1,1,2,10,10101,3,2007-10-10 12:00:00,2007-10-11 12:00:00,2) ************************************************************** * 函数功能 : 回收卡片 * 参数说明 : CommID(整型) ---- 端口编号 * CardType(整型) ---- 卡片类型(0是T5557卡,1是MF1卡) * MF1_Area(整型) ---- MF1卡片分区号(取值范围2-15) * 返回值说明 : 整型(Integer) * -1 ---- 串口打开失败 * 0 ---- 写卡失败 * 1 ---- 成功 ********************** Delphi 调用 *************************** * function ClearCardInfo ( CommID : Integer; CardType : Integer; MF1_Area :Byte ) : Integer; * external 'MF1_AnLock2009.dll'; stdcall; ************************************************************** * ************************* VB 调用 **************************** * Private Declare Function ClearCardInfo Lib "MF1_AnLock2009.dll" _ * (ByVal CommID As Long, ByVal CardType As Long, Optional ByVal MF1_Area As Long ) As Long ************************************************************** * ************************* PB 调用 **************************** * Function long ClearCardInfo ( long CommID, long CardType, long MF1_Area) Library "MF1_AnLock2009.dll"; ************************************************************** 例1: 假设端口号为3,当卡片为T5557卡时以ClearCardInfo(3,0,15)调用 当卡片为MF1卡,分区号为2时以ClearCardInfo(3,1,2)调用