?? unit1.~pas
字號:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls, ExtCtrls,declaredll,strutils;
type
TForm1 = class(TForm)
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
port,baud:integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
//輕松讀卡
{
技術支持:廣州盛宇單片機技術開發有限公司
網站:www.icmcu.com
}
var
status:byte;//存放返回值
myareano:byte;//區號
authmode:byte;//密碼類型,用A密碼或B密碼
myctrlword:byte;//控制字
mypicckey:array[0..5] of byte;//密碼
mypiccserial:array[0..3] of byte;//卡序列號
mypiccdata:array[0..47] of byte;//卡數據緩沖
begin
//控制字指定,控制字的含義請查看本公司網站提供的動態庫說明
myctrlword := BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY;
//指定區號
myareano := 8;//指定為第8區
//批定密碼模式
authmode := 1;//大于0表示用A密碼認證,推薦用A密碼認證
//指定密碼
mypicckey[0] := $ff;
mypicckey[1] := $ff;
mypicckey[2] := $ff;
mypicckey[3] := $ff;
mypicckey[4] := $ff;
mypicckey[5] := $ff;
status := piccreadex(myctrlword,@mypiccserial,myareano,authmode,@mypicckey,@mypiccdata);
//在下面設定斷點,然后查看mypiccserial、mypiccdata,
//調用完 piccreadex函數可讀出卡序列號到 mypiccserial,讀出卡數據到mypiccdata,
//開發人員根據自己的需要處理mypiccserial、mypiccdata 中的數據了。
//處理返回函數
case status of
0: ShowMessage('操作成功');
8: ShowMessage('請將卡放在感應區');
else ;
end;
//返回解釋
{
#define ERR_REQUEST 8//尋卡錯誤
#define ERR_READSERIAL 9//讀序列嗎錯誤
#define ERR_SELECTCARD 10//選卡錯誤
#define ERR_LOADKEY 11//裝載密碼錯誤
#define ERR_AUTHKEY 12//密碼認證錯誤
#define ERR_READ 13//讀卡錯誤
#define ERR_WRITE 14//寫卡錯誤
#define ERR_NONEDLL 21//沒有動態庫
#define ERR_DRIVERORDLL 22//動態庫或驅動程序異常
#define ERR_DRIVERNULL 23//驅動程序錯誤或尚未安裝
#define ERR_TIMEOUT 24//操作超時,一般是動態庫沒有反映
#define ERR_TXSIZE 25//發送字數不夠
#define ERR_TXCRC 26//發送的CRC錯
#define ERR_RXSIZE 27//接收的字數不夠
#define ERR_RXCRC 28//接收的CRC錯
}
end;
procedure TForm1.Button2Click(Sender: TObject);
//輕松寫卡
{
技術支持:廣州盛宇單片機技術開發有限公司
網站:www.icmcu.com
}
var
i:integer;
status:byte;//存放返回值
myareano:byte;//區號
authmode:byte;//密碼類型,用A密碼或B密碼
myctrlword:byte;//控制字
mypicckey:array[0..5] of byte;//密碼
mypiccserial:array[0..3] of byte;//卡序列號
mypiccdata:array[0..47] of byte;//卡數據緩沖
begin
//控制字指定,控制字的含義請查看本公司網站提供的動態庫說明
myctrlword := BLOCK0_EN + BLOCK1_EN + BLOCK2_EN + EXTERNKEY;
//指定區號
myareano := 8;//指定為第8區
//批定密碼模式
authmode := 1;//大于0表示用A密碼認證,推薦用A密碼認證
//指定密碼
mypicckey[0] := $ff;
mypicckey[1] := $ff;
mypicckey[2] := $ff;
mypicckey[3] := $ff;
mypicckey[4] := $ff;
mypicckey[5] := $ff;
for i := 0 to 47 do
begin
mypiccdata[i] := i;
end;
status := piccwriteex(myctrlword,@mypiccserial,myareano,authmode,@mypicckey,@mypiccdata);
//在下面設定斷點,然后查看mypiccserial、mypiccdata,
//調用完 piccreadex函數可讀出卡序列號到 mypiccserial,讀出卡數據到mypiccdata,
//開發人員根據自己的需要處理mypiccserial、mypiccdata 中的數據了。
//處理返回函數
case status of
0: ShowMessage('操作成功');
8: ShowMessage('請將卡放在感應區');
else ;
end;
//返回解釋
{
#define ERR_REQUEST 8//尋卡錯誤
#define ERR_READSERIAL 9//讀序列嗎錯誤
#define ERR_SELECTCARD 10//選卡錯誤
#define ERR_LOADKEY 11//裝載密碼錯誤
#define ERR_AUTHKEY 12//密碼認證錯誤
#define ERR_READ 13//讀卡錯誤
#define ERR_WRITE 14//寫卡錯誤
#define ERR_NONEDLL 21//沒有動態庫
#define ERR_DRIVERORDLL 22//動態庫或驅動程序異常
#define ERR_DRIVERNULL 23//驅動程序錯誤或尚未安裝
#define ERR_TIMEOUT 24//操作超時,一般是動態庫沒有反映
#define ERR_TXSIZE 25//發送字數不夠
#define ERR_TXCRC 26//發送的CRC錯
#define ERR_RXSIZE 27//接收的字數不夠
#define ERR_RXCRC 28//接收的CRC錯
}
end;
procedure TForm1.Button3Click(Sender: TObject);
//輕松寫卡
{
技術支持:廣州盛宇單片機技術開發有限公司
網站:www.icmcu.com
}
var
status:byte;//存放返回值
myareano:byte;//區號
authmode:byte;//密碼類型,用A密碼或B密碼
myctrlword:byte;//控制字
mypiccnewkey:array[0..5] of byte;//新密碼
mypiccserial:array[0..5] of byte;//卡序列號
mypiccoldkey:array[0..5] of byte;//舊密碼
begin
//控制字指定,控制字的含義請查看本公司網站提供的動態庫說明
myctrlword := 0;
//指定區號
myareano := 8;//指定為第8區
//批定密碼模式
authmode := 1;//大于0表示用A密碼認證,推薦用A密碼認證
//指定密碼
//指定舊密碼
mypiccoldkey[0] := $ff;
mypiccoldkey[1] := $ff;
mypiccoldkey[2] := $ff;
mypiccoldkey[3] := $ff;
mypiccoldkey[4] := $ff;
mypiccoldkey[5] := $ff;
//指定新密碼,注意:指定新密碼時一定要記住,否則有可能找不回密碼,導致該卡報廢。
mypiccnewkey[0] := $ff;
mypiccnewkey[1] := $ff;
mypiccnewkey[2] := $ff;
mypiccnewkey[3] := $ff;
mypiccnewkey[4] := $ff;
mypiccnewkey[5] := $ff;
status := piccchangesinglekey(myctrlword,@mypiccserial,myareano,authmode,@mypiccoldkey,@mypiccnewkey);
case status of
0: ShowMessage('操作成功');
8: ShowMessage('請將卡放在感應區');
else ;
end;
//返回解釋
{
#define ERR_REQUEST 8//尋卡錯誤
#define ERR_READSERIAL 9//讀序列嗎錯誤
#define ERR_SELECTCARD 10//選卡錯誤
#define ERR_LOADKEY 11//裝載密碼錯誤
#define ERR_AUTHKEY 12//密碼認證錯誤
#define ERR_READ 13//讀卡錯誤
#define ERR_WRITE 14//寫卡錯誤
#define ERR_NONEDLL 21//沒有動態庫
#define ERR_DRIVERORDLL 22//動態庫或驅動程序異常
#define ERR_DRIVERNULL 23//驅動程序錯誤或尚未安裝
#define ERR_TIMEOUT 24//操作超時,一般是動態庫沒有反映
#define ERR_TXSIZE 25//發送字數不夠
#define ERR_TXCRC 26//發送的CRC錯
#define ERR_RXSIZE 27//接收的字數不夠
#define ERR_RXCRC 28//接收的CRC錯
}
end;
procedure TForm1.Button5Click(Sender: TObject);
//輕松讀卡
{
技術支持:廣州盛宇單片機技術開發有限公司
網站:www.icmcu.com
}
var
devno:array[0..3] of byte;//設備編號
begin
if pcdgetdevicenumber(@devno) = 0 then
begin
ShowMessage(IntToStr(devno[0]) + '-' + IntToStr(devno[1]) + '-' + IntToStr(devno[2]) + '-' + IntToStr(devno[3]));
end;
//返回解釋
{
#define ERR_REQUEST 8//尋卡錯誤
#define ERR_READSERIAL 9//讀序列嗎錯誤
#define ERR_SELECTCARD 10//選卡錯誤
#define ERR_LOADKEY 11//裝載密碼錯誤
#define ERR_AUTHKEY 12//密碼認證錯誤
#define ERR_READ 13//讀卡錯誤
#define ERR_WRITE 14//寫卡錯誤
#define ERR_NONEDLL 21//沒有動態庫
#define ERR_DRIVERORDLL 22//動態庫或驅動程序異常
#define ERR_DRIVERNULL 23//驅動程序錯誤或尚未安裝
#define ERR_TIMEOUT 24//操作超時,一般是動態庫沒有反映
#define ERR_TXSIZE 25//發送字數不夠
#define ERR_TXCRC 26//發送的CRC錯
#define ERR_RXSIZE 27//接收的字數不夠
#define ERR_RXCRC 28//接收的CRC錯
}
end;
end;
procedure TForm1.Button4Click(Sender: TObject);
//讓設備發出聲音
{
技術支持:廣州盛宇單片機技術開發有限公司
網站:www.icmcu.com
}
begin
pcdbeep(50);
end;
end.
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -