С твоей функцией что-то вроде
Код:
function Hex2Byte(S : String):Byte;
const C:string[16]='0123456789ABCDEF';
begin
if Length(S) < 2 then
Result := (Pos(S[1], C) - 1) shl 4
else
Result := ((Pos(S[1], C) - 1) shl 4) + Pos(S[2], C) - 1
end;
...
for i := 0 to (length(s) - 1)/ 2 do
a[i] := Hex2Byte(Copy(s, i * 2 + 1, 2));