📄 icctrl.pas
字号:
{**********************************************************}
{ }
{ ComPort Interface Unit Version 2.0 }
{ }
{ Copyright (c) 1999-2005, PACIFIC Gold Technology }
{ }
{ Writer: Ling Shu Guang }
{ }
{**********************************************************}
unit ICCTRL;
interface
uses
Windows, SysUtils;
const
OPEN_SUCCED = $00000000;
OPEN_PORT_FAILE = $00000001;
CREATE_LINK_TIMEOUT = $00000002;
LINK_FAILE = $00000003;
COMM_PORT_INVALID = $00000004;
IC_CARD = $00000005;
ID_CARD = $00000006;
DLLNAME = 'ICCTRL.Dll';
type
TPort = Byte;
PReadData = ^TReadData;
TReadData = record //Read One Record return's struct
Card : array [1..11]of char;
DateTime : TDateTime;
IOType : Char;
Times : DWORD;
Balance : DWORD;
Consume : DWORD;
end;
PClockData = ^TClockData;
TClockData = record //Read One Record return's struct
Card : array [1..10]of char;
DateTime : array [1..12]of char;
Flag: Char;
end;
PCardInfo = ^TCardInfo;
TCardInfo = record
CardNo : DWORD;
Times : DWORD;
Money : DWORD;
Name : array[1..16]of char;
end;
PRegCardInfo = ^TRegCardInfo;
TRegCardInfo = record
CardNo : array[1..10]of char;
Name : array[1..6]of char;
FontData: array[1..96]of char;
end;
PRingData = ^TRingData;
TRingData = record
Num : Byte; //0-9
Hour : Word; //0-23
Min : Word; //0-59
Delay : Word; //1-999
end;
PSetDateTime = ^TSetDateTime;
TSetDateTime = record
Year : Word; //4Bits
Month : Word; //1-12
Day : Word; //1-31
Hour : Word; //0-23
Min : Word; //0-59
Sec : Word; //0-59
end;
procedure CloseCommPort(hPort:THandle);stdcall;
function GetSysCommPorts(Ports:PChar):Boolean;stdcall;
function OpenCommPort(Port:TPort; Rate:DWORD):THandle;stdcall;
function LinkCommPort(hPort:THandle; ClockNo:PChar):Integer;stdcall;
function OpenLinkCommPort(Port:TPort; Rate:DWORD; ClockNo:PChar):THandle;stdcall;
function ReadDataStr(hPort:THandle; DataStr:PChar; Cmd:Byte):Boolean;stdcall;
function ReadClockData(hPort:THandle; Data:PClockData; Cmd:Byte):Boolean;stdcall;
function WriteTime(hPort:Thandle;DateTime:PSetDateTime):Boolean;stdcall;
function ReadTime(hPort:Thandle;Dt:PSetDateTime):Boolean;stdcall;
function ClearRecord(hPort:THandle):Boolean;stdcall;
function WriteRingTime(hPort:THandle; Ring:PRingData):Boolean;stdcall;
function WriteCardNo(hPort:THandle; CardNo:PChar):Boolean;stdcall;
function ReadCardInfo(hPort:THandle; CardInfo:PCardInfo):Boolean;stdcall;
function WriteCardInfo(hPort:THandle; CardInfo:PCardInfo):Boolean;stdcall;
function ReadCardInfoStr(hPort:THandle):String;stdcall;
function WriteCardInfoStr(hPort:THandle; CmdStr:String):Boolean;stdcall;
function WriteManagerCard(Port:TPort; Rate:DWORD; CardNo:PChar):Boolean;stdcall;
function ReadManagerCard(hPort:THandle; CardNo:PChar):Boolean;stdcall;
function WriteRegisterCard(hPort:THandle; CardNo:PChar):Boolean;stdcall;
function ClearRegisterCard(hPort:THandle; CardNo:PChar):Boolean;stdcall;
function ClearAllRegisterCard(hPort:THandle):Boolean;stdcall;
function ClearPassWord(Port:TPort; Rate:DWORD; PassWord:PChar):Boolean;stdcall;
function WritePassWord(Port:TPort; Rate:DWORD; PassWord:PChar):Boolean;stdcall;
function WriteEndCmd(hPort:THandle):Boolean;stdcall;
function ReadDevVersion(hPort:THandle;var Ver:PChar):Boolean;stdcall;
function ReadRecordTotal(hPort:THandle;var Total:DWORD):Boolean;stdcall;
function ClearTotal(hPort:THandle):Boolean;stdcall;
function WriteDevNo(hPort: Thandle; DevNo:PChar):Boolean;stdcall;
function WriteLockTime(hPort: THandle; LockTime: DWORD):Boolean;stdcall;
function WriteRegCardInfo(hPort: THandle; Data: PRegCardInfo):Boolean;stdcall;
function ClearRegCardInfo(hPort: THandle):Boolean;stdcall;
function ReadICCardPassWord(hPort: THandle; PassWord: PChar):Boolean;stdcall;
function WriteICCardPassWord(hPort: THandle; PassWord: PChar):Boolean;stdcall;
function StrToHex(S: String; Digits: Integer):String;stdcall;
function HexToStr(S: String; Digits: Integer):String;stdcall;
function QUWEIToGB(S: String):String;stdcall;
function GBToQUWEI(S: String):String;stdcall;
procedure CloseCommPort; external DLLNAME name 'CloseCommPort';
function GetSysCommPorts; external DLLNAME name 'GetSysCommPorts';
function ReadDevVersion; external DLLNAME name 'ReadDevVersion';
function ReadRecordTotal; external DLLNAME name 'ReadRecordTotal';
function ClearAllRegisterCard; external DLLNAME name 'ClearAllRegisterCard';
function ClearRegisterCard; external DLLNAME name 'ClearRegisterCard';
function ClearTotal; external DLLNAME name 'ClearTotal';
function OpenCommPort; external DLLNAME name 'OpenCommPort';
function LinkCommPort; external DLLNAME name 'LinkCommPort';
function OpenLinkCommPort; external DLLNAME name 'OpenLinkCommPort';
function ReadDataStr; external DLLNAME name 'ReadDataStr';
function ReadClockData; external DLLNAME name 'ReadClockData';
function WriteTime; external DLLNAME name 'WriteTime';
function ReadTime; external DLLNAME name 'ReadTime';
function ClearRecord; external DLLNAME name 'ClearRecord';
function WriteRingTime; external DLLNAME name 'WriteRingTime';
function WriteCardInfo; external DLLNAME name 'WriteCardInfo';
function ReadCardInfo; external DLLNAME name 'ReadCardInfo';
function WriteCardInfoStr; external DLLNAME name 'WriteCardInfoStr';
function ReadCardInfoStr; external DLLNAME name 'ReadCardInfoStr';
function WriteCardNo; external DLLNAME name 'WriteCardNo';
function WriteManagerCard; external DLLNAME name 'WriteManagerCard';
function ReadManagerCard; external DLLNAME name 'ReadManagerCard';
function WriteRegisterCard; external DLLNAME name 'WriteRegisterCard';
function ClearPassWord; external DLLNAME name 'ClearPassWord';
function WritePassWord; external DLLNAME name 'WritePassWord';
function WriteDevNo; external DLLNAME name 'WriteDevNo';
function WriteLockTime; external DLLNAME name 'WriteLockTime';
function WriteRegCardInfo; external DLLNAME name 'WriteRegCardInfo';
function ClearRegCardInfo; external DLLNAME name 'ClearRegCardInfo';
function ReadICCardPassWord; external DLLNAME name 'ReadICCardPassWord';
function WriteICCardPassWord; external DLLNAME name 'WriteICCardPassWord';
function WriteEndCmd; external DLLNAME name 'WriteEndCmd';
function StrToHex; external DLLNAME name 'StrToHex';
function HexToStr; external DLLNAME name 'HexToStr';
function QUWEIToGB; external DLLNAME name 'QUWEIToGB';
function GBToQUWEI; external DLLNAME name 'GBToQUWEI';
implementation
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -