Konversi Bilangan Heksadesimal ke Biner dengan Delphi
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;