// Formunuza yeterli sayıda 29 buton ve 1 adet label yerleştirin ve adlarını
aşağıdaki programa uygun şekilde değiştirin. Tüm butonları ekrana hesap makinası
şeklinde yerleştirin. Label'da sonuçların görüneceği ekran olarak kullanılacak.
// Biraz font ve renklerle oyna***** güzel görünümler elde edebilirsiniz.

unit Unit1;

interface

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

type
TForm1 = class(TForm)
Buton_0 : TButton;
Buton_1 : TButton;
Buton_2 : TButton;
Buton_3 : TButton;
Buton_4 : TButton;
Buton_5 : TButton;
Buton_6 : TButton;
Buton_7 : TButton;
Buton_8 : TButton;
Buton_9 : TButton;
Buton_Nokta : TButton;
Buton_ON : TButton;
Buton_OFF : TButton;
Buton_MR : TButton;
Buton_MArti : TButton;
Buton_Min : TButton;
Buton_C : TButton;
Buton_Sin : TButton;
Buton_Cos : TButton;
Buton_Tan : TButton;
Buton_Pi : TButton;
Buton_Karekok : TButton;
Buton_x2 : TButton;
Buton_Eksi : TButton;
Buton_Arti : TButton;
Buton_Bolu : TButton;
Buton_Carpi : TButton;
Buton_Esittir : TButton;
Buton_ArtiEksi : TButton;
SonucEkrani : TLabel;
procedure Buton_ONClick(Sender: TObject);
procedure Buton_OFFClick(Sender: TObject);
procedure Buton_0Click(Sender: TObject);
procedure Buton_2Click(Sender: TObject);
procedure Buton_1Click(Sender: TObject);
procedure Buton_3Click(Sender: TObject);
procedure Buton_4Click(Sender: TObject);
procedure Buton_5Click(Sender: TObject);
procedure Buton_6Click(Sender: TObject);
procedure Buton_7Click(Sender: TObject);
procedure Buton_8Click(Sender: TObject);
procedure Buton_9Click(Sender: TObject);
procedure Buton_CClick(Sender: TObject);
procedure Buton_CarpiClick(Sender: TObject);
procedure Buton_BoluClick(Sender: TObject);
procedure Buton_ArtiClick(Sender: TObject);
procedure Buton_EksiClick(Sender: TObject);
procedure Buton_EsittirClick(Sender: TObject);
procedure Buton_MArtiClick(Sender: TObject);
procedure Buton_x2Click(Sender: TObject);
procedure Buton_ArtiEksiClick(Sender: TObject);
procedure Buton_KarekokClick(Sender: TObject);
procedure Buton_SinClick(Sender: TObject);
procedure Buton_CosClick(Sender: TObject);
procedure Buton_TanClick(Sender: TObject);
procedure Buton_MinClick(Sender: TObject);
procedure Buton_MRClick(Sender: TObject);
procedure Buton_NoktaClick(Sender: TObject);
procedure Buton_PiClick(Sender: TObject);
private
{ Private declarations }
public
Islem,Kontrol : integer;
GeciciSayi3,
GeciciSayi2,
GeciciSayi,
IlkSayi,
IkinciSayi,
Hafiza,
IslemSonucu : real;
Sonuc : string[9];
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Buton_ONClick(Sender: TObject);
begin
Islem:=0;
Kontrol:=1;
Sonuc:=('0');
SonucEkrani.Caption:=Sonuc;
IkinciSayi:=0;
IlkSayi:=0;
end;

procedure TForm1.Buton_OFFClick(Sender: TObject);
begin
Close;
end;

procedure TForm1.Buton_0Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('0');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_2Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('2');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_1Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('1');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_3Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('3');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_4Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('4');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_5Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('5');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_6Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('6');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_7Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('7');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_8Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('8');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_9Click(Sender: TObject);
begin
if Kontrol=1 then begin
if Sonuc=('0') then Sonuc:=('');
Sonuc:=Sonuc+('9');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_CClick(Sender: TObject);
begin
if Kontrol=1 then begin
Sonuc:=('0');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_CarpiClick(Sender: TObject);
begin
if Kontrol=1 then begin
Islem:=2;
IlkSayi:=strtofloat(Sonuc);
Sonuc:=('0');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_BoluClick(Sender: TObject);
begin
if Kontrol=1 then begin
Islem:=3;
IlkSayi:=strtofloat(Sonuc);
Sonuc:=('0');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_ArtiClick(Sender: TObject);
begin
if Kontrol=1 then begin
Islem:=1;
IlkSayi:=strtofloat(Sonuc);
Sonuc:=('0');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_EksiClick(Sender: TObject);
begin
if Kontrol=1 then begin
Islem:=4;
IlkSayi:=strtofloat(Sonuc);
Sonuc:=('0');
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_EsittirClick(Sender: TObject);
begin
if Kontrol=1 then begin
IkinciSayi:=strtofloat(Sonuc);
if Islem=1 then begin IslemSonucu:=IlkSayi+IkinciSayi; end;
if Islem=4 then begin IslemSonucu:=IlkSayi-IkinciSayi; end;
if Islem=2 then begin IslemSonucu:=IlkSayi*IkinciSayi; end;
if (Islem=3) and (IlkSayi>0) and (IkinciSayi>0) then begin IslemSonucu:=IlkSayi/IkinciSayi; end;
Sonuc:=floattostr(IslemSonucu);
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_MArtiClick(Sender: TObject);
begin
if Kontrol=1 then begin
IkinciSayi:=strtofloat(Sonuc);
Hafiza:=Hafiza+IkinciSayi;
end;
end;

procedure TForm1.Buton_x2Click(Sender: TObject);
begin
if Kontrol=1 then begin
GeciciSayi:=strtofloat(Sonuc);
GeciciSayi:=GeciciSayi*GeciciSayi;
Sonuc:=floattostr(GeciciSayi);
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_ArtiEksiClick(Sender: TObject);
begin
if Kontrol=1 then begin
Sonuc:=('-')+Sonuc;
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_KarekokClick(Sender: TObject);
begin
if Kontrol=1 then begin
GeciciSayi:=strtofloat(Sonuc);
if GeciciSayi>1 then begin
IlkSayi:=strtofloat(Sonuc);
GeciciSayi2:=sqrt(IlkSayi);
Sonuc:=floattostr(GeciciSayi2);
SonucEkrani.Caption:=Sonuc;
end;
end;
end;

procedure TForm1.Buton_SinClick(Sender: TObject);
begin
if Kontrol=1 then begin
GeciciSayi:=strtofloat(Sonuc);
GeciciSayi2:=sin(GeciciSayi);
Sonuc:=floattostr(GeciciSayi2);
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_CosClick(Sender: TObject);
begin
if Kontrol=1 then begin
GeciciSayi:=strtofloat(Sonuc);
GeciciSayi2:=cos(GeciciSayi);
Sonuc:=floattostr(GeciciSayi2);
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_TanClick(Sender: TObject);
begin
if Kontrol=1 then begin
GeciciSayi:=strtofloat(Sonuc);
GeciciSayi2:=sin(GeciciSayi);
GeciciSayi3:=cos(GeciciSayi);
GeciciSayi:=GeciciSayi2/GeciciSayi3;
Sonuc:=floattostr(GeciciSayi);
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_MinClick(Sender: TObject);
begin
if Kontrol=1 then Hafiza:=strtofloat(Sonuc);
end;

procedure TForm1.Buton_MRClick(Sender: TObject);
begin
if Kontrol=1 then begin
Sonuc:=floattostr(Hafiza);
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_NoktaClick(Sender: TObject);
begin
if Kontrol=1 then begin
Sonuc:=Sonuc+(','); // Burada , yerine . kullanabilirsiniz. Ancak İşletim sisteminizin ülke ayarları ile aynı olmalıdır aksi halde hata verir.
SonucEkrani.Caption:=Sonuc;
end;
end;

procedure TForm1.Buton_PiClick(Sender: TObject);
begin
if Kontrol=1 then begin
Sonuc:=('3,141592'); // Burada , yerine . kullanabilirsiniz. Ancak İşletim sisteminizin ülke ayarları ile aynı olmalıdır aksi halde hata verir.
SonucEkrani.Caption:=Sonuc;
end;
end;

end.