蓝本S100D考勤机LanBen10.dll资料

原帖:http://topic.csdn.net/u/20101120/08/29c75bcd-b90a-4a13-a4c0-8baa25771ad0.html

 

调用流程:
1. 打开串口 OpenCommPort
2. 连机 CallClock
3. 调用相关函数
4. 关闭串口 DisConnectClock

不要用 ConnectClock ,这个函数有问题
只要按照这4个步骤去调用,所有的函数都可以正常使用

接口文档:

Lanben10.dll作为上层电脑软件与底层卡钟的接口,由Delphi5.0完成。
接口自定义结构:
type
  PClockInfo=^TClockInfo;
  TClockInfo=record
  clock_id: Byte;
  Fireware: Double;
  RunMode: Integer;
  port, baudrate, clock_type: integer;
  end;
外部调用定义:例: pclk: PClockInfo;
pclk.Port 串口号
pclk. clock_id 卡钟号
pclk. Fireware  
pclk. RunMode 运行模式
pclk. Baudrate 波特率
pclk. clock_type 卡钟类型
在使用接口内的函数前,请先使用 SetClockParam 对PclockInfo进行设置

type
  PICRecord=^TICRecord;
  TICRecord=packed record
  Card: array[0..15] of char; 卡号字符串
  timeString: array[0..15] of char; 14位刷卡时间字符串,格式为:yyyymmddhhnnss
  mark: Integer; 打卡标识
  flag: Integer; 记录类型
  end;
外部调用定义: 例: Buf: array of TICRecord;

所有函数公共传入参数:
hPort 必需的。Thandle型,传入的通讯口号。可为下列之一:1,2,3,4
BaudRate 必需的。 Thandle型,传入的通讯口号速率。为:19200
ClockNo 必需的。 Byte型,传入的机器号。范围为:0-252
BroadCast 可选的。Boolean型,调用时不必传入。只能传入False

function DisConnectClock(hPort: THandle):Boolean;stdcall;  
说明:断开联接的设备及关闭端口  
返回值:布尔型(Boolean)

function CheckConnectClock(hPort: THandle; ClockNo: Byte; BroadCast: Boolean=False): Byte; stdcall;返回值:Byte0—联机不成功;1—联机成功  
说明:返回机器运行模式

function TestCallClock(hPort: THandle; ClockNo: Byte; ATimeOut: Integer=0): Byte; stdcall;返回值:Btye说明:返回机器运行模式。0—联机不成功,1—联机成功
参数
AtimeOut 必需的,整型,响应超时

function ResetClock(hPort: THandle): Boolean;stdcall;返回值:Boolean说明:将卡卡复位到出厂状态,复位将清除卡钟内所有数据及下载名单。

function GetClockParam(hPort: THandle; var DeviceType: Integer; var Fireware: Double; var ICID: Boolean): Boolean; stdcall返回值:Boolean 说明:取得卡钟型号参数。适用于Delphi,外部调用请使用PclockInfo结构,详细请看PClockInfo
参数
Devicetype 必需的。取得接口内的公共变量的值.返回值为55
Fireware 必需的。取得接口内的公共变量的值.返回值为1.0。
ICID 必需的.取得接口内的公共变量的值.返回值为False

function SetClockParam(hPort: THandle; DeviceType: Integer; Fireware: Double; ICID: Boolean): Boolean; stdcall;返回值:Boolean 说明:用于对接口内的公共变量进行赋值。适用于Delphi,外部调用请使用PclockInfo结构,详细请看PclockInfo
DeviceType 必需的。Integer型。1—考勤设备。(型号:K55)
Fireware 必需的。Double型。必须为1.0
ICID 必需的。Boolean型。必须为False

function SetupDisplayNumberType(hPort: THandle; Kind: Integer): Boolean;stdcall;返回值:Boolean说明:设置卡钟刷卡时显示工号或卡号状态。
参数
Kind 必需的。整型值。显示类型,0—显示卡号,1—显示工号。

function SetupBackLight(hPort: THandle; Kind: Integer; TimeZone: PChar): Boolean;stdcall;返回值:Boolean说明:设置背景灯
参数
Kind 必需的。 整型值。背景显示类型
0—背景灯常闭;1—背景灯常亮;2—背景灯指定时段亮.
TimeZone 必需的.Pchar型,指定的背光进段,格式为:hhmmhhmm

function SetupBrushCardInterval(hPort: THandle; SameCardInterval: Integer; DifferCardInterval: Integer): Boolean;stdcall;
返回值:Boolean说明:设置两次刷卡的时间间隔。
参数
SameCardInterval 必需的。Integer型。相同卡两次刷卡时的时间间隔.(0—99分钟,0—无时间间隔.)
DifferCardInterval 必需的。Integer型。不同卡两次刷卡时的时间间隔.(0—10秒,0—无时间间隔.)

