1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
| function SCardCLMifareStdRead( ulHandleCard :SCARDHANDLE ;
ulMifareBlockNr :DWord ;
var pucMifareDataRead :array of Byte ;
ulMifareDataReadBufLen: DWord ;
var pulMifareNumOfDataRead :PULONG ): LongInt;stdcall;external scardcldll ;
function UCharToStr(PUChar: array of Byte; Longueur: Word): string;
const
Hexa: array[0..15] of Char = ('0','1','2','3','4','5','6','7','8','9','A','B','C','D','E','F');
var
i: Word;
o: Byte;
begin
for i:=0 to Longueur-1
do begin
o:=PUChar[i];
Result:=Result+Hexa[o and $F0];
Result:=Result+Hexa[o and $0F];
end;
end;
var ucMifareDataRead :array of Byte;
begin
SetLength(ucMifareDataRead, 16);
lErr := SCardCLMifareStdRead(FCardHandle,m_longBlockNr,ucMifareDataRead,16,ulMifareNumOfDataRead);
if lErr=NoERROR then ShowMessage(UCharToStr(ucMifareDataRead, ulMifareNumOfDataRead^));
SetLength(ucMifareDataRead, 0); |
Partager