⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 eastriver.bas

📁 一款基于标准IC卡考勤数据读写操作示例的开发源程序。主要给需要开发IC卡和考勤系统的网友学习参考用
💻 BAS
📖 第 1 页 / 共 4 页
字号:
Declare Function SetClockTime Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal SetTime As Double) As Boolean

'      以字符串设置设备时间
Declare Function SetClockTimeString Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal TimeString As String) As Boolean

'      设置端口上的所有设备的时间(不联机广播式)
Declare Function SetPortAllClockTime Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal SetTime As Double) As Boolean

'设置通告消息(ER-780)
Declare Function SetNotification Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Msg As String, ByVal nDay As Integer, Optional ByVal WordWarp As Boolean = True) As Boolean
' msg      : 消息文本, 可以带回车换行符
' nDay     : 表示本通知消息保留时间单位(天)
' WordWrap : 当每行超出屏幕宽度时是否自动换行, 否则将截断显示


'{考勤机控制类}

'      读设备已经存储的考勤记录数
Declare Function ReadClockRecordTotal Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Data As Long) As Boolean

'      读设备可以存储的最大考勤记录数
Declare Function ReadMaxClockRecordTotal Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Data As Long) As Boolean

'      设置任意卡打卡的时间间隔
Declare Function SetCardTimeInterval Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Timeinterval As Double) As Boolean
'      timeInterval  :  打卡时间间隔  0.0 -- 2.25 秒

'      读任意卡打卡的时间间隔
Declare Function ReadCardTimeInterval Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Timeinterval As Double) As Boolean
'      timeInterval  :  打卡时间间隔  0.0 -- 2.25 秒

'      设置全天考勤
Declare Function SetWholeTimeClock Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean

'type
'  PClockerTime=^TClockerTime;
'  TClockerTime=packed record
'    StartTime,
'    EndTime: array[0..5]of char;
'  end;

'    读取考勤时间段  (最多返回4个考勤时间段)
Declare Function ReadClockerTime Lib "EastRiver.dll " (ByVal hPort As Long, ByVal ClockTime As String, ByVal arraysize As Long) As Long

'      设置考勤时间段  (最多可以设置4个考勤时间段)
Declare Function SetClockerTime Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal StartTime As String, ByVal EndTime As String) As Boolean
'      startTime, EndTime  :  为考勤时间段开始时间结束时间,
'    格式为hhmm, 值从0000到2400

'      设置同一张卡重复刷卡时间间隔
Declare Function SetRepeatClockerTime Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal timelen As Long) As Boolean
'      timeLen  :  为时间间隔, 设置为 1-99 分钟

'      读同一张卡重复刷卡时间间隔
Declare Function ReadRepeatClockerTime Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef timelen As Long) As Boolean
'      timeLen  :  为时间间隔, 设置为 1-99 分钟

'      清除设备的所有打铃设置
Declare Function ClearRing Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean

'type
'  TRingTime=packed record
'    hour, minute, second, RingTimeLen: Integer;
'  end;


'    读取设备打铃时间 (最多返回32个打铃)
Declare Function ReadRing Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal RingTimes As String, ByVal arraysize As Long) As Long
'Declare Function ReadRing Lib "EastRiver.dll" (ByVal hport As Long, ByRef RingTimes As TRingTime) As Long
'      设置设备打铃时间 (最多可以设置32次打铃)
Declare Function SetRing Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal hour As Long, ByVal minute As Long, ByVal second As Long, ByVal ringTimeLen As Long) As Boolean
'      hour, minute, second  :  为打铃的起始时间, 数值分别为 : 0-23, 0-59, 0-59
'      ringTimeLen           :  为打铃的持续时间, 数值为 1-60 秒


'批量读数据(880 1.28以上版本)
Declare Function BatchReadRecord Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Records As String, ByVal arraysize As Long) As Long
'扩展批读数据
'function BatchReadRecordEx(hPort: THandle; Action: Integer; Bytes: Integer; var Count: Integer; Data: PChar): Integer; stdcall; external EASTRIVER_API
Declare Function BatchReadRecordEx Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Action As Long, ByVal Bytes As Long, ByRef Count As Long, ByVal Data As String) As Long
'参数说明:
'hPort         : 端口句柄,需要联机
'Action        : 功能,第一次传0,如果读一下批设为1,重读上一批时设为0
'Bytes         : 每条记录的长度,目前为16
'Count         : 返回本次所读取的记录数,如果为0表示没有记录了
'Data          : 返回的数据,格式:卡号+TAB制表符+日期+TAB制表符+状态+TAB制表符+标志+','+.......(每条记录用,号隔开)
'返回值
'0             :正确
'其中标志中含有标识(Mark,第7,6位)、读头(Reader,第5、4位)、标志(Flag,第3,2,1,0位)


'    读取记录文本'
Declare Function ReadClockData Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal CardNo As String, ByRef SignTime As Double, ByRef Mark As Byte, ByVal FirstRecord As Byte) As Boolean

'    读取记录文本
Declare Function ReadRecordText Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Data As String, ByVal FirstRecord As Byte) As Long

  '返回值为读取的文本长度
'      读设备存储记录
Declare Function ReadRecord Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Data As String, ByVal TimeString As String, ByRef Mark As Long, ByVal FirstRecord As Boolean) As Boolean
'      函数为通用读记录函数, 可以用其他特定功能函数代替
'      record     : 读回的卡号字符串, 缓冲区需大於20字节长度
'      timeString : 读回的14位刷卡时间字符串, 格式为yyyymmddhhmmss, 缓冲区需大於20字节长度
'      id         : 读卡机机号, 0x00--0xFF
'      mark       : 读卡机标识字符.


'      以依时利新卡标准格式读设备存储记录
Declare Function ReadStandardRecord Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Data As String, ByVal TimeString As String, ByRef Mark As Long, ByRef flag As Long, ByRef cardTimes As Long, ByRef cardGroup As Long) As Boolean
'      使用函数前需确保设备卡的传输长度为16
'      record     : 读回的卡号字符串, 缓冲区需大於20字节长度
'      timeString : 读回的14位刷卡时间字符串, 格式为yyyymmddhhmmss, 缓冲区需大於20字节长度
'      id         : 读卡机机号, 0x00--0xFF
'      mark       : 读卡机标识字符.
'      flag       : 存储卡的结果
'                   flag = 0   : 表示为正常卡
'                   flag.0 = 1 : 表示为非法门禁卡
'                   flag.1 = 1 : 表示为非法考勤卡
'                   flag.2 = 1 : 表示为黑名单卡
'      cardTimes  : 发卡次数, 0-15
'      cardGroup  : 卡的组别, 0-255

'      以明华卡标准格式读设备存储记录
'  function ReadMinHuaRecord(hPort: THandle; Data: PChar; timeString: PChar; id: PChar;var mark: Char;var flag: Integer; carID: PChar;var oilType: Integer;var oilNumber: Integer):ByteBool;stdcall; external EastRiver.dll_API
Declare Function ReadMinHuaRecord Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal Data As String, ByVal TimeString As String, ByVal id As String, ByRef Mark As Byte, ByRef flag As Long, ByVal carID As String, ByRef oilType As Long, ByRef oilNumber As Long) As Boolean
'      使用函数前需确保设备卡的传输长度为16
'      record     : 读回的卡号字符串, 缓冲区需大於20字节长度
'      timeString : 读回的14位刷卡时间字符串, 格式为yyyymmddhhmmss, 缓冲区需大於20字节长度
'      id         : 读卡机机号, 0x00--0xFF
'      mark       : 读卡机标识字符.
'      flag       : 存储卡的结果
'                   flag = 0   : 表示为正常卡
'                   flag.0 = 1 : 表示为非法门禁卡
'                   flag.1 = 1 : 表示为非法考勤卡
'                   flag.2 = 1 : 表示为黑名单卡
'      carID      : 为4位长车号, 用於加油机
'      oilType    : 为加油类型, 0-15, 用於加油机
'      oilNumber  : 为加油数量, 0-999, 用於加油机

'      删除所有的存储考勤卡记录
Declare Function ClearAllReadCard Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean


'{考勤机控制类}


'{黑白名单类}
'      读设备已经下载的允许考勤卡(白名单)卡数
Declare Function ReadSavedAllowedClockerCardNumber Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Data As Long) As Boolean

