Se tiver alguma coisa pra melhorar sintam-se a vontade de falar
unit calculadora;
interface
uses
System.SysUtils, System.Types, System.UITypes, System.Classes, System.Variants,
FMX.Types, FMX.Controls, FMX.Forms, FMX.Graphics, FMX.Dialogs, FMX.StdCtrls,
FMX.Controls.Presentation, FMX.Objects;
type
TForm1 = class(TForm)
Rectangle1: TRectangle;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
LabelDisplay: TLabel;
Label1: TLabel;
procedure Button16Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
private
{ Private declarations }
a : integer;
b : integer;
operacao : char;
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.fmx}
procedure TForm1.Button10Click(Sender: TObject);
var
resposta : real;
begin
if LabelDisplay.Text = '' then
exit;
b := LabelDisplay.Text.ToInteger;
if operacao = '+' then
resposta := a + b else
if operacao = '-' then
resposta := a - b else
if operacao = '/' then
resposta := a / b else
if operacao = 'x' then
resposta := a * b;
LabelDisplay.Text := currtostr (resposta);
end;
procedure TForm1.Button11Click(Sender: TObject);
begin
if LabelDisplay.Text = '' then
exit;
operacao := '+';
a := LabelDisplay.Text.ToInteger;
LabelDisplay.Text := '';
end;
procedure TForm1.Button12Click(Sender: TObject);
begin
if LabelDisplay.Text = '' then
exit;
operacao := '-';
a := LabelDisplay.Text.ToInteger;
LabelDisplay.Text := '';
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
LabelDisplay.Text := '';
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
if LabelDisplay.Text = '' then
exit;
operacao := '/';
a := LabelDisplay.Text.ToInteger;
LabelDisplay.Text := '';
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
if LabelDisplay.Text = '' then
exit;
operacao := 'x';
a := LabelDisplay.Text.ToInteger;
LabelDisplay.Text := '';
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '0';
end;
procedure TForm1.Button1Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '1';
end;
procedure TForm1.Button2Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '2';
end;
procedure TForm1.Button3Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '3';
end;
procedure TForm1.Button4Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '4';
end;
procedure TForm1.Button5Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '5';
end;
procedure TForm1.Button6Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '6';
end;
procedure TForm1.Button7Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '7';
end;
procedure TForm1.Button8Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '8';
end;
procedure TForm1.Button9Click(Sender: TObject);
begin
LabelDisplay.Text := LabelDisplay.Text + '9';
end;
procedure TForm1.FormKeyUp(Sender: TObject; var Key: Word; var KeyChar: Char;
Shift: TShiftState);
begin
if key = vkNumpad0 then
Button16Click( Button16 );
end;
end.