M
mashi7822
Unregistered / Unconfirmed
GUEST, unregistred user!
本人正在做一考勤系统,采用SLE4428IC卡。读卡器所附说明书中对读卡中字符串的函数声明如下:
SLE4428_ReadChar(WORD _wAddr,WORD _wLength,BYTE *_bReadData);
参数:_wAddr 指定要读取的字符串在卡片存储区内的起始地址。
_wLength 指定要读取的字符串长度。SLE4418/SLE4428存储区的长度为1024字节。
_bReadData字符型指针,指向从卡片存储区内读到的字符串并返回给应用程序。
返回值:如果函数调用成功,返回值为0,且_bReadData的内容为从卡片读取到的字符串。
如果函数调用失败,返回值不为0。
说明:此函数从卡片内的_wAddr地址起读取_wLength字节长的字符串,并存储在_bReadData指针内返回给应用程序。
本人在Delphi5中调用该函数如下
//声明该函数
Function SLE4428_ReadChar(wAddr,wLength:Integer;bReadDatachar) :integer; stdcall;external 'MCS_SR.dll';
//调用
procedure TForm1.Button1Click(Sender: TObject);
var
str1:array[0..255] of char;
i:integer;
begin
i:=SLE4428_ReadChar(32,40,str1);
end;
出现的问题是返回的i值不为0,也即读不到数。本人十分着急,特向各位大侠请教。
注:对卡的初始化串口、关闭串口、下电这三个函数能够正常调用。
而调用上电函数则和前面提到的读卡中字符串函数出现的问题一样。
SLE4428_ReadChar(WORD _wAddr,WORD _wLength,BYTE *_bReadData);
参数:_wAddr 指定要读取的字符串在卡片存储区内的起始地址。
_wLength 指定要读取的字符串长度。SLE4418/SLE4428存储区的长度为1024字节。
_bReadData字符型指针,指向从卡片存储区内读到的字符串并返回给应用程序。
返回值:如果函数调用成功,返回值为0,且_bReadData的内容为从卡片读取到的字符串。
如果函数调用失败,返回值不为0。
说明:此函数从卡片内的_wAddr地址起读取_wLength字节长的字符串,并存储在_bReadData指针内返回给应用程序。
本人在Delphi5中调用该函数如下
//声明该函数
Function SLE4428_ReadChar(wAddr,wLength:Integer;bReadDatachar) :integer; stdcall;external 'MCS_SR.dll';
//调用
procedure TForm1.Button1Click(Sender: TObject);
var
str1:array[0..255] of char;
i:integer;
begin
i:=SLE4428_ReadChar(32,40,str1);
end;
出现的问题是返回的i值不为0,也即读不到数。本人十分着急,特向各位大侠请教。
注:对卡的初始化串口、关闭串口、下电这三个函数能够正常调用。
而调用上电函数则和前面提到的读卡中字符串函数出现的问题一样。