function SetupBrushPeriods(hPort: THandle; Periods: PChar): Boolean;stdcall;返回值:Boolean说明:设置考勤时段,最多5段。
Periods 必需的。 Pchar,格式为:hhmmhhmm。

Function SetupHornTimes(hPort: THandle; HornTimes: PChar): Boolean;stdcall;返回值:Boolean说明:设置打铃时间,最多32个。
参数
HornTimes 必需的。Pchar。格式为:hhmmddhhmmdd。
hh:小时,mm:分,dd:打铃持续时长(01--99)

function SetupGuardPeriods(hPort: THandle; GuardPeriods: PChar): Boolean;stdcall;返回值:Boolean说明:设置门禁开门时间,最多8段。
参数
GuardPeriods 必需的。Pchar。格式为:hhmmhhmm。

function SetupHornType(hPort: THandle; Value: Integer): Boolean;stdcall;返回值:Boolean说明:打铃设置。
参数
Value 必需的。整型。0—无铃声,1—蜂鸣器打铃,2—继电器1外接电铃,3—继电器2外接电铃。

function SetupExternalPort(hPort: THandle;Value1: Integer;value2:integer;value3:integer): Boolean;stdcall;返回值:Boolean说明:电锁设置。
参数
Value1 必需的。Integer型。是否有电锁. 0—无电锁,1—继电器1外接电锁,2—继电器2外接电锁。
value2 必需的。Integer型。设置电锁类型. 0--无电锁,1—外接阳锁,2—外接阴锁。
Value3 必需的。Integer型。设置电锁延时时间。

function SetNotification(hPort: THandle; Kind: Integer; TimeZone: PChar; Notication: PChar; Company: PChar): Boolean;stdcall;返回值:Boolean说明:下载显示消息,公司名。
参数
Kind 必需的.类型:Integer,值为1
TimeZone 必需的,类型:Pchar,消息显示时段,格式为:mmddmmddhhnnhhnnhhnnhhnn
mm:月;dd:日;hh:小时;nn分钟
Notication 必需的,类型:Pchar,显示消息内容(最多32个字节).如果消息为空,所传入的时间必须为:mmdd mmdd 0000 0000 0000 0000
strComName 必需的,类型:Pchar,公司名(最多16个字节)
注:如果想删除消息,则将时间都改为 mmdd mmdd 0000 0000 0000 0000发下即可

function SetClockID(hPort: THandle; ClockID: Byte; RunMode: Integer=0): Boolean; stdcall;返回值:Boolean说明:设置卡钟编号及运行模式。
参数
ClockID 必需的。类型:Byte。新机号。
RunMode 必需的。类型: Integer。新的运行模式。值为1(考勤机)

function GetClockID(Port, BaudRate: Integer;var ClockID: Byte): Boolean; stdcall;返回值:Boolean说明:取得机器号。
参数
ClockID 必需的。类型:Byte。返回卡钟编号

function ReadClockTime(hPort: THandle; var CurTime: Double): Boolean; stdcall;返回值:Boolean说明:取卡钟时间
参数
CurTime 必需的。类型: Double。返回卡钟时间.

function SetClockTime(hPort: THandle; NewTime: Double): Boolean; stdcall;返回值:Boolean说明:设置卡钟时间。
参数
NewTime 必需的。Double型。

function DownLoadFontPage(hPort: THandle; lpData: PChar; Size: Integer=16; First: Boolean=False; Finish: Boolean=False): Boolean; stdcall;返回值:Boolean说明:下载汉字库到卡卡钟
参数
lpData 必需的。PChar型。字库数据指针
Size 必需的。Integer型。字节数,只能是16字节。
First 必需的。Boolean型。下载开始。
Finish 必需的。Boolean型。下载结束

function ReadClockRecordTotal(hPort: THandle; var data: Integer; kind: Integer=0): Boolean;stdcall;返回值:Boolean型说明:从卡钟读取刷卡记录总数
参数
data 必需的。Integer型。返回刷卡记录总数. 
kind 可选的。Integer型。只能为0

function BatchReadRecord(hPort: THandle;var Records: array of TICRecord; FirstRecord: Boolean; Retry: Boolean=False; kind: Integer=0):Integer;stdcall;返回值:Integer型说明:批量读取考勤数据
参数
Records 必需的。自定义变量。返回记录数组
FirstRecord 必需的。Boolean型。是否读第一条记录
Retry 可选的。Boolean型。是否重试上一条记录
kind 可选的。Integer型。只能为0

function StopReadRecord(hPort: THandle): Boolean;stdcall;返回值:Boolean型说明:中途取消读取数据操作。

function ClearAllReadCard(hPort: THandle): Boolean; stdcall;返回值:Boolean型说明:清除考勤机内的刷卡数据。

