Tad писал(а):
А я и не знал что так можно.
Roma, А сам пробовал ?
StreamConvertor
function THIStreamConvertor.Hex2Str;
const Convert: array['0'..'f'] of byte =
(0, 1, 2, 3, 4, 5, 6, 7, 8, 9,16,16,16,16,16,16,
16,10,11,12,13,14,15,16,16,16,16,16,16,16,16,16,
16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,16,
16,10,11,12,13,14,15);
var len: Integer; ch:char;
begin
FPos := 0;
Check := 0;
len := Length(S);
SetLength(Result, len div 2);
if len < 2 then Exit; {Too small}
repeat
ch := S[2*FPos+1];
if (not(ch in['0'..'f']))or(Convert[ch]>15) then break;
Result[FPos+1] := Chr((Convert[ch] shl 4));
ch := S[2*FPos+2];
if (not(ch in['0'..'f']))or(Convert[ch]>15) then break;
inc(FPos);
Result[FPos] := Chr(ord(Result[FPos])+Convert[ch]);
Check := Check + ord(Result[FPos]);
until false;
SetLength(Result, FPos);
end;
Ostalnoe
Tad, изучай