Você está na página 1de 14

unit kalkulator;

interface

uses

Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,

Dialogs, StdCtrls;

type

TForm1 = class(TForm)

Nol: TButton;

Satu: TButton;

dua: TButton;

tiga: TButton;

empat: TButton;

lima: TButton;
enam: TButton;

tujuh: TButton;

delapan: TButton;

sembilan: TButton;

tambah: TButton;

kurang: TButton;

kali: TButton;

bagi: TButton;

sama: TButton;

hapus: TButton;

Edit1: TEdit;

Label1: TLabel;
procedure NolClick(Sender: TObject);

procedure Edit1Change(Sender: TObject);

procedure hapusClick(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 tambahClick(Sender: TObject);


procedure kurangClick(Sender: TObject);

procedure kaliClick(Sender: TObject);

procedure bagiClick(Sender: TObject);

procedure samaClick(Sender: TObject);

private

{ Private declarations }

public

{ Public declarations }

end;

var

Form1: TForm1;

implementation
{$R *.dfm}

procedure TForm1.NolClick(Sender: TObject);

begin

edit1.text:=edit1.text+'0'

end;

procedure TForm1.Edit1Change(Sender: TObject);

begin

edit1.Enabled:=false;

end;

procedure TForm1.hapusClick(Sender: TObject);

begin

edit1.text:=''

end;
procedure TForm1.SatuClick(Sender: TObject);

begin

edit1.text:=edit1.text+'1'

end;

procedure TForm1.duaClick(Sender: TObject);

begin

edit1.text:=edit1.text+'2'

end;

procedure TForm1.tigaClick(Sender: TObject);

begin

edit1.text:=edit1.text+'3'

end;
procedure TForm1.empatClick(Sender: TObject);

begin

edit1.text:=edit1.text+'4'

end;

procedure TForm1.limaClick(Sender: TObject);

begin

edit1.text:=edit1.text+'5'

end;

procedure TForm1.enamClick(Sender: TObject);

begin

edit1.text:=edit1.text+'6'

end;

procedure TForm1.tujuhClick(Sender: TObject);


begin

edit1.text:=edit1.text+'7'

end;

procedure TForm1.delapanClick(Sender: TObject);

begin

edit1.text:=edit1.text+'8'

end;

procedure TForm1.sembilanClick(Sender: TObject);

begin

edit1.text:=edit1.text+'9'

end;

procedure TForm1.tambahClick(Sender: TObject);


begin

edit1.text:=edit1.text+'+'

end;

procedure TForm1.kurangClick(Sender: TObject);

begin

edit1.text:=edit1.text+'-'

end;

procedure TForm1.kaliClick(Sender: TObject);

begin

edit1.text:=edit1.text+'x'

end;

procedure TForm1.bagiClick(Sender: TObject);

begin
edit1.text:=edit1.text+':'

end;

procedure TForm1.samaClick(Sender: TObject);

var i,pj,operator,tanda,b:integer;

d:array[1..100] of string;

huruf1,huruf2,masukan:string;

begin

edit1.text:=edit1.text+'=';

masukan:=trim(edit1.Text);

pj:=length(masukan);

for i:=1 to pj do

d[i] := copy(masukan, i, 1);


for i:=1 to pj do

begin

if d[i]='x' then

begin

operator:=1;

tanda:=i;

end;

if d[i]=':' then

begin

operator:=2;

tanda:=i;

end;
if d[i]='+' then

begin

operator:=3;

tanda:=i;

end;

if d[i]='-' then

begin

operator:=4;

tanda:=i;

end;

end;

huruf1:=d[1];
huruf2:=d[tanda+1];

if tanda>2 then

for i:=2 to (tanda-1) do

huruf1:=huruf1+d[i];

if pj>(tanda+2) then

for i:=(tanda+1) to (pj-1) do

huruf2:=huruf2+d[i];

case operator of

1: b:= strtoint(huruf1)*strtoint(huruf2);

2: b:= strtoint(huruf1)div strtoint(huruf2);

3: b:= strtoint(huruf1)+strtoint(huruf2);

4: b:= strtoint(huruf1)-strtoint(huruf2);
end;

edit1.text:=inttostr(b);

end;

end.

Você também pode gostar