DelphiPemrograman

Konversi Octal Hexadecimal dengan Delphi #174

Pisang berwarna kuning sedangkan durian memiliki duri

andrypein.net : Menjadi episode terakhir dari serangkaian aplikasi konversi bilangan, post aing dengan titel konversi octal hexadecimal dengan delphi ini akan dijadikan sebagai penutup.

Hasil akhir nya akan seperti ini gan :

konversi octal hexadecimal dengan delphi
dud

Kita akan memakai nested function alias fungsi didalam fungsi yang sudah dipost kemarin sehingga akan menjadi……

DAWG

YoDawg
function OctToBin(OctStr: string): string;

  function DecToBinStr(N: Integer): string;
  var
    S: string;
    i: Integer;
  begin
    if N<>0 then
      for i:=1 to SizeOf(N)*8 do
      begin
        if N<0 then s:=S+'1' else n:=N shl 1; 
      end ; 
      delete(s, 1,pos('1', s)-1);
      case length(s) mod 3 of 1: +s; 
        2: 
      end; 
      result:=S;
   end;

var i: integer; 
 begin for to length(octstr) do
  begin if not(octstr[i] in ['0','1','2','3','4','5','6','7']) 
   showmessage('bukan bilangan oktal!!!'); 
   break; 
   while (result[1] =0 )and(length(result)>1) do
      Delete(Result, 1, 1);
    end;
end;

function BinToHex(BinStr: 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'));
var
  Error: Boolean;
  j: Integer;
  BinPart: string;
begin
  Result:='';

  Error:=False;
  for j:=1 to Length(BinStr) do
    if not (BinStr[j] in ['0', '1']) then
    begin
      Error:=True;
      ShowMessage('Bukan Angka Biner');
      Break;
    end;

  if not Error then
  begin
    case Length(BinStr) mod 4 of
      1: BinStr:='000'+BinStr;
      2: BinStr:='00'+BinStr;
      3: BinStr:='0'+BinStr;
    end;

    while Length(BinStr)>0 do
    begin
      BinPart:=Copy(BinStr, Length(BinStr)-3, 4);
      Delete(BinStr, Length(BinStr)-3, 4);
      for j:=1 to 16 do
        if BinPart=BinArray[j-1, 0] then
          Result:=BinArray[j-1, 1]+Result;
    end;
  end;
end;


Kode untuk edit keypress sikat gan :
[code lang="delphi"]
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  case key of
    'a'..'z','A'..'Z','8'..'9' : key:=#10;
  end;
end;

Last pada button onclick dan siap di run saja ini mah.

procedure TForm1.Button1Click(Sender: TObject);
var
  hasil,hasil2 : string;
begin
  hasil:=OctTobin(edit1.Text);
  hasil2:=BinToHex(hasil);
  if edit1.Text = '' then
    showmessage('kosong')
  else
    lblhasil.Caption:='Hasil Konversi adalah : '+hasil2;
end;

Selesai sudah rangkaian postingan konversi-konversian.

Silahken gan unduh saja apps konversi octal hexadecimal dengan delphi nya hanya di aing.

Download

*AFK

Related Articles

4 Comments

  1. gan,mu tanya neh..gimana caranya nampilin image pake kaya animasi yang animate window center??
    plis help me…

  2. mksd q gni,dlm form qt kasih komponen TImage..trus yg q tanyain gmn cara'a agar image trsbt bs d tampilkan dg animasi(yg d buat animasi bukan form-nya tp image yg dlm form trsbt)..kira2 bisa g y??

Tinggalkan Balasan

Alamat email Anda tidak akan dipublikasikan. Ruas yang wajib ditandai *

Back to top button