Calculadora Simples em Delphi

Calculadora Simples em Delphi
Calculadora Simples

Introdução

Desenvolver uma calculadora em Delphi é uma excelente maneira de aprender os conceitos básicos da linguagem e como manipular a interface gráfica. Neste guia, vamos criar uma calculadora simples com funções de somar, subtrair, multiplicar, dividir e limpar. Vamos detalhar cada etapa do código para facilitar o entendimento. Se você é iniciante e está começando a aprender, esse é um ótimo projeto pois permite aprender sobre os elementos básicos da linguagem e da interface gráfica do usuário (GUI).

Nesse post iremos desenvolver uma calculadora simples em Delphi.

Passo a Passo da Calculadora Simples em Delphi

Passo 1: Configurando o Ambiente

Primeiro, abra o Delphi e crie um novo projeto de aplicação VCL. Isso gerará um novo formulário (Form) onde adicionaremos os componentes necessários para a calculadora.

Passo 2: Adicionando Componentes à Formulário

Vamos adicionar os seguintes componentes:

  • 1 Edit: para exibir e inserir os números e resultados.
  • 5 Buttons: para as operações (somar, subtrair, multiplicar, dividir e limpar).

Aqui está como configurar a interface:

  1. Edit1: Defina o nome como Edit1.
  2. Button1: Defina o Caption como + e o nome como btnAdd.
  3. Button2: Defina o Caption como - e o nome como btnSub.
  4. Button3: Defina o Caption como * e o nome como btnMult.
  5. Button4: Defina o Caption como / e o nome como btnDiv.
  6. Button5: Defina o Caption como C e o nome como btnClear.

Passo 3: Escrevendo o Código

Vamos adicionar o código para cada botão. Clique duas vezes em cada botão para gerar os eventos OnClick de cada botão.

Vamos adicionar o código do Edit1, clique uma vez com o mouse no componente Edit1 para seleciona-lo, após isso clique na aba Events, ao lado da aba Properties do lado esquerdo do Delphi, encontre o evento OnKeyPress e dê um duplo clique para inserir o código que estará em Edit1KeyPress.

Passo 4: Código Fonte

Aqui está o código completo da nossa calculadora:

unit Unit1;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    btnAdd: TButton;
    btnSub: TButton;
    btnMult: TButton;
    btnDiv: TButton;
    btnClear: TButton;
    Edit1: TEdit;
    procedure btnAddClick(Sender: TObject);
    procedure btnSubClick(Sender: TObject);
    procedure btnMultClick(Sender: TObject);
    procedure btnDivClick(Sender: TObject);
    procedure btnClearClick(Sender: TObject);
    procedure Edit1KeyPress(Sender: TObject; var Key: Char);
  private
    { Private declarations }
    FirstNumber, SecondNumber: Double;
    Operation: String;
    procedure ExecuteOperation;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btnAddClick(Sender: TObject);
begin
  FirstNumber := StrToFloat(Edit1.Text);
  Edit1.Clear;
  Operation := '+';
  Edit1.SetFocus;
end;

procedure TForm1.btnClearClick(Sender: TObject);
begin
  Edit1.Clear;
  Edit1.SetFocus;
end;

procedure TForm1.btnDivClick(Sender: TObject);
begin
  FirstNumber := StrToFloat(Edit1.Text);
  Edit1.Clear;
  Operation := '/';
  Edit1.SetFocus;
end;

procedure TForm1.btnMultClick(Sender: TObject);
begin
  FirstNumber := StrToFloat(Edit1.Text);
  Edit1.Clear;
  Operation := '*';
  Edit1.SetFocus;
end;

procedure TForm1.btnSubClick(Sender: TObject);
begin
  FirstNumber := StrToFloat(Edit1.Text);
  Edit1.Clear;
  Operation := '-';
  Edit1.SetFocus;
end;

procedure TForm1.ExecuteOperation;
begin
  SecondNumber := StrToFloat(Edit1.Text);
  if Operation = '+' then
    Edit1.Text := FloatToStr(FirstNumber + SecondNumber)
  else
  if Operation = '-' then
    Edit1.Text := FloatToStr(FirstNumber - SecondNumber)
  else
  if Operation = '*' then
    Edit1.Text := FloatToStr(FirstNumber * SecondNumber)
  else
  if Operation = '/' then
  begin
    if SecondNumber = 0 then
      ShowMessage('Erro: Divisão por zero')
    else
      Edit1.Text := FloatToStr(FirstNumber / SecondNumber);
  end;
end;

procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
  if Key = #13 then  // Enter key
  begin
    ExecuteOperation;
    Key := #0;
  end;
end;

end.

Explicação do Código

1- Declaração de Variáveis:

  • FirstNumber e SecondNumber são usadas para armazenar os números inseridos pelo usuário.
  • Operation guarda a operação escolhida (+, -, *, /).

2- Eventos OnClick:

  • Cada botão de operação (btnAdd, btnSub, etc.) armazena o número inserido no Edit1 como FirstNumber, limpa o Edit1 e define Operation com o símbolo correspondente e seta o foco novamente no Edit1 para que o próximo número seja inserido.

3- Evento OnClick do Botão Clear:

  • btnClear limpa o conteúdo de Edit1.

4- Método ExecuteOperation:

  • Quando o usuário pressiona a tecla Enter, o Edit1KeyPress chama ExecuteOperation.
  • ExecuteOperation converte o texto de Edit1 para SecondNumber e realiza a operação armazenada em Operation.
  • O resultado é exibido em Edit1.

Agora é com você, melhore essa calculadora, adicione mais botões e mais funcionalidades, melhore a interface gráfica do usuário e ganhe novas habilidades a cada novo desafio.

Calculadora Simples em Delphi
Ilustração do projeto.

Código fonte do exemplo

Você pode fazer o download do exemplo do projeto através do repositório do github:

https://github.com/Gisele-de-Melo/CalculadoraSimples

Conclusão

Neste tutorial, criamos uma calculadora simples em Delphi com funções básicas de adição, subtração, multiplicação, divisão e limpeza. Este exemplo demonstrou como manipular a interface gráfica, responder a eventos e executar operações matemáticas básicas. Compreender esses conceitos é fundamental para quem está começando a programar em Delphi e deseja desenvolver aplicativos mais complexos no futuro. Espero que este guia tenha sido útil e inspire você a explorar mais sobre Delphi e suas capacidades!

Posts Relacionados


Livros + e-books

Delphi para Android e iOS

codedelphi.com
codedelphi.com

Delphi Start

codedelphi.com

Programando em Delphi XE

Aprenda programar Delphi

Banco de Dados RAD Delphi

Delphi Programming Projects

Deixe um comentário