📄 eastriver.pas
字号:
const
fiStoreRecord = $00000000; //存储刷卡记录
fiAttendance = $00000001; //支持考勤功能
fiDoorGuard = $00000002; //支持门禁功能
fiConsumption = $00000003; //支持消费功能
fiIssueCard = $00000004; //支持发卡功能
// ... //5-F 保留
fiDoorList = $00000010; //支持门禁名单
fiWhiteList = $00000011; //支持白名单
fiBlackList = $00000012; //支持黑名单
fiHaveMark = $00000013; //设备支持刷卡标识
fiIDReader = $00000014; //有ID读头
fiICReader = $00000015; //有IC读头
fiScreen = $00000016; //支持控制屏显示
fibuzzer = $00000017; //支持控制蜂器发声
fiAdminCard = $00000018; //支持管理卡
fiBrushPeriods = $00000019; //支持刷卡时段
fiRingTime = $0000001A; //支持打铃时间
fiGroupCard = $0000001B; //支持分组打卡
fiRealTime = $0000001C; //支持实时上传
fiRealControl = $0000001D; //支持实时控制
fiChangeMode = $0000001E; //支持更改运行模式
fiChangeBlock = $0000001F; //支持更改IC卡使用块号
fiCustomCardLen = $00000020; //支持自定义卡号长度
fiBrushSpace = $00000021; //支持自由刷卡间隔
fiRepeatSpace = $00000022; //支持重复刷卡间隔
fiSerialNo = $00000023; //支持机具序列号
fiClockTime = $00000024; //机具有时钟
fiPriceList = $00000025; //支持消费价格表
fiFixPrice = $00000026; //支持设置定值消费额
fiDayMaxExpend = $00000027; //支持设置日最大消费额
fiDayMaxTimes = $00000028; //支持设置日最大消费次数
fiCardForegift = $00000029; //支持卡上最低限制金额(押金)
fiChangeClockId = $0000002A; //支持修改机号
fiHaveEmpId = $0000002B; //支持显示工号
fiAllowCharge = $0000002C; //支持补贴充值
fiReadAllRecord = $0000002D; //支持一次性采集所有记录(ReadAllRecord)
MAXSUPPORTINDEX = $0000002D; //功能索引最大值(需同步更新)
//说明此函数为将来机具规划一个可扩展的空间,
//加强软件和机具之间的联系,有些功能也许现在并不可靠,
//以备将来支持,请用户谅解
//返回值:
// True : 支持此功能
// False : 不支持此功能
// 取得函数库DLL版本号
function GetDLLVersion: Double; stdcall; external EASTRIVER_API
//返回值:
// 非零的小数 : 库版本号
// 其它值 : 失败
// 返回机具是依时利第几代产品
function GetClockVersionOrd(hPort: THandle; fastGet: Boolean=True): Integer; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// fastGet : 是否快速调用(从缓冲区取得), 否则需要读取卡钟(慢)
//返回值:
// 0 : 失败
// 1 : 第一代(ER-210--ER-830)
// 2 : 第二代(ER-880)
// 3 : 第三代(ER-980)
// 返回指定型是依时利第几代产品
function ClockVerOrd(Model: Integer): Integer;stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// fastGet : 是否快速调用(从缓冲区取得), 否则需要读取卡钟(慢)
//返回值:
// 0 : 失败
// 1 : 第一代(ER-210--ER-830)
// 2 : 第二代(ER-880)
// 3 : 第三代(ER-980)
// 取得机具版本字符串
function GetClockVersion(hPort: THandle; Version: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// Version : 返回版本缓冲区, 长度至少要大于30个字符
//返回值:
// True : 成功
// False : 失败
// 读取设备序列号
function ReadClockSerialNo(hPort: THandle; SerialNo: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// Version : 返回序号号缓冲区, 长度至少要大于30个字符
//返回值:
// True : 成功
// False : 失败
{版本控制类}
{设备管理普通类}
// 修改机号
function SetClockID(hPort: THandle; new_id: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, ER-880系列需要联机, ER-210--ER-830不需要联机
// new_id : 新机号,字符显示屏的机型不可以使用A--F的字符作机号, 即只可以使用
// 0x00-0x09, 0x10-0x19, 0x20-0x29, 0x30-0x39, 0x40-0x49
// 0x50-0x59, 0x60-0x69, 0x70-0x79, 0x80-0x89, 0x90-0x99
//返回值:
// True : 成功
// False : 失败
// 返回指定端口上的唯一机号
function GetClockID(Port, BaudRate: Integer): Byte; stdcall; external EASTRIVER_API
//参数说明:
// Port : 端口号
// BaudRate : 波特率
//返回值:
// True : 成功
// False : 失败
// 读取机具标识字符(mark)
function ReadClockMark(hPort: THandle; var Mark: Char): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// Mark : 返回的机具标识字符
//返回值:
// True : 成功
// False : 失败
// 修改机具标识字符(mark)
function SetClockMark(hPort: THandle; Mark: Char): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// Mark : 新的机具标识字符
//返回值:
// True : 成功
// False : 失败
//说明: 数字显示屏的机型只可以使用 0-9 的数字
// 读取机具上卡号长度变量
function ReadCardLength(hPort: THandle; var dispLen: Integer; var dataLen: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// dispLen : 机具显示卡号位数, 同时黑白名单检查时也以该值为准
// dataLen : 机具存储卡号位数, 存储刷卡数据时使用
//返回值:
// True : 成功
// False : 失败
// 修改机具上卡号长度变量
function SetCardLength(hPort: THandle; dispLen: Integer; dataLen: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// dispLen : 新的机具显示卡号位数
// dataLen : 新的机具存储卡号位数
//返回值:
// True : 成功
// False : 失败
//备注:
// ID机型默认: dispLen=10, dataLen=10;
// IC机型默认: dispLen=10, dataLen=16;
// 读机具当前管理卡号码
function ReadManagerCard(hPort: THandle; CardNo: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// CardNo : 返回管理卡号码, 缓冲区需大於20字节长度
//返回值:
// True : 成功
// False : 失败
// 修改机具管理卡(ALL)
function SetManagerCard(hPort: THandle; CardNo: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// CardNo :
//返回值:
// True : 成功
// False : 失败
// 读取机具工作模式(^2G)
function ReadClockMode(hPort: THandle; var Mode: Integer; var ExtraMode: Integer; var SystemMode: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// mode : 设备的工作模式
// extraMode : 设备的扩展工作模式
// systemMode : 系统工作模式
// systemMode.7=1 : 考勤机分时段打卡
// systemMode.7=0 : 考勤机全天打卡
// systemMode.4=1 : 门禁机开门报警使能
// systemMode.4=0 : 门禁机开门报警禁止
// systemMode.6,5,3,2,1,0 : 保留
//对690C2.0版
// extraMode.5=1 过期卡检测
// extraMode.7=1 开机卡检测
//返回值:
// True : 成功
// False : 失败
// 设置设备工作模式(^2G)
function SetClockMode(hPort: THandle; Mode: Integer; ExtraMode: Integer; SystemMode: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// 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=其他 : 保留
//对690C2.0版
// extraMode.5=1 过期卡检测
// extraMode.7=1 开机卡检测
//返回值:
// True : 成功
// False : 失败
// 扩展读取机具工作模式(890,兼容2G)
function ReadClockModeEx(hPort: THandle; var Mode: Integer; var ExtraMode: Integer; var SystemMode: Integer; var RingMode: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort : 端口句柄, 需要联机
// Mode : 设备的工作模式(低八位)
// mode.2,1,0
// 000B 机具无界面 001B 独立考勤机
// 010B 独立门禁机 011B 门禁/考勤二合一机
// 100B 消费机 101B 读卡器(ER-980)
// 110B 出门读卡器(ER-980,备用) 111B 备用
// mode.3 ER-980及以后机型支持
// 0B 非允许时段刷卡不记录存贮记录 1B 非允许时段刷卡记录存贮记录
// mode.5,4
// 00B 无铃声输出,不打铃 01B 铃声输出,外接电铃接继电器1
// 10B 铃声输出,外接电铃接继电器2 11B 内置蜂鸣器打铃
// mode.6
// 0B 允许重复刷卡
// 1B 禁止重复刷卡,必须等待设置的重复刷卡间隔时间后才能再次刷卡
// mode.7
// 0B 记录存贮满后停止存贮,刷卡报告存贮器满异常
// 1B 记录存贮满后循环存贮,新记录覆盖最旧记录
// ExtraMode : 设备的扩展工作模式(低八位)
// extraMode.0
// 0B 不进行考勤白名单检查
// 1B 检查刷卡卡号是否在考勤白名单中,不是则报警
// extraMode.1
// 0B 考勤时不进行考勤黑名单检查
// 1B 考勤时检查刷卡卡号是否在考勤黑名单中,是则报警
// extraMode.2
// 0B 门禁通行判断时不进行黑名单检查
// 1B 门禁通行判断时,检查刷卡卡号是否为黑名单,是则报警
// extraMode.3
// 0B 刷卡时不进行组别比较
// 1B IC卡刷卡时检查卡片上的组别信息是否与机具组别匹配,不匹配则报警
// extraMode.4
// 0B 门禁通行时不进行通行名单检查,任何卡都可通行
// 1B 门禁通行时需要检查刷卡卡号是否在门禁通行名单中,不是则报警
// extraMode.7,6,5
// 000B 电锁外接继电器1,报警外接继电器2
// 011B 电锁外接继电器2,报警外接继电器1
// 100B 正确指示灯外接继电器1,错误指示灯外接继电器2
// 101B ER-980控制器启动门禁通行反潜回检查(ER-980及以后机型支持)
// 其它 保留
// systemMode : 系统工作模式 ER-981、ER-890支持
// systemMode.0
// 0B 不存贮考勤记录 1B 存贮员工正常考勤记录
// systemMode.1
// 0B 黑名单刷卡时不存贮记录 1B 黑名单刷卡时存贮记录
// systemMode.2
// 0B 非法卡刷卡不存贮记录 1B 非法卡刷卡存贮记录
// systemMode.3
// 0B 通讯时使用客户自定义设置的机号作为设备号用于联机
// 1B 通讯时使用机具产品序列号的最后2位数字作为设备号用于联机
// systemMode.4
// 0B 不进行门打开超时检查
// 1B 门禁开门时,检查门打开是否超时,是则报警
// systemMode.5
// 0B 门禁无法通行时不存贮刷卡信息
// 1B 门禁刷卡后检测到该卡无法通行时存贮记录,以备查验
// systemMode.6
// 0B 门禁通行后不存贮刷卡信息,可用于简单通行控制场合
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -