Creo que ya hay una función para convertir de binario a hexadecimal, pero tardo mas en buscarla que en hacerla
Código Delphi
[-]
function BinToHex(Hex: String): String;
var
i,j: Integer;
Str: String;
begin
Result:= EmptyStr;
for i:= Length(Hex) downto 1 do
if not (Hex[i] in ['0','1']) then
Delete(Hex,i,1);
while Length(Hex) mod 4 <> 0 do
Hex:= '0' + Hex;
while Length(Hex) > 0 do
begin
Str:= Copy(Hex,1,4);
Delete(Hex,1,4);
j:= 0;
for i:= 1 to Length(Str) do
j:= (j * 2) + StrToInt(Str[i]);
Result:= Result + IntToHex(j,1);
end;
end;
Por ejemplo si tenemos varios edit, por ejemplo edit0..7, con los bits y uno, llamemosle edit8, donde queremos poner el resultado:
Código Delphi
[-]
Edit8.Text:= BinToHex(Edit0.Text + Edit1.Text + Edit2.Text + Edit3.Text +
Edit4.Text + Edit5.Text + Edit6.Text + Edit7.Text)
Edit0 tendria el bit mas significativo y el Edit7 el menos