USB接口ID卡读卡器oem软件/读写卡测试程序及源代码/DELPHI源代码

 

 

详细代码如下:(如有疑问可13826029618进行相关提问、也可荣士电子查询)

 

 

 

unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls, ExtCtrls,declaredll,strutils;

type
  TForm1 = class(TForm)
    Button1: TButton;
    Button4: TButton;
    Button5: TButton;
    Label1: TLabel;
    Label2: TLabel;
    Label3: TLabel;
    Label4: TLabel;
    Button2: TButton;
    Edit1: TEdit;
    Label5: TLabel;
    Edit2: TEdit;
    procedure Button1Click(Sender: TObject);
    procedure Button5Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  port,baud:integer;

 

implementation

{$R *.dfm}

procedure TForm1.Button1Click(Sender: TObject);
//轻松读卡
{
技术支持:
网站:
}
var

    status:byte;//存放返回值
    mypiccserial:array[0..4] of byte;//卡序列号
    cardnumber:Longword;//Longword为无符号32bit的整型
   
begin

    status := idr_read(@mypiccserial);
        //在下面设定断点,然后查看mypiccserial、mypiccdata,
        //调用完 piccreadex函数可读出卡序列号到 mypiccserial,读出卡数据到mypiccdata,
        //开发人员根据自己的需要处理mypiccserial、mypiccdata 中的数据了。
        //处理返回函数


        case status of
          0:
          begin
            //卡号转换
            //1、ID卡的10位十进制号码
            cardnumber:= mypiccserial[1]*256*256*256+mypiccserial[2]*256*256+mypiccserial[3]*256+mypiccserial[4];

            Edit1.Text := RightStr('0000000000'+IntToStr(cardnumber),10);

            Edit2.Text := RightStr('000'+IntToStr(mypiccserial[2]),3) + ',' + RightStr('00000'+IntToStr(mypiccserial[3] * 256+ mypiccserial[4]),5);


            ShowMessage('操作成功');

          end;
          8: ShowMessage('请将卡放在感应区');
          23: ShowMessage('机器没连上,或驱动程序未安装!');
        else ;
        end;

end;

procedure TForm1.Button5Click(Sender: TObject);
var
        devno:array[0..3] of byte;//设备编号
begin

        if pcdgetdevicenumber(@devno) = 0 then
        begin
          ShowMessage(IntToHex(devno[0],2) + '-' + IntToHex(devno[1],2) + '-' + IntToHex(devno[2],2) + '-' + IntToHex(devno[3],2));
        end;
end;

procedure TForm1.Button4Click(Sender: TObject);//让设备发出声音
{
技术支持:
网站:
}
begin
  idr_beep(50);
end;

procedure TForm1.Button2Click(Sender: TObject);
//轻松读卡
{
技术支持:
网站:
}
var
    status:byte;//存放返回值
    mypiccserial:array[0..4] of byte;//卡序列号
    cardnumber:Longword;//Longword为无符号32bit的整型
begin
    status := idr_read_once(@mypiccserial);
        //在下面设定断点,然后查看mypiccserial、mypiccdata,
        //调用完 piccreadex函数可读出卡序列号到 mypiccserial,读出卡数据到mypiccdata,
        //开发人员根据自己的需要处理mypiccserial、mypiccdata 中的数据了。
        //处理返回函数

        case status of
          0:
          begin
            cardnumber:= mypiccserial[1]*256*256*256+mypiccserial[2]*256*256+mypiccserial[3]*256+mypiccserial[4];

            Edit1.Text := RightStr('0000000000'+IntToStr(cardnumber),10);

            Edit2.Text := RightStr('000'+IntToStr(mypiccserial[2]),3) + ',' + RightStr('00000'+IntToStr(mypiccserial[3] * 256+ mypiccserial[4]),5);

            ShowMessage('操作成功');
          end;
          8: ShowMessage('请将卡放在感应区');
          23: ShowMessage('机器没连上,或驱动程序未安装!');

        end;

end;


end.

你可能感兴趣的:(USB接口ID卡读卡器oem软件/读写卡测试程序及源代码/DELPHI源代码)