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

📄 icctrl.pas

📁 IC卡饭堂售饭管理系统源码,内有相关说明,
💻 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 + -