'      读设备已经下载的黑名单卡数量
Declare Function ReadSavedBlackCardNumber Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Data As Long) As Boolean

'      读设备已经下载的门禁机通行卡数量
Declare Function ReadSavedLockerPassCardNumber Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Data As Long) As Boolean

'      设置设备的允许考勤卡(白名单卡带6个字符工号或姓名)
Declare Function SetAllowedCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal card As String, ByVal EmpId As String, ByVal EmpName As String) As Boolean
'      card  :  16位字节卡号

'      删除设备的允许考勤卡(白名单卡)
Declare Function DeleteAllowedCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal card As String) As Boolean
'      card  :  16位字节卡号

'      删除设备的所有允许考勤卡(白名单卡)
Declare Function DeleteAllAllowedCard Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean

'      设置设备的黑名单卡
Declare Function SetBlackCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal card As String) As Boolean
'      card  :  16位字节卡号

'      删除设备的黑名单卡
Declare Function DeleteBlackCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal card As String) As Boolean
'      card  :  16位字节卡号

'      删除设备的所有黑名单卡
Declare Function DeleteAllBlackCard Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean

'      设置门禁机设备的通行卡
Declare Function SetDoorPassCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal BeginPass As String, ByVal EndPass As String, ByVal card As String, ByVal EmpId As String) As Boolean
'      card                   : 16位允许通行卡的卡号
'    beginPass 为开始时间格式为hhmm
'    endPass 为结束时间格式为hhmm
'    同一张卡可以设置多个时间段的开门时间

'      删除门禁机设备的通行卡
Declare Function DeleteDoorPassCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal card As String) As Boolean
'      card                   : 16位允许通行卡的卡号

'      删除门禁机设备的所有通行卡
Declare Function DeleteAllDoorPassCard Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean

'附加批量读写设备名单函数
' Declare Function TProgressProc Lib "" (ByVal TypeId As Long, ByVal PageNo As Long, ByVal Percent As Long) As Boolean
 '专用于批量读取黑白名单时的进程显示回调

'读门禁机通行卡函数
'  function BatchReadDoorPassCard(hPort: THandle;var CardList: array of TDownloadCardStruct;var Number: Integer; CallBack: TProgressProc):ByteBool;stdcall; external EastRiver.dll_API
Declare Function BatchReadDoorPassCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal CardList As String, ByVal arraysize As Long, ByRef Number As Long, ByVal CallBack As Long) As Boolean

'读白名单函数
'  function BatchReadAllowedCard(hPort: THandle;var CardList: array of TDownloadCardStruct;var Number: Integer; CallBack: TProgressProc):ByteBool;stdcall; external EastRiver.dll_API
Declare Function BatchReadAllowedCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal CardList As String, ByVal arraysize As Long, ByRef Number As Long, ByVal CallBack As Long) As Boolean
'读黑名单
'  function BatchReadBlackCard(hPort: THandle;var CardList: array of TDownloadCardStruct;var Number: Integer; CallBack: TProgressProc):ByteBool;stdcall; external EastRiver.dll_API
Declare Function BatchReadBlackCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal CardList As String, ByVal arraysize As Long, ByRef Number As Long, ByVal CallBack As Long) As Boolean

'{黑白名单类}


'{消费机类}

'   读售饭机金额总和
Declare Function ReadClockMoneySum Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef MoneySum As Integer) As Boolean
'      MoneySum  :  最大5位数的金额, 以角为单位
'兼容机具->ER-680

'   清除售饭机金额总和
Declare Function ClearClockMoneySum Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean
'兼容机具->ER-680


'{消费机类}



'{实时控制类}

'      读取最新刷卡卡号
Declare Function ReadLastCard Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal CardNo As String) As Boolean

'      读取键盘按键
Declare Function ReadKeyboardPressKey Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Key As Byte) As Boolean

'      读取门锁状态
Declare Function ReadDoorState Lib "EastRiver.Dll" (ByVal hPort As Long, ByRef Opening As Boolean) As Boolean

'      开门
Declare Function SetDoorOpen Lib "EastRiver.Dll" (ByVal hPort As Long) As Boolean

'      控制设备状态
Declare Function SetClockState Lib "EastRiver.Dll" (ByVal hPort As Long, ByVal state As Long) As Boolean

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -