Convert BinToHex
Function BinToHex ( Binar : String ) : String ;
Const
ABCDEF
: Array[ 0..15 ] Of String =
( '0000' , '0001' , '0010' , '0011' , '0100' , '0101' , '0110' , '0111'
,
'1000' , '1001' , '1010' , '1011' , '1100' , '1101' , '1110' , '1111' )
;
HEX
: Array[ 0..15 ] Of char =
( '0' , '1' , '2' , '3' , '4' , '5' , '6' , '7' , '8' , '9' , 'A' , 'B'
, 'C' , 'D' , 'E' , 'F' ) ;
Var
i , n : integer
;
sTemp : String
;
sNumber : String ;
Begin
Result := ''
;
sTemp :=
Binar + Copy ( '000' , 1 , Length ( Binar ) Mod 4 ) ;
For i := 0
To ( Length ( Binar ) Shr 2 ) - 1 Do
Begin
sNumber := Copy ( sTemp , ( i Shl 2 ) + 1 , 4 ) ;
n := 8 ;
While ( sNumber <> ABCDEF[ n ] ) Do
If sNumber <
ABCDEF[ n ] Then
Dec ( n )
Else
Inc ( n ) ;
Result := Result + HEX[ n ] ;
End ;
End ;
Example
:
caption := BintoHex ( '1000111001001011' ) ;