亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? eastriver.pas

?? 一個Delphi寫的跟考勤機門禁機收款機的接品軟件源碼
?? PAS
?? 第 1 頁 / 共 5 頁
字號:
{       EastRiver Smart Function Library               }
{                                                      }
{            Author: shuguang LING                     }
{                                                      }
{               March.23.2004                          }

unit EastRiver;

{$WEAKPACKAGEUNIT}

interface
uses
  Windows, SysUtils;

const
  EastRiver_API     = 'EastRiver.dll';
//設備版本號(Fireware), 比較時最好用這些常量, 否則類型不匹配將出將比較錯誤
  FW119: Double     = 1.19;
  FW120: Double     = 1.20;
  FW125: Double     = 1.25;
  FW128: Double     = 1.28;
  FW129: Double     = 1.29;
  FW130: Double     = 1.30;

//新門禁機常量
  INOUT_RIGHT       =$00; //出入權限設置
  CIPHER_ENABLE     =$01; //密碼檢測時段
  ALERT_ENABLE      =$02; //報警生效時段
  BUTTON_ENABLE     =$03; //按鍵生效時段
  OPEN_DOOR         =$04; //電鎖常開時段
  MAGNETISM_ENABLE  =$05; //門磁檢測時段
  HOLIDAY_OPENRIGHT =$06; //節(jié)假日開門時段與權限
  SUPERUSERPWD_ENABLE=$07; //超級用戶密碼時段

// IC卡讀寫卡號格式常量
  CARDSTYLE_UNKNOWN= 0000; //未知卡號格式(可能為空)
  CARDSTYLE_IDCARD = 0001; //ID卡格式
  CARDSTYLE_UTFCARD= 0002; //自定義卡格式
  CARDSTYLE_OLDCARD= 0830; //舊ER-680C消費卡格式
  CARDSTYLE_NEWCARD= 0880; //新ER-880C卡格式
  CARDSTYLE_690CARD= 0690; //新消費機ER-690卡格式

//  通訊卡號格式轉換方法
  CS_AUTO          = $00;  //對880機具調用默認處理,880D=ID_NOCONVERT,880C=IC_CONVERT,新型門禁機=IC_CONVERT
                           //如果卡號為16位標準卡則ID,IC都不變換
  CS_GENERAL       = $01;  //不轉換卡格式(明文)
  CS_NEWCARD       = $02;  //IC卡號,需要變換成IC標準卡號
  CS_OLDCARD       = $03;  //轉換成舊ER-830C IC卡類型
  CS_IDCARD        = $04;  //ID卡號,變換成16位標準卡號即最高兩個位時'EF'


type
  PClockInfo=^TClockInfo;
  TClockInfo=record
    hPort: THandle;
    clock_id: Byte;
    port, baudrate: DWORD;        //通訊端口和速率
    Fireware: Double;             //模具版本
    clock_type,                   //運行模式
    VerOrd,                       //版本系列
    model,                        //機具型號
    cls,                          //讀頭類型(0: ID卡, 1:IC卡, 2: 混合)
    run_mode,                     //工作模式(0:考勤機, 1:考勤門禁 2:門禁機 3:消費機 4:發(fā)卡機 5:其它)
    Mode, SystemMode, ExtraMode,  //運行參數(shù)
    SaveMode,
    Block,                        //使用IC卡塊號
    DispCardLen, CardLen,         //顯示卡號長度, 存儲卡號長度
    GroupStation: Integer;        //分組字節(jié)位置
    GroupCheck,                   //是否打卡分組
    Connected,                    //是否已聯(lián)機
    CmdVerify, RWOnly: Boolean;   //是否專用發(fā)卡器
    mark: Char;                   //刷卡標識
  end;


{***************依時利產品概況*******************
第一代(簡稱1G)
  ER-210 C/D 考勤消費機
  ER-610 C/D 考勤機
  ER-680 C/D 消費機
  ER-7x0 C/D 考勤門禁機
  ER-810 C/D 考勤機
  ER-830 C/D 考勤門禁機

第二代(簡稱2G)
  ER-880 C/D 考勤門禁機,包含很多版本,不完全兼容,正式發(fā)行版由1.25-1.30(fireware)
  ER-900 C   通用發(fā)卡機

第三代(簡稱3G)
  ER-980  四門門禁機,讀頭可以是IC也可以是ID,混合使用
  ER-981C 單門門禁機
  ER-690C 消費機,兼容ER-980的大部分功能,只有部分和記錄有關的指令不兼容,
          另外還擴展了部分消費專用指令
  ER-690D 實時ID卡消費機
  
}




//      取得最后發(fā)生的錯誤代號
function GetRecentErrCode(): DWORD; stdcall; external EASTRIVER_API
//      取得端口最后發(fā)生的錯誤代號
function GetPortRecentErrCode(Port: Byte): DWORD; stdcall; external EASTRIVER_API
//返回值:
const
  ERROR_IO_CHECK    = $00000001; //校驗錯誤
  ERROR_IO_READ     = $00000002; //讀錯誤
  ERROR_IO_WRITE    = $00000003; //寫錯誤
  ERROR_IO_NOEND    = $00000004; //串口接收未結束而中斷
  ERROR_IO_NOPEN    = $00000005; //不能打開端口
  ERROR_IO_COMMAND  = $00000006; //命令錯誤
  ERROR_IO_NOHANDLE = $00000007; //無句柄錯誤
  ERROR_IO_TIMEOUT  = $00000008; //通訊超時
  ERROR_IC_PASSWORD = $00000009; //IC卡密碼錯
  ERROR_NO_SUPPORT  = $00000010; //不支持的命令


{設備聯(lián)接類}

//      打開串行端口
function OpenCommPort(Port: Integer; BaudRate: Integer): THandle; stdcall; external EASTRIVER_API
//參數(shù)說明:
// Port         : 端口號,允許值1-256, 如: COM1=1, COM2=2...COM256=256
// BaudRate     : 端口波特率,允許值: 9600, 19200, 38400, 通常是9600
//返回值:
// -1           : 端口無效或正在使用
// 0            : 無法打開端口
// 其它值       : 端口句柄,用于其它函數(shù)調用
//備注:
// 請使用Windows API CloseHandle(hObject: HANDLE): BOOL; 來關閉端口句柄

//      關閉已經打開的端口號
function CloseCommPort(Port: Integer): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// Port         : 端口號,允許值1-256, 如: COM1=1, COM2=2...COM256=256
//返回值:
// True=成功, False=失敗

//      關閉端口句柄
function ClosePortHandle(hPort: THandle): Boolean;stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 已經打開的端口句柄
//返回值:
// True=成功, False=失敗

//      初始化端口設置, 在打開端口和聯(lián)機時自動調用, 除非需要修改端口參數(shù)
//      一般不需要自己調用
function InitCommPort(hPort: THandle; BaudRate: DWORD; Parity: Byte): Boolean;stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄
// BaudRate     : 新的端口波特率,允許值: 9600, 19200, 38400, 置為0時將保留原波特率
// Parity       : 新的端口校驗方式,允許值如下:
//    NOPARITY    = 0;   //無校驗
//    ODDPARITY   = 1;   //奇校驗
//    EVENPARITY  = 2;   //偶校驗
//    MARKPARITY  = 3;   //標記校驗(聯(lián)機之前)
//    SPACEPARITY = 4;   //空校驗  (聯(lián)機之后)
//    255         =$FF;  //不更改校驗設置  
//返回值:
// True=成功, False=失敗

//      打開端口及聯(lián)接設備(包含 OpenCommPort )
function ConnectClock(Port, BaudRate: Integer; clock_id: Integer): THandle;stdcall; external EASTRIVER_API
//參數(shù)說明:
// Port         : 端口號,允許值: 1-256, 如: COM1=1, COM2=2...COM256=256
// BaudRate     : 端口波特率,允許值: 9600, 19200, 38400, 通常是9600
// clock_id     : 機號,允許值: 0-255, 由于機具上顯示的機號實際上是兩位16進制數(shù)
//                所以機號范圍16進制表示應該為: 0x00-0xFF
//返回值:
// -1           : 端口無效或正在使用
// 0            : 無法聯(lián)機, 可能是端口,波特率,機號或是線路故障
// 其它值       : 聯(lián)機成功,返回端口句柄,用于其它函數(shù)調用

//      斷開聯(lián)接及關閉端口句柄
function DisConnectClock(hPort: THandle): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄,通過調用ConnectClock函數(shù)得到
//返回值:
// True         : 脫機成功
// False        : 脫機失敗

//      檢查指定的機器是否在聯(lián)機狀態(tài)
function CheckConnectClock(hPort: THandle; clock_id: Integer): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄,通過調用OpenCommPort函數(shù)得到
//返回值:
// True         : 聯(lián)機狀態(tài)
// False        : 脫機狀態(tài)

//      顯式聯(lián)機命令
function CallClock(hPort: THandle; clock_id: Integer): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄,通過調用OpenCommPort函數(shù)得到
// clock_id     : 機號,允許值: 0-255, 由于機具上顯示的機號實際上是兩位16進制數(shù)
//                所以機號范圍16進制表示應該為: 0x00-0xFF
//返回值:
// True         : 聯(lián)機成功
// False        : 聯(lián)機失敗
//備注:
// "1G"機型不能重復聯(lián)機
// 所有和機具通訊且沒有帶機號的函數(shù)都必須在聯(lián)機后才能調用
// 用戶一般不需要直接調用此函數(shù), 建議使用 ConnectClock 函數(shù)

//      脫機命令
function UnCallClock(hPort: THandle): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄,通過調用OpenCommPort函數(shù)得到
//返回值:
// True         : 脫機成功
// False        : 脫機失敗
//備注:
// 脫機后,所有和機具通訊沒有帶機號的函數(shù)均不起作用

//      檢查指定機號在線上是否響應, 在限定的時間內返回
function TestCallClock(hPort: THandle; clock_id: Integer; TimeOut: Integer=0): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄,通過調用OpenCommPort函數(shù)得到
// clock_id     : 機號,允許值: 0-255, 由于機具上顯示的機號實際上是兩位16進制數(shù)
//                所以機號范圍16進制表示應該為: 0x00-0xFF
// TimeOut      : 響應超時,用于調整搜索速度,推薦值(單位毫秒ms):
//    RS-232線路  = 100-120;
//    RS-485線路  = 120-200;
//    TCP/IP線路  = 500-800;
//    最大        > 1000;
//返回值:
// True         : 機具存在
// False        : 機具不存在

//      自動識別機具型號(DLL內部需要識別機型)
function ClockAutoModel(hPort: THandle): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄, 需要聯(lián)機
//返回值:
// True         : 自動識別成功
// False        : 機型無法識別,請調用強制設置機型函數(shù)
//備注:
// 由于不同的型號,不同讀頭的機具接受的卡號格式不完全相同,所以DLL需要知道正在聯(lián)機
// 機型來轉換不同的卡號格式,否則所有和卡號有關的函數(shù)將會起不到預期的效果

//      取得機具型號(DLL內部需要識別機型)
function GetClockModel(hPort: THandle;var Model: Integer;var Ver: Double;var cls: Integer): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄
// Model        : 返回機具型號, 如:
//    ER-880C     = 880;
//    ER-980      = 980;
// ...
// Ver          : 返回機具版本號, 必須大于0, 如: 1.28, 1.30等等
// cls          : 返回機具類型(讀頭)
//    ER-880C     = 1;  //IC讀頭
//    ER-980      = 1;  //IC,ID讀頭混合
//    ER-880D     = 0;  //ID讀頭
//返回值:
// True=成功, False=錯誤

