Код:
var
i:integer;
tmpDec,tmpHex:string;
begin
tmpHex:='';
tmpDec:='';
for i:=0 to nRead-1 do
begin
tmpDec:=tmpDec+IntToStr(byte(RCBuf[i]));// для десятичных значений
tmpHex:= tmpHex+IntToHex(byte(RCBuf[i]),2);// для шестнадцатиричных значений
end;
RcDataLabel.Caption:=tmpDec;// то, что вам надо
// или RcDataLabel.Caption:=tmpHex;
end;
без разницы в чем приходит - ведь приходят значения байтов ... а вот как это дело интерпретировать - в Hex, Integer или ASCII (как вы пытаетесь, но видимо ридер отвечает не в ASCII) - головная боль разработчика обработчика
З.Ы. буфер для приема (у вас RCBuf:PChar) лучше делать как Pointer и перед чтением распределять память, а потом освобождать (PChar - указатель на строку, где конец строки обозначается байтом со значением 0, а если в ответе устройства будет значение нуля, то данные после нуля (да и сам нуль) вы потеряете)
З.Ы.Ы. IntToHex, вроде как, начиная только с Delphi7, если Delphi младше (всякое бывает), то IntToHex писать самому - ну а тут гугл в помощь
З.Ы.Ы.Ы. RFID'ами балуетесь?
