亚洲欧美第一页_禁久久精品乱码_粉嫩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; //節假日開門時段與權限
  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:發卡機 5:其它)
    Mode, SystemMode, ExtraMode,  //運行參數
    SaveMode,
    Block,                        //使用IC卡塊號
    DispCardLen, CardLen,         //顯示卡號長度, 存儲卡號長度
    GroupStation: Integer;        //分組字節位置
    GroupCheck,                   //是否打卡分組
    Connected,                    //是否已聯機
    CmdVerify, RWOnly: Boolean;   //是否專用發卡器
    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 考勤門禁機,包含很多版本,不完全兼容,正式發行版由1.25-1.30(fireware)
  ER-900 C   通用發卡機

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




//      取得最后發生的錯誤代號
function GetRecentErrCode(): DWORD; stdcall; external EASTRIVER_API
//      取得端口最后發生的錯誤代號
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; //不支持的命令


{設備聯接類}

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

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

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

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

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

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

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

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

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

//      檢查指定機號在線上是否響應, 在限定的時間內返回
function TestCallClock(hPort: THandle; clock_id: Integer; TimeOut: Integer=0): Boolean; stdcall; external EASTRIVER_API
//參數說明:
// hPort        : 端口句柄,通過調用OpenCommPort函數得到
// clock_id     : 機號,允許值: 0-255, 由于機具上顯示的機號實際上是兩位16進制數
//                所以機號范圍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
//參數說明:
// hPort        : 端口句柄, 需要聯機
//返回值:
// True         : 自動識別成功
// False        : 機型無法識別,請調用強制設置機型函數
//備注:
// 由于不同的型號,不同讀頭的機具接受的卡號格式不完全相同,所以DLL需要知道正在聯機
// 機型來轉換不同的卡號格式,否則所有和卡號有關的函數將會起不到預期的效果

//      取得機具型號(DLL內部需要識別機型)
function GetClockModel(hPort: THandle;var Model: Integer;var Ver: Double;var cls: Integer): Boolean; stdcall; external EASTRIVER_API
//參數說明:
// 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內部正在聯機的機具型號(當自動識別無效時)
function SetClockModel(hPort: THandle; Model: Integer; Ver: Double; cls: Integer): Boolean; stdcall; external EASTRIVER_API
//參數說明:
// 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
//參數說明:
// BaudRate     : 新的機具波特率, 允許值: 9600, 19200, 38400
//返回值:
// True         : 修改成功
// False        : 修改失敗
//備注: 調用前必須使用正確的波特率聯機, 修改成功后如果需要和機具通訊必須
//      調用 InitCommPort 函數將端口波特率修改成和新的機具波特率一致

{設備聯接類}



