📄 eastriver.bas
字号:
Attribute VB_Name = "EastRiver"
Option Explicit
'{ }
'{ EastRiver Interface Function Delclarattion }
'{ }
'{ Author:WuLiFeng }
'{ }
'{ 2003.11.18 }
'{ }
'
'
'Declare Function EnumPorts Lib "winspool.drv" Alias "EnumPortsA" (ByVal pName As String, ByVal Level As String, ByVal pPorts As Variant, ByVal cbBuf As String, ByRef pcbNeeded As String, ByRef pcReturned As String) As Boolean
'Declare Function GetComState Lib "kernel32" Alias "GetCommState" Public Declare Function EnumPorts Lib "winspool.drv" Alias "EnumPortsA" (ByVal pName As String, ByVal Level As Long, ByVal lpbPorts As Long, ByVal cbBuf As Long, pcbNeeded As Long, pcReturned As Long) As Long
Public Type DCB
DCBlength As Long
baudrate As Long
fBitFields As Long 'See Comments in Win32API.Txt
wReserved As Integer
XonLim As Integer
XoffLim As Integer
ByteSize As Byte
Parity As Byte
StopBits As Byte
XonChar As Byte
XoffChar As Byte
ErrorChar As Byte
EofChar As Byte
EvtChar As Byte
wReserved1 As Integer 'Reserved; Do Not Use
End Type
Declare Function GetCommState Lib "kernel32" (ByVal nCid As Long, lpDCB As DCB) As Long
Declare Function SetComState Lib "kernel32" Alias "SetCommState" (ByVal hCommDev As Long, lpDCB As DCB) As Long
' {设备联接类}
' 联接设备
' 说明: ClockNo 为两位字符的机器编号
Declare Function ConnectClock Lib "EastRiver.dll" (ByVal port As Long, ByVal baudrate As Long, ByVal ClockNo As String) As Long
' 检查指定的机器是否在联机状态
Declare Function CheckConnectClock Lib "EastRiver.dll" (ByVal hPort As Long, ByVal ClockNo As String) As Boolean
' 连接指定的机器
Declare Function CallClock Lib "EastRiver.dll" (ByVal hPort As Long, ByVal ClockNo As String) As Boolean
Declare Function UnCallClock Lib "EastRiver.dll" (ByVal hPort As Long) As Boolean
Declare Function TestCallClock Lib "EastRiver.dll" (ByVal hPort As Long, ByVal ClockNo As String, ByVal TimeOut As Long) As Boolean
' 快速返回, 用于查找卡钟
' 取得设备类型
Declare Function GetClockParam Lib "EastRiver.dll" (ByVal hPort As Long, ByRef DeviceType As Long, ByRef Fireware As Double, ByRef ICID As Boolean) As Boolean
' 设置设备类型
Declare Function SetClockParam Lib "EastRiver.dll" (ByVal hPort As Long, ByVal DeviceType As Integer, ByVal Fireware As Double, ByVal ICID As Boolean) As Boolean
' 取得设备类型字符串
Declare Function GetClockTypeStr Lib "EastRiver.dll" (ByVal hPort As Long, ByVal ClockType As String) As Boolean
' 设置设备默认通信速率
' BaudRate : 波特率, 初始值为9600, 可以有以下值:
' 9600, 19200, 38400
Declare Function SetClockBaudRate Lib "EastRiver.dll" (ByVal hPort As Long, ByVal baudrate As Long) As Boolean
' 断开联接
Declare Function DisConnectClock Lib "EastRiver.dll" (ByVal hPort As Long) As Boolean
' 设置端口超时时间
Declare Function SetPortTimeOut Lib "EastRiver.dll" (ByVal Value As Long) As Boolean
'Value 超时值, 毫秒为单位, 默认为1000毫秒,
' 设置读写卡操作的超时时间
Declare Function SetPortRWCardTimeOut Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Value As Long) As Boolean
'Value 超时值, 毫秒为单位, 默认为30000毫秒,
' 查询指定端口上的设备
Declare Function SearchClock Lib "EastRiver.dll" (ByVal port As Long, ByVal baudrate As Long, ByVal Clocks As String) As Long
'说明: 返回设备列表存储在Clocks里,以分号分隔, 返回值为设备数量
'{设备联接类}
'{版本控制类}
'取得通讯命令末尾是否附加1位校验字节(ER-980门禁机专用)
Declare Function GetCmdVerify Lib "EastRiver.dll" () As Boolean
'设置命令校验
Declare Sub SetCmdVerify Lib "EastRiver.dll" (ByVal Value As Boolean)
'取得内部通讯卡格式转换方法
Declare Function GetCardStyle Lib "EastRiver.dll" () As Integer
'设置内部通讯卡格式转换方法
Declare Function SetCardStyle Lib "EastRiver.dll" (ByVal Style As Integer) As Boolean
'取得库版本字串
Declare Function GetDLLVersion Lib "EastRiver.dll" (ByVal Version As String) As Boolean
Declare Function TransToStandardCard Lib "EastRiver.dll" (ByVal card As String, ByVal cardTimes As Long) As Boolean
Declare Function NativeCardNoToCardNo Lib "EastRiver.dll" (ByVal Native As String) As String
Declare Function CardNoToNativeCardNo Lib "EastRiver.dll" (ByVal cardno As String) As String
Declare Function GetClockSoftwareVersion Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Version As String) As Boolean
'说明: Version 缓冲区长度要大於30个字符以上
' 取得设备版本字串
Declare Function GetClockVersion Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Version As String) As Boolean
'说明: Version 缓冲区长度要大於30个字符以上
' 修改设备版本字符串(ER-980)
Declare Function SetClockVersion Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Version As String) As Boolean
' 说明:Version 新的版本字符串,替换版本字符串可重置部分
' 取得设备序列号
Declare Function ReadClockSerialNo Lib "EastRiver.dll" (ByVal hPort As Long, ByVal SerialNo As String) As Boolean
' 设置设备序列号
Declare Function SetClockSerialNo Lib "EastRiver.dll" (ByVal hPort As Long, ByVal SerialNo As String) As Boolean
'{版本控制类}
'{设备管理普通类}
' 设置机器编号
Declare Function SetClockID Lib "EastRiver.dll" (ByVal hPort As Long, ByVal clockid As String) As Boolean
' 字符显示屏的机型不可以使用A--F的字符作机号, 即只可以使用
' 0x00-0x09, 0x10-0x19, 0x20-0x29, 0x30-0x39, 0x40-0x49
' 0x50-0x59, 0x60-0x69, 0x70-0x79, 0x80-0x89, 0x90-0x99
' 取得设备编号
Declare Function GetClockID Lib "EastRiver.dll" (ByVal port As Long, ByVal baudrate As Long, ByRef clockid As String) As Boolean
'ClockID: 返回设备机号 , 缓冲区需大于50个字节长度
Declare Function ReadClockMark Lib "EastRiver.dll" (ByVal hPort As Long, ByRef Mark As Byte) As Boolean
' 设置设备标志字符
Declare Function SetClockMark Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Mark As Byte) As Boolean
'说明: 字符显示屏的机型只可以使用十进制数字
' 设置设备卡的长度
Declare Function SetCardLength Lib "EastRiver.dll" (ByVal hPort As Long, ByVal displayLen As Long, ByVal communicationLen As Long) As Boolean
' displayLen : 为设备显示卡的位数长度
' communicationLen : 为设备上传卡的长度
' 读设备卡的长度
Declare Function ReadCardLength Lib "EastRiver.dll" (ByVal hPort As Long, ByRef displayLen As Long, ByRef communicationLen As Long) As Boolean
' displayLen : 为设备显示卡的位数长度
' communicationLen : 为设备上传卡的长度
' 设置设备管理卡
Declare Function SetManagerCard Lib "EastRiver.dll" (ByVal hPort As Long, ByVal cardno As String) As Boolean
' CardNo : 16位卡号码
' 任意卡转换成依时利标准卡请使用函数 TransToStandardCard
'设置超级用户密码
Declare Function SetSuperUserPwd Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Number As Integer, ByVal Pwd As String, ByVal Right As Long) As Boolean
' Number : 超级用户编号, 从1到3 最多3个超级用户
' Pwd : 密须是6位数数字, 不足6位请在前面补零
' 读设备管理卡号码
Declare Function ReadManagerCard Lib "EastRiver.dll" (ByVal hPort As Long, ByVal cardno As String) As Boolean
' CardNo : 返回管理卡号码, 缓冲区需大於20字节长度
' 读取设备工作模式
Declare Function ReadClockMode Lib "EastRiver.dll" (ByVal hPort As Long, ByRef Mode As Long, ByRef ExtraMode As Long, ByRef SystemMode As Long) As Boolean
' mode : 设备的工作模式
' extraMode : 设备的扩展工作模式
' systemMode : 系统工作模式
' systemMode.7=1 : 考勤机分时段打卡
' systemMode.7=0 : 考勤机全天打卡
' systemMode.4=1 : 门禁机开门报警使能
' systemMode.4=0 : 门禁机开门报警禁止
' systemMode.6,5,3,2,1,0 : 保留
' 设置设备工作模式
Declare Function SetClockMode Lib "EastRiver.dll" (ByVal hPort As Long, ByVal Mode As Long, ByVal ExtraMode As Long, ByVal SystemMode As Long) As Boolean
' Mode : 设备的工作模式(低八位)
' mode.0=1 : 设备工作於考勤机 mode.0=0 : 无考勤机功能
' mode.1=1 : 设备工作於门禁机 mode.1=0 : 无门禁机功能
' mode.2=1 : 设备工作於消费机或加油机 mode.2=0 : 无消费机功能
' mode.3 : 保留
' mode.5, mode.4 =00B : 设备无铃声输出
' mode.5, mode.4 =01B : 设备电铃由外接继电器 1 输出
' mode.5, mode.4 =10B : 设备电铃由外接继电器 2 输出
' mode.5, mode.4 =11B : 设备铃声由蜂鸣器输出
' mode.6=0 : 可以无限制的重复刷卡
' mode.6=1 : 重复刷卡受 SetRepeatClockerTime 设置的时间限制
' mode.7=0 : 打卡记录数据存储器满时停止打卡
' mode.7=1 : 打卡记录数据存储器满时循环覆盖原数据继续打卡
' ExtraMode : 设备的扩展工作模式(低八位)
' extraMode.0=0 : 考勤机不检查设置的允许考勤卡(白名单)
' extraMode.0=1 : 考勤机检查设置的允许考勤卡(白名单)
' extraMode.1=0 : 考勤机不检查设置的黑名单卡
' extraMode.1=1 : 考勤机检查设置的黑名单卡
' extraMode.2=0 : 门禁机不检查设置的黑名单卡
' extraMode.2=1 : 门禁机检查设置的黑名单卡
' extraMode.3 : 保留
' extraMode.4=0 : 非允许卡打卡不反应
' extraMode.4=1 : 非允许卡打卡报警
' extraMode.7,6,5=000B : 电锁外接继电器1, 报警外接继电器2
' extraMode.7,6,5=011B : 电锁外接继电器2, 报警外接继电器1
' extraMode.7,6,5=100B : 正确指示灯外接继电器1, 错误指示灯外接继电器2
' extraMode.7,6,5=其他 : 保留
' 在设备屏上显示字符串
Declare Function ShowClockMessage Lib "EastRiver.dll" (ByVal hPort As Long, ByVal msg As String, ByVal bClearScreen As Boolean, ByVal Line As Long, ByVal Duration As Double) As Boolean
' 设置设备常态显示内容
Declare Function SetClockNormalMessage Lib "EastRiver.dll" (ByVal hPort As Long, ByVal msg As String) As Boolean
' 设置刷卡成功显示内容
Declare Function SetClockWelcomeMessage Lib "EastRiver.dll" (ByVal hPort As Long, ByVal msg As String) As Boolean
' 读取设备时间
Declare Function ReadClockTime Lib "EastRiver.dll" (ByVal hPort As Long, ByRef curtime As Double) As Boolean
' 读取设备时间, 以字符串格式返回
Declare Function ReadClockTimeString Lib "EastRiver.dll" (ByVal hPort As Long, ByVal TimeString As String) As Boolean
' 设置设备时间
Declare Function SetClockTime Lib "EastRiver.dll" (ByVal hPort As Long, ByVal SetTime As Double) As Boolean
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -