Please Wait, Loading...

Friday 21 January 2011

Membangun Kalkulator Unlimited Menggunakan Delphi

      Berikut adalah sebuah kalkulator yang sengaja dibuat menggunakan Delphi, kelebihan dari kalkulator ini adalah memiliki trayicon yang unik, untuk mempercantik sebuah aplikasi dan juga berfungsi sebagai indikator bahwa aplikasi tersebut sedang dioperasikan.Untuk membuat kalkulator tersebut, berikut adalah sourcode nya, yang kemungkinan bagi pengunjung blog ini ingin mempelajari sebagai bahan referensi, penulis juga melampirkan file exe nya yang terkemas dalam file kompresi rar, yang bisa di unduh ke link berikut, demikian semoga bermanfaat..  



Unit UCalculator; 
Interface
Uses
  Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
  ExtCtrls, xpPanel, StdCtrls, xpEdit, xpButton, xpWindow, xpBitBtn,
  ImgList, CoolTrayIcon, TrayIcon;

Type
  TForm1 = class(TForm)
    xpPanel1: TxpPanel;
    layar: TxpEdit;
    satu: TxpButton;
    dua: TxpButton;
    lima: TxpButton;
    enam: TxpButton;
    sembilan: TxpButton;
    tiga: TxpButton;
    empat: TxpButton;
    tujuh: TxpButton;
    delapan: TxpButton;
    nol: TxpButton;
    enter: TxpButton;
    clear: TxpButton;
    kali: TxpButton;
    bagi: TxpButton;
    tambah: TxpButton;
    kurang: TxpButton;
    koma: TxpButton;
    tutup: TxpBitBtn;
    ImageBarUp: TImageList;
    TrayIconBarUp: TCoolTrayIcon;
    TrayNotifyBarUp: TTrayNotifyIcon;
   
    procedure tutupClick(Sender: TObject);
    procedure tambahClick(Sender: TObject);
    procedure satuClick(Sender: TObject);
    procedure duaClick(Sender: TObject);
    procedure tigaClick(Sender: TObject);
    procedure empatClick(Sender: TObject);
    procedure limaClick(Sender: TObject);
    procedure enamClick(Sender: TObject);
    procedure tujuhClick(Sender: TObject);
    procedure delapanClick(Sender: TObject);
    procedure sembilanClick(Sender: TObject);
    procedure nolClick(Sender: TObject);
    procedure clearClick(Sender: TObject);
    procedure kurangClick(Sender: TObject);
    procedure enterClick(Sender: TObject);
    procedure bagiClick(Sender: TObject);
    procedure kaliClick(Sender: TObject);
    procedure komaClick(Sender: TObject);
  

Private
    { Private declarations }
  

Public
    { Public declarations }
  end;

Var
  Form1: TForm1;

implementation

{$R *.DFM}

// variabel dengan tipe global //
Var
   FTombol : real;
   Operasi : string;

procedure TForm1.tutupClick(Sender: TObject);
begin
application.terminate;
end;

//Inisialisasi Untuk Operasi Penjumlahan
procedure TForm1.tambahClick(Sender: TObject);
begin
     Operasi := 'jumlah';
     FTombol := StrToFloat(Layar.Text);
     Layar.Clear;
end;

procedure TForm1.satuClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.duaClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.tigaClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.empatClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.limaClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.enamClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.tujuhClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.delapanClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.sembilanClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.nolClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

procedure TForm1.clearClick(Sender: TObject);
var
   AHitung, SAngka : real;
   Hasil : string;
begin
Layar.Clear;
Hasil :='0' ;
end;

//Inisialisasi Untuk Operasi Pengurangan
procedure TForm1.kurangClick(Sender: TObject);
var
     Angka: real;
     TeksLayar: string;
begin
     Operasi := 'kurang';
     FTombol := -(StrToFloat(Layar.Text));
     Layar.Text := TeksLayar;
     Layar.Clear;
end;

//Prosesing pemanggilan inisialisasi dan algoritma penghitungan
procedure TForm1.enterClick(Sender: TObject);
var
   AHitung, SAngka : real;
   Hasil : string;

begin
    SAngka := StrToFloat(Layar.Text);
    Begin
      if operasi = 'jumlah' then
      AHitung := FTombol + SAngka;
      Hasil := FormatFloat('0.#####', AHitung);
      Layar.Text := Hasil;
    End;

    Begin
      if operasi = 'bagi' then
      AHitung := FTombol/SAngka;
      Hasil := FormatFloat('0.#####', AHitung);
      Layar.Text := Hasil;
    End;

    Begin
      if operasi = 'kali' then
      AHitung := FTombol*SAngka;
      Hasil := FormatFloat('0.#####', AHitung);
      Layar.Text := Hasil;

   End;

    Begin
      if operasi = 'kurang' then
      AHitung := FTombol + SAngka;
      Hasil := FormatFloat('0.#####', AHitung);
      Layar.Text := Hasil;
    End;
end;

//Inisialisasi Untuk Operasi Pembagian
procedure TForm1.bagiClick(Sender: TObject);
begin
     Operasi := 'bagi';
     FTombol := StrToFloat(Layar.Text);
     Layar.Clear;
end;

//Inisialisasi Untuk Operasi Perkalian
procedure TForm1.kaliClick(Sender: TObject);
begin
     Operasi := 'kali';
     FTombol := StrToFloat(Layar.Text);
     Layar.Clear;
end;

procedure TForm1.komaClick(Sender: TObject);
begin
layar.Text := layar.Text + (sender as txpbutton).caption;
end;

end.