//      設置標識DLL內部正在聯(lián)機的機具型號(當自動識別無效時)
function SetClockModel(hPort: THandle; Model: Integer; Ver: Double; cls: Integer): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄
// Model        : 機具型號, 如:
//    ER-880C     = 880;
//    ER-980      = 980;
// ...
// Ver          : 機具版本號, 必須大于0, 如: 1.28, 1.30等等
// cls          : 機具類型(讀頭)
//    ER-880C     = 1;  //IC讀頭
//    ER-980      = 1;  //IC,ID讀頭混合
//    ER-880D     = 0;  //ID讀頭
//返回值:
// True=成功, False=錯誤

//      修改機具通信速率(^2G)
function SetClockBaudRate(hPort: THandle; BaudRate: DWORD): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// BaudRate     : 新的機具波特率, 允許值: 9600, 19200, 38400
//返回值:
// True         : 修改成功
// False        : 修改失敗
//備注: 調用前必須使用正確的波特率聯(lián)機, 修改成功后如果需要和機具通訊必須
//      調用 InitCommPort 函數(shù)將端口波特率修改成和新的機具波特率一致

{設備聯(lián)接類}



{版本控制類}

//      查詢在線的機具是否支持某項功能
function GetClockSupports(hPort: THandle; Index: Integer): Boolean; stdcall; external EASTRIVER_API
//參數(shù)說明:
// hPort        : 端口句柄, 需要聯(lián)機
// Index        : 功能編號, 可能的值如下表
const
  fiStoreRecord     = $00000000; //存儲刷卡記錄

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品一区二区三区免费视频| 一区二区三区在线视频观看58| 欧美视频在线观看一区| 成人av网在线| 99精品视频在线免费观看| 福利视频网站一区二区三区| 高清免费成人av| 粉嫩久久99精品久久久久久夜| 国产成人小视频| 国产成人av一区二区| 国产美女精品人人做人人爽| 91免费在线看| 99免费精品在线| 色av综合在线| 欧美久久久一区| 欧美一区二区视频在线观看2020 | 日韩精品一区二区三区在线| 日韩一级黄色片| 久久久99精品免费观看不卡| 欧美高清在线一区二区| 亚洲视频小说图片| 调教+趴+乳夹+国产+精品| 久久精品国产久精国产爱| 国产精品一区二区久激情瑜伽| 成人美女视频在线观看18| 日本久久精品电影| 欧美一个色资源| 国产精品免费免费| 亚洲一本大道在线| 国产在线视频一区二区| 北条麻妃一区二区三区| 欧美日韩国产成人在线91| 久久久久久久久岛国免费| 亚洲精品美国一| 久久国产三级精品| 99久久久无码国产精品| 日韩一区二区三区电影在线观看| 国产精品视频一二三区| 亚洲va欧美va国产va天堂影院| 国产综合一区二区| 欧美日精品一区视频| 久久久久9999亚洲精品| 国产在线国偷精品产拍免费yy| 丰满岳乱妇一区二区三区 | 亚洲国产婷婷综合在线精品| 国内精品久久久久影院一蜜桃| 91免费版在线看| 精品盗摄一区二区三区| 亚洲午夜电影在线| 成人国产精品免费观看视频| 91精品国产欧美一区二区成人| 中文字幕高清不卡| 狠狠色2019综合网| 欧美日韩国产美| 亚洲精品视频免费观看| 国产99久久久久| 精品免费国产一区二区三区四区| 亚洲精品v日韩精品| 成人一区二区三区| 久久婷婷国产综合国色天香| 亚洲午夜免费福利视频| 99精品视频一区| 久久精子c满五个校花| 免费精品视频最新在线| 欧美日韩情趣电影| 亚洲精品国产高清久久伦理二区 | 久久久亚洲午夜电影| 日韩高清不卡一区| 欧美性猛交xxxx乱大交退制版| 国产精品全国免费观看高清 | 国产69精品久久99不卡| 精品国产a毛片| 久久99国内精品| 欧美成人video| 激情综合色综合久久| 日韩欧美在线影院| 久久精品国产网站| 日韩美女视频一区二区在线观看| 日韩av成人高清| 欧美色区777第一页| 亚洲高清三级视频| 欧美日韩国产成人在线免费| 三级一区在线视频先锋| 91精品国产综合久久久久久久| 丝袜亚洲另类欧美| 精品日韩在线观看| 国产综合色视频| 日本一区二区三区dvd视频在线| 国产69精品久久777的优势| 国产精品美日韩| 91精品1区2区| 午夜久久久影院| 日韩精品一区二区三区中文精品| 国内外精品视频| 日本一区二区三区四区| 色欧美乱欧美15图片| 亚洲午夜精品久久久久久久久| 6080yy午夜一二三区久久| 精品在线视频一区| 国产精品你懂的在线| 欧美三级中文字幕| 九九视频精品免费| 亚洲三级在线看| 欧美一区二区三区婷婷月色| 国产精品一二三四区| 日韩伦理av电影| 911国产精品| 成人黄色网址在线观看| 亚洲成精国产精品女| 国产亚洲精品超碰| 精品视频一区二区三区免费| 国产麻豆视频一区| 亚洲国产一区二区三区 | 久久久99精品久久| 欧美午夜电影在线播放| 国产呦萝稀缺另类资源| 亚洲免费观看在线视频| 精品免费日韩av| 在线免费观看日本一区| 国模套图日韩精品一区二区| 亚洲图片有声小说| 中文一区二区在线观看 | 国产一区二区0| 亚洲大片在线观看| 国产精品久久久久一区二区三区共| 在线播放国产精品二区一二区四区 | 亚洲美女视频在线观看| 欧美成人猛片aaaaaaa| 91搞黄在线观看| 成人激情开心网| 激情av综合网| 日日骚欧美日韩| 一区二区三区在线视频观看58| 国产精品女人毛片| 久久久久久久久久看片| 日韩欧美国产麻豆| 欧美高清视频www夜色资源网| 在线一区二区三区四区| 成人精品视频.| 国产精品系列在线播放| 免费观看30秒视频久久| 亚洲一级片在线观看| 亚洲色图色小说| 中文字幕字幕中文在线中不卡视频| 久久亚洲精品国产精品紫薇| 欧美一区二区三区的| 在线观看欧美黄色| 在线一区二区三区| 欧美在线一二三四区| 一本一道综合狠狠老| www.色综合.com| av一本久道久久综合久久鬼色| 成人精品视频一区二区三区 | 亚洲永久精品国产| 亚洲三级久久久| 亚洲精选视频在线| 亚洲另类春色校园小说| 亚洲综合久久久| 亚洲高清不卡在线观看| 亚洲成人第一页| 日韩精品视频网站| 男女激情视频一区| 国内一区二区视频| 国产91精品一区二区麻豆网站| 国产suv精品一区二区6| 成人h版在线观看| 91麻豆免费观看| 欧美在线综合视频| 欧美日韩久久久| 日韩视频在线你懂得| 久久久久久麻豆| 亚洲欧美色图小说| 亚洲成人午夜电影| 精品中文av资源站在线观看| 国产成人在线影院 | 欧美日韩成人在线| 日韩欧美国产三级| 国产精品人成在线观看免费| 亚洲欧美偷拍三级| 蜜臀av性久久久久蜜臀aⅴ四虎| 老司机免费视频一区二区| 粉嫩欧美一区二区三区高清影视| 色婷婷国产精品| 日韩精品一区在线观看| 中文字幕一区二区三区在线不卡| 亚洲午夜久久久久久久久电影网| 青娱乐精品在线视频| a美女胸又www黄视频久久| 欧美日韩久久不卡| 国产拍欧美日韩视频二区| 亚洲一区二区av在线| 国产揄拍国内精品对白| 91免费版在线| 久久婷婷国产综合精品青草| 一区二区三区成人| 精品在线一区二区三区| 欧美日韩一区二区三区免费看| 久久久久久久网| 热久久久久久久| 色婷婷精品久久二区二区蜜臂av|