Ir ao conteúdo
  • Cadastre-se

Pascal/Delphi Calculadora em Delphi - Melhoria e sugestões?


Posts recomendados

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.

 

  • Amei 1
Link para o comentário
Compartilhar em outros sites

  • 6 meses depois...
Em 16/06/2022 às 00:16, devair1010 disse:

@Pedro Henrique P. F.    seu programa de calculadora não é em pascal , mas sim em delphi 7 ,  

Delphi e o nome do programa. a linguagem utilizada e o object pascal até a versão 10 você poderia usar todas as extensões do pascal clássico (compatível com o turbo pascal de certo modo),

Mas a partir do Alexandria não é mais possível utilizar todas as extensões do pascal. mas ainda e pascal!

  • Obrigado 1
Link para o comentário
Compartilhar em outros sites

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...