Showing posts with label binary to decimal in delphi. Show all posts
Showing posts with label binary to decimal in delphi. Show all posts

Sunday, September 4, 2016

Binary To Decimal Converter in Delphi

I wrote this simple program that will ask the user to give a number in binary and then our program will convert the number to its decimal equivalent using Delphi as my programming language.

Add me at Facebook my address is jakerpomperada@gmail.com and jakerpomperada@yahoo.com.
 
My mobile number here in the Philippines is 09173084360
.




Sample Program Output


Program Listing

binary.pas 


unit binary;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    Label1: TLabel;
    Label2: TLabel;
    Edit1: TEdit;
    Button1: TButton;
    Label3: TLabel;
    Button2: TButton;
    Label4: TLabel;
    Label5: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
     
  end;

var
  Form1: TForm1;


implementation

{$R *.dfm}

   function Pow(i, k: Integer): Integer;
var
  j, Count: Integer;
begin
  if k>0 then j:=2
    else j:=1;
  for Count:=1 to k-1 do
    j:=j*2;
  Result:=j;
end;

function BinToDec(Str: string): Integer;
var
  Len, Res, i: Integer;
  Error: Boolean;
begin
  Error:=False;
  Len:=Length(Str);
  Res:=0;
  for i:=1 to Len do
    if (Str[i]='0')or(Str[i]='1') then
      Res:=Res+Pow(2, Len-i)*StrToInt(Str[i])
    else
    begin
      MessageDlg('It is not a binary number', mtInformation, [mbOK], 0);
      Error:=True;
      Break;
    end;
  if Error=True then Result:=0
    else Result:=Res;
end;



procedure TForm1.Button1Click(Sender: TObject);
begin

   if edit1.text ='' then
      begin
     ShowMessage('Emtpy not allow');
        Edit1.text :='';
        Label3.Caption := '';
        Edit1.SetFocus;
   end
     else
           Label3.Caption:= 'The equivalent value of ' + Edit1.Text
      + ' to Binary is ' + IntToStr(BinToDec(Edit1.Text))+'.'

      End;

procedure TForm1.Button2Click(Sender: TObject);
begin
Edit1.text :='';
Label3.Caption := '';
Edit1.SetFocus
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
button1.Hint := 'Click here to convert binary number into its decimal equivalent.';
button1.ShowHint := true;
end;

end.