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

📄 eastriver.pas

📁 上传个考勤系统,希望别人也能用.该代码只能算初级的东东,软件代码复用性不高,重复代码比较多.唯一感觉有点取鉴的可能就是端口和dll的连接,还有线程的使用,本想改一改,但是手头没有考勤机了,对应考勤机是
💻 PAS
📖 第 1 页 / 共 5 页
字号:
//     1B 门禁通行后存贮该卡的通行记录,以备查验
// systemMode.7
//     0B 考勤时任何时段都可以刷卡
//     1B 考勤时分时段刷卡,非允许时段刷卡报警
// RingMode : 内置蜂鸣器响铃控制(ER-981、ER-890支持)
// RingMode.0
//     0B 正常刷卡时静音,只显示刷卡信息
//     1B 正常刷卡时响铃发出正常刷卡提示音
// RingMode.1
//     0B 黑名单卡、非法卡刷卡时静音,只显示刷卡错误提示信息
//     1B 黑名单卡、非法卡刷卡时响铃发出刷卡错误提示音
// RingMode.2
//     0B 非允许刷卡时段刷卡静音,只显示相关提示信息
//     1B 非允许刷卡时段刷卡响铃发出相对应的提示音
// RingMode.3
//     0B 刷卡无法通行时静音,只显示无法通行提示信息
//     1B 刷卡无法通行时响铃,发出无法通行提示音
// RingMode.4
//     0B 使用常闭门磁,门关闭时,门磁闭合,开关断路
//     1B 使用常开门磁,门关闭时,门磁闭合,开关短路
// RingMode.5
//     0B 外部输入联动警报为防盗等警报,生效时应能自动关门防盗
//     1B 外部输入联动警报为火灾消防警报,生效时应能自动开门逃生
// RingMode.7,6
//    00B 未使用外接读头                01B	Wiegand通讯格式外接读头
//    10B	ABA通讯格式外接读头           11B ABA通讯格式Wiegand数据格式读头
//返回值:
// True         : 成功
// False        : 失败

//      扩展设置设备工作模式
function SetClockModeEx(hPort: THandle; Mode: Integer; ExtraMode: Integer; SystemMode: Integer; RingMode: Integer): Boolean; stdcall; external EASTRIVER_API
// 参数说明:
//     参照读取设备工作模式

//      在机具屏幕上显示字符串
function ShowClockMessage(hPort: THandle; Msg: PChar; bClearScreen: Boolean; Line: Integer; Duration: Double): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// Msg          : 一行消息字符串,最多8个中文字符或是16个英文字符,自动对中
// bClearScreen : 是否先清屏
// Line         : 显示行号,允许值: 1-4
// Duration     : 持续时间,单位秒
//返回值:
// True         : 成功
// False        : 失败

