Bagi anda yang sering berhubungan dengan interface mikrokontroler dan PC kadang memerlukan konversi bilangan heksadesimal ke dalam bentuk Biner. Sebenarnya Delphi telah menyediakan fungsi HexToBin sendiri, tapi kali ini kita coba untuk mengkonversi bilangan heksadesimal dengan tipe data string dan menghasilkan bilangan biner dalam bentuk string juga.
Coba perhatikan fungsi berikut ini
function HexToBin(HexStr: string): string;
const
BinArray: array[0..15, 0..1] of string =
(('0000', '0'), ('0001', '1'), ('0010', '2'), ('0011', '3'),
('0100', '4'), ('0101', '5'), ('0110', '6'), ('0111', '7'),
('1000', '8'), ('1001', '9'), ('1010', 'A'), ('1011', 'B'),
('1100', 'C'), ('1101', 'D'), ('1110', 'E'), ('1111', 'F'));
HexAlpha: set of char = ['0'..'9', 'A'..'F'];
var
i, j: Integer;
begin
Result:='';
HexStr:=AnsiUpperCase(HexStr);
for i:=1 to Length(HexStr) do
if HexStr[i] in HexAlpha then
begin
for j:=1 to 16 do
if HexStr[i]=BinArray[j-1, 1] then
Result:=Result+BinArray[j-1, 0];
end
else
begin
Result:='';
ShowMessage('This is not hexadecimal number');
Break;
end;
if Result<>'' then
while (Result[1]='0')and(Length(Result)>1) do
Delete(result, 1, 1);
end;
dan berikut dara penggunaannya dalam program
procedure TForm1.Button1Click(Sender: TObject);
begin
Label1.Caption := HexToBin(Edit1.Text);
end;
Read More »»