{版本控制類}

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

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
9久草视频在线视频精品| 欧美日韩免费观看一区二区三区| 北岛玲一区二区三区四区| 欧美日韩一区二区在线视频| 欧美tickling挠脚心丨vk| 国产精品灌醉下药二区| 日韩成人一区二区| 色婷婷av久久久久久久| 久久精品欧美日韩| 美女一区二区视频| 欧美日韩国产中文| 亚洲欧洲制服丝袜| 懂色av一区二区夜夜嗨| 欧美成人性战久久| 五月天欧美精品| 欧美体内she精高潮| 亚洲图片激情小说| av午夜一区麻豆| 久久久国产精品不卡| 日本伊人色综合网| 欧美电影一区二区| 亚洲成人动漫精品| 欧美日韩一级视频| 亚洲无线码一区二区三区| 色婷婷综合视频在线观看| 亚洲国产精品高清| 高清av一区二区| 久久久国产一区二区三区四区小说| 日本不卡一二三| 5月丁香婷婷综合| 天堂影院一区二区| 欧美精品电影在线播放| 亚洲成人一区二区在线观看| 欧美午夜不卡视频| 丝袜亚洲精品中文字幕一区| 欧美日韩一二三区| 日韩电影在线观看电影| 欧美一区二区在线免费播放 | 欧日韩精品视频| 亚洲欧美成人一区二区三区| 91在线观看视频| 亚洲高清久久久| 欧美一区二区三区播放老司机| 日韩激情中文字幕| 久久网站最新地址| 成人激情免费视频| 一区二区三区成人在线视频| 欧美偷拍一区二区| 激情图片小说一区| 国产欧美精品在线观看| 成人av中文字幕| 亚洲一区二区三区中文字幕| 欧美日高清视频| 韩国毛片一区二区三区| 国产精品久久久久久久久晋中| 色系网站成人免费| 免费成人av在线播放| 国产三级一区二区三区| 91在线码无精品| 天堂久久一区二区三区| 国产色产综合色产在线视频| 一本到不卡免费一区二区| 视频一区二区中文字幕| 国产欧美一区二区三区网站| 色综合天天综合| 久久av资源站| 亚洲黄色免费网站| 久久影院午夜论| 在线观看网站黄不卡| 精品一区二区三区在线观看国产| 国产精品乱人伦| 色吧成人激情小说| 26uuu国产日韩综合| 国产精品久久久久四虎| 国产精品一区二区视频| 欧美在线不卡一区| 日本在线播放一区二区三区| 国产精品欧美一区喷水| 欧美一区二区三区色| 成人av网站免费观看| 免费久久精品视频| 一区二区三区中文字幕| 国产日韩欧美综合在线| 欧美另类久久久品| 色欧美日韩亚洲| 国产成a人无v码亚洲福利| 日韩av中文字幕一区二区| 亚洲视频在线一区二区| 久久丝袜美腿综合| 91.麻豆视频| 色香蕉久久蜜桃| 成人在线综合网站| 韩国av一区二区| 国产精品久久久久久久蜜臀| 中文字幕一区二区三区蜜月| 91啪九色porn原创视频在线观看| 日本视频在线一区| 一区二区三区波多野结衣在线观看| wwwwww.欧美系列| 欧美一区二区高清| 欧美怡红院视频| 欧美精品在线观看一区二区| 色综合色综合色综合| 成人污视频在线观看| 国产九色精品成人porny| 久久成人综合网| 日韩不卡一区二区| 日日夜夜精品视频免费| 五月天丁香久久| 亚洲gay无套男同| 亚洲高清不卡在线| 亚洲国产视频在线| 午夜精品在线视频一区| 亚洲成av人在线观看| 亚洲国产精品影院| 午夜视黄欧洲亚洲| 偷拍日韩校园综合在线| 视频精品一区二区| 久久精品国产精品亚洲综合| 美女网站一区二区| 国产在线精品不卡| 国产精品一区一区三区| 成人在线视频一区二区| 成人ar影院免费观看视频| 北条麻妃一区二区三区| 日本高清免费不卡视频| 欧美三级日韩在线| 欧美一区二区三区免费| 精品国产一区二区三区四区四| 久久久一区二区三区| 国产精品久久久久久久久免费相片| 国产精品久久网站| 亚洲精品v日韩精品| 亚洲第一久久影院| 乱一区二区av| 国产a区久久久| 日本高清无吗v一区| 777色狠狠一区二区三区| 久久综合九色综合欧美亚洲| 欧美激情一区不卡| 亚洲永久精品国产| 精品无码三级在线观看视频| 成人免费av网站| 欧美视频在线观看一区| 精品久久人人做人人爱| 国产精品二三区| 日本视频中文字幕一区二区三区| 国产一区二区不卡在线| 欧洲色大大久久| 26uuu亚洲综合色| 精品一区二区三区在线观看国产| 成人午夜视频网站| 欧美精品高清视频| 亚洲欧美综合色| 蜜臀av一区二区| 91蜜桃在线观看| 精品国产乱子伦一区| 一区二区三区四区五区视频在线观看| 蜜桃av噜噜一区| 在线免费不卡视频| 国产清纯在线一区二区www| 亚洲第一久久影院| 成人国产精品免费观看| 日韩一区二区三区视频在线观看| 国产精品国产三级国产三级人妇| 日本免费新一区视频| 色婷婷综合久久久中文一区二区 | 亚洲综合网站在线观看| 久久国产精品一区二区| 欧美影院午夜播放| 国产精品萝li| 国产一区二区伦理片| 欧美一级日韩免费不卡| 一区二区三区视频在线观看 | 日本麻豆一区二区三区视频| 91在线观看污| 国产区在线观看成人精品| 蜜臀av亚洲一区中文字幕| 欧美亚洲动漫另类| 亚洲天堂2014| 成人午夜免费视频| 久久久久综合网| 久久精品国产秦先生| 7799精品视频| 亚洲第一在线综合网站| 91福利小视频| 亚洲色图.com| 99久久精品费精品国产一区二区| 国产三级精品视频| 国产馆精品极品| www国产成人| 国产在线视视频有精品| 日韩女优av电影| 久久99久久99精品免视看婷婷 | 日韩免费观看高清完整版在线观看| 亚洲最大的成人av| 欧美中文字幕一二三区视频| 亚洲免费观看在线视频| 色偷偷久久一区二区三区| 亚洲青青青在线视频|