//      读取机具开机显示内容
function ReadFirstWindowDispString(hPort: THandle; msg: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 返回机具开机显示内容,最多8个中文字或是16个英文字,自动对中
//返回值:
// True         : 成功
// False        : 失败

//      设置机具开机显示内容
function SetFirstWindowDispString(hPort: THandle; msg: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 机具开机显示内容,最多8个中文字或是16个英文字,自动对中
//返回值:
// True         : 成功
// False        : 失败

//      设置机具常态显示内容
function SetClockNormalMessage(hPort: THandle; msg: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 机具常态消息,最多8个中文字或是16个英文字,自动对中
//返回值:
// True         : 成功
// False        : 失败

//      读取机具常态显示内容
function ReadClockNormalMessage(hPort: THandle; msg: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 返回机具常态消息,长度至少要大于20个字符
//返回值:
// True         : 成功
// False        : 失败

//      设置刷卡成功显示内容
function SetClockWelcomeMessage(hPort: THandle; msg: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 刷卡欢迎消息,最多8个中文字或是16个英文字,自动对中
//返回值:
// True         : 成功
// False        : 失败

//      读取刷卡成功显示内容
function ReadClockWelcomeMessage(hPort: THandle; msg: PChar): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 返回刷卡欢迎消息,长度至少要大于20个字符
//返回值:
// True         : 成功
// False        : 失败

//      读取设备时间
function ReadClockTime(hPort: THandle; var CurTime: Double): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// CurTime      : 返回机具当前时间, Delphi的DateTime格式,VB的Date格式
//返回值:
// True         : 成功
// False        : 失败

//      修改机具时间
function SetClockTime(hPort: THandle; SetTime: Double): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// SetTime      : 新的时间, Delphi的DateTime格式,VB的Date格式
//返回值:
// True         : 成功
// False        : 失败

//      读取机具时间, 以字符串格式返回
function ReadClockTimeString(hPort: THandle; TimeString: PChar): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// TimeString   : 返回机具当前时间,格式:yyMMddhhnnss(yy年MM月dd日hh时nn分ss秒)
//返回值:
// True         : 成功
// False        : 失败

//      以字符串形式修改机具时间
function SetClockTimeString(hPort: THandle; TimeString: PChar): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// TimeString   : 返回机具当前时间,格式:yyyyMMddhhnnss(^2G+w)(yyyy年MM月dd日hh时nn分ss秒)
//                ER-880以上需要增加一个星期值, w为星期值, 星期天为0, 星期一为1, 星期六为6
//返回值:
// True         : 成功
// False        : 失败

//      设置端口上的所有机具的时间(不联机广播式)
function SetPortAllClockTime(hPort: THandle; SetTime: Double): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 不联机
// SetTime      : 新的时间, Delphi的DateTime格式,VB的Date格式
//返回值:
// True         : 成功
// False        : 失败

//      设置通告消息(3G)
function SetNotification(hPort: THandle; msg: PChar; nDay: Integer; WordWrap: Boolean=True): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// msg          : 消息文本, 可以带回车换行符, 最多允许255*16个英文字符
// nDay         : 表示本通知消息的保留时间, 单位(天)
// WordWrap     : 当每行超出屏幕宽度时是否自动换行,否则将截断显示
//返回值:
// True         : 成功
// False        : 失败

//      机具复位(2G,3G)
function ResetClock(hPort: THandle; Model, Reserved: Integer): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// Model        : 机具型号, 0 为自动
// Reserved     : 保留,设为零
//返回值:
// True         : 成功
// False        : 失败
//说明:
//  需要联机和进入设备维护模式
{设备管理普通类}




















{考勤机控制类}
//		  读设备已经存储的考勤记录数
function ReadClockRecordTotal(hPort: THandle; var data: Integer): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// data         : 返回考勤记录数量
//返回值:
// True         : 成功
// False        : 失败

//		  读设备可以存储的最大考勤记录数
function ReadMaxClockRecordTotal(hPort: THandle; var data: Integer): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// data         : 返回设备可以存储的最大考勤记录数
//返回值:
// True         : 成功
// False        : 失败

//		  修改任意卡打卡的时间间隔
function SetCardTimeInterval(hPort: THandle; timeInterval: Double): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// timeInterval : 新的打卡时间间隔, 范围: 0.0 -- 2.25 秒
//返回值:
// True         : 成功
// False        : 失败

//		  读任意卡打卡的时间间隔
function ReadCardTimeInterval(hPort: THandle; var timeInterval: Double): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// timeInterval : 返回打卡时间间隔, 单位秒
//返回值:
// True         : 成功
// False        : 失败

//		  设置全天考勤(任意时间可以刷卡)
function SetWholeTimeClock(hPort: THandle): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
//返回值:
// True         : 成功
// False        : 失败

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

//      读取允许考勤刷卡时间段  (最多返回4个时间段)
function ReadClockerTime(hPort: THandle; var Clocks: array of TClockerTime{; ArraySize: Integer}): Integer; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// Clocks       : 返回时间段数组, 最少需要4个单元
// ArraySize    : Delphi不需要,如果是VB或是C++需要传数组大小参数
//返回值:
// 0            : 读取失败
// 1-4          : 刷卡时间段个数

//		  设置考勤时间段  (最多可以设置4个考勤时间段)
function SetClockerTime(hPort: THandle; StartTime, EndTime: PChar): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// startTime    : 开始时间, 格式:hhmm, 范围:0000-2400
// EndTime      : 结束时间, 同上
//返回值:
// True         : 成功
// False        : 失败

//		  设置同一张卡重复刷卡时间间隔
function SetRepeatClockerTime(hPort: THandle; timeLen: Integer): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// timeLen      : 时间间隔, 设置为 1-99 分钟
//返回值:
// True         : 成功
// False        : 失败

//		  读同一张卡重复刷卡时间间隔
function ReadRepeatClockerTime(hPort: THandle; var timeLen: Integer): Boolean;stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
// timeLen      : 时间间隔, 设置为 1-99 分钟
//返回值:
// True         : 成功
// False        : 失败

//		  清除设备的所有打铃时间
function ClearRing(hPort: THandle): Boolean; stdcall; external EASTRIVER_API
//参数说明:
// hPort        : 端口句柄, 需要联机
//返回值:
// True         : 成功
// False        : 失败

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

//      读取设备打铃时间 (最多返回32个打铃)
function ReadRing(hPort: THandle; var RingTimes: array of TRingTime{, ArraySize: Integer}): Integer;stdcall; external EASTRIVER_API

⌨️ 快捷键说明

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