function SetAllowedCard(hPort: THandle; card: PChar; emp_id: PChar; emp_name: PChar=nil; First: Boolean=True;Finish: Boolean=False;Batch:Boolean=False): Boolean; stdcall;返回值:Boolean型说明:向卡钟注册卡信息。
参数
card 必需的。PChar型。ID卡号。
emp_id 必需的。PChar型。员工工号。
emp_name 必需的。PChar型。员工姓名。
First 可选的。Boolean型。开始注册,第一次调用时为True。
Finish 可选的。Boolean型。结束注册,结束时为True。
说明:当First和Finish同时为True时表示单张增加注册,否则表示重新排序注册。注意:重新排序注册是会删除以前所有注册信息再重新进行注册(此处如有疑问请与开发商联系。)

function ReadAllowedCard(hPort: THandle; card_id, emp_id, emp_name: PChar; First: Boolean;var Finish: Boolean;var Total: Integer): Boolean; stdcall;返回值:Boolean型说明:从卡钟读取注册卡信息。
参数
card 必需的。PChar型。返回卡号,缓冲区必须大于11个字节。
emp_id 必需的。PChar型。返回工号,缓冲区必须大于11个字节。
emp_name 必需的。PChar型。返回姓名,缓冲区必须大于11个字节。
First 必需的。Boolean型。开始读注册卡信息。
Finish 必需的。Boolean型。结束读注册卡信息。
Total 必需的。Integer型。当First为True时返回注册卡总数。
说明:不能中途退出

function DeleteAllowedCard(hPort: THandle; card: PChar): Boolean; stdcall;返回值:Boolean型说明:删除单张注册卡信息。
参数
card 必需的。PChar型。欲删除的卡号。

function DeleteAllAllowedCard(hPort: THandle): Boolean; stdcall;返回值:Boolean型说明:删除所有注册卡信息。

function SetEmployeeCustomMessage(hPort: THandle; Card: PChar; msg: PChar; First: Boolean; Finish: Boolean): Boolean;stdcall;返回值:Boolean型说明:设置员工自定义刷卡消息(最多200人)。
参数
card 必需的。PChar型。欲注册消息的卡号。
msg 必需的。PChar型。欲注册消息,最多64个字符。
First 必需的。Boolean型。开始下载。
Finish 必需的。Boolean型。结束下载。

function DeleteEmployeeCustomMessage(hPort: THandle; Card: PChar): Boolean;stdcall;返回值:Boolean型说明:删除自定义员工刷卡消息。
参数
card 必需的。PChar型。欲删除注册消息的卡号。

function DeleteAllEmployeeCustomMessage(hPort: THandle): Boolean;stdcall;返回值:Boolean型说明:删除所有自定义员工刷卡消息。

实时通讯类函数
function StartupRealTime(hPort: THandle): Boolean;stdcall;返回值:Boolean型说明:开始实时通讯。

function StartupRealCollect(hPort: THandle): Boolean;stdcall;返回值:Boolean型说明:开始实时接收数据。

function StopRealCollect(hPort: THandle): Boolean;stdcall;返回值:Boolean型说明:停止实时接收数据。
说明:与StartupRealCollect对应

function RealReadRecord(hPort: THandle; Card: PChar; timeString: PChar; var mark, flag, clock_id: Integer): Integer;stdcall;返回值:Integer型说明:实时读取一条刷卡数据(马上返回),成功为0。
参数
card 必需的。PChar型。实时通讯取得的卡号(0结束),缓冲区需大于20个字节长。
timeString 必需的。PChar型。实时通讯取得的14位刷卡时间(0结束),格式为yyyymmddhhmmss,缓冲区需大于20个字节长度。
mark 必需的。Integer型。刷卡数据类型。
flag 必需的。Integer型。记录类型。
clock_id 必需的。Integer型。刷卡机号。

非实时通讯功能(即时读取卡号)
function ReadCardNo(hPort: THandle; Card: PChar; Kind: Integer): Boolean;stdcall;返回值:Boolean型说明:实时读取刷卡区的卡号,无等待返回。
参数
card 必需的。PChar型。返回读取卡号缓冲区,缓冲区需大于20个字节长。
Kind 必需的。Integer型。取卡号状态,0—开始读卡号,1—结束读卡号。

function RealReadCardNo(hPort: THandle; Card: PChar; Card_Length: Integer=10): Boolean;stdcall;返回值:Boolean型说明:设置取卡号状态。
参数
card 必需的。PChar型。即时通讯取得的卡号,缓冲区需大于20个字节长。
Card_Length 必需的。Integer型。希望取得卡号的长度,必须为10。
说明:必须先调用ReadCardNo
Nanben字符串说明:
传入参数中,文字不用空格隔开。如传入文字格式为:"中国人民"。

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、项目问题、技术讨论,可以给博主私信或留言,博主看到后会第一时间与您进行沟通; 3、本项目比较适合计算机领域相关的毕业设计课题、课程作业等使用,尤其对于人工智能、计算机科学与技术等相关专业,更为适合; 4、下载使用后,可先查看README.md文件(如有),本项目仅用作交流学习参考,请切勿用于商业用途。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值