Calculadora Simples

+2
TrY!
M4XTH0N
6 participantes

M4XTH0N M4XTH0N  • 17.07.12 11:51

Calculadora Simples Empty Calculadora Simples 17.07.12 11:51

Reputação da mensagem: 100% (2 votos)
Fiz uma calculadora simples aí... Segue abaixo.

Download:

Spoiler:

Source:

Código:
unit Calculadora;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, Buttons, ExtCtrls, XPMan;

type
  TForm1 = class(TForm)
    button7: TSpeedButton;
    button8: TSpeedButton;
    button9: TSpeedButton;
    button5: TSpeedButton;
    buttonVezes: TSpeedButton;
    button4: TSpeedButton;
    buttonIgual: TSpeedButton;
    buttonMenos: TSpeedButton;
    button2: TSpeedButton;
    button6: TSpeedButton;
    buttonDividir: TSpeedButton;
    button3: TSpeedButton;
    button0: TSpeedButton;
    button1: TSpeedButton;
    buttonSoma: TSpeedButton;
    panelValor: TPanel;
    XPManifest1: TXPManifest;
    buttonCE: TSpeedButton;
    buttonC: TSpeedButton;
    SpeedButton1: TSpeedButton;
    procedure button7Click(Sender: TObject);
    procedure button8Click(Sender: TObject);
    procedure button9Click(Sender: TObject);
    procedure button4Click(Sender: TObject);
    procedure button5Click(Sender: TObject);
    procedure button6Click(Sender: TObject);
    procedure button1Click(Sender: TObject);
    procedure button2Click(Sender: TObject);
    procedure button3Click(Sender: TObject);
    procedure button0Click(Sender: TObject);
    procedure buttonSomaClick(Sender: TObject);
    procedure buttonMenosClick(Sender: TObject);
    procedure buttonVezesClick(Sender: TObject);
    procedure buttonDividirClick(Sender: TObject);
    procedure buttonIgualClick(Sender: TObject);
    procedure buttonCEClick(Sender: TObject);
    procedure buttonCClick(Sender: TObject);
    procedure FormKeyPress(Sender: TObject; var Key: Char);

  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  operacao: integer;
  valor: real;

implementation

uses Math;

{$R *.dfm}

procedure TForm1.button7Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '7';
end;

procedure TForm1.button8Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '8';
end;

procedure TForm1.button9Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '9';
end;

procedure TForm1.button4Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '4';
end;

procedure TForm1.button5Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '5';
end;

procedure TForm1.button6Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '6';
end;

procedure TForm1.button1Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '1';
end;

procedure TForm1.button2Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '2';
end;

procedure TForm1.button3Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '3';
end;

procedure TForm1.button0Click(Sender: TObject);
begin
  panelValor.Caption := panelValor.Caption + '0';
end;

procedure TForm1.buttonSomaClick(Sender: TObject);
begin
  if panelValor.Caption <> '' then
  begin
    operacao := 1;
    valor := StrToFloat(panelValor.Caption);
    panelValor.Caption := '';
  end;
end;

procedure TForm1.buttonMenosClick(Sender: TObject);
begin
  if panelValor.Caption <> '' then
  begin
    operacao := 2;
    valor := StrToFloat(panelValor.Caption);
    panelValor.Caption := '';
  end;
end;

procedure TForm1.buttonVezesClick(Sender: TObject);
begin
  if panelValor.Caption <> '' then
  begin
    operacao := 3;
    valor := StrToFloat(panelValor.Caption);
    panelValor.Caption := '';
  end;
end;

procedure TForm1.buttonDividirClick(Sender: TObject);
begin
  if panelValor.Caption <> '' then
  begin
    operacao := 4;
    valor := StrToFloat(panelValor.Caption);
    panelValor.Caption := '';
  end;
end;

procedure TForm1.buttonIgualClick(Sender: TObject);
var
  num: integer;
  NumReal: real;
  resultado: string;
begin
  val(panelValor.Caption, NumReal, num);
  case operacao of
  1: valor := valor + NumReal;
  2: valor := valor - NumReal;
  3: valor := valor * NumReal;
  4:
    if (NumReal = 0) then
      valor := 0
    else
      valor := valor / NumReal;

    end; 

    Str(valor:2:0,resultado);
    panelValor.Caption := resultado;
end;

procedure TForm1.buttonCEClick(Sender: TObject);
begin
  panelValor.Caption := '';
end;

procedure TForm1.buttonCClick(Sender: TObject);
begin
  panelValor.Caption := '';
end;

procedure TForm1.FormKeyPress(Sender: TObject; var Key: Char);
begin
  if key = #48 then
    button0Click(Sender);
  if key = #49 then
    button1Click(Sender);
  if key = #50 then
    button2Click(Sender);
  if key = #51 then
    button3Click(Sender);
  if key = #52 then
    button4Click(Sender);
  if key = #53 then
    button5Click(Sender);
  if key = #54 then
    button6Click(Sender);
  if key = #55 then
    button7Click(Sender);
  if key = #56 then
    button8Click(Sender);
  if key = #57 then
    button9Click(Sender);
  if key = #42 then
    buttonVezesClick(Sender);
  if key = #45 then
    buttonMenosClick(Sender);
  if key = #43 then
    buttonSomaClick(Sender);
  if key = #47 then
    buttonDividirClick(Sender);
  if key = #61 then
    buttonIgualClick(Sender);
  if key = #13 then
    buttonIgualClick(Sender);

end;

end.


Última edição por M4XTH0N em 17.07.12 18:12, editado 1 vez(es)

TrY! TrY!  • 17.07.12 12:28

Calculadora Simples Empty Re: Calculadora Simples 17.07.12 12:28

Olá,

Eu sei fazer isto, em Javascript ;)
Tenho preguiça de aprender C# ou Java.

M4XTH0N M4XTH0N  • 17.07.12 12:36

Calculadora Simples Empty Re: Calculadora Simples 17.07.12 12:36

Sim, Sim.

C# e Java são linguagens bem complexas.

-Cezar -Cezar  • 17.07.12 13:43

Calculadora Simples Empty Re: Calculadora Simples 17.07.12 13:43

Pode postar a Source aqui? =D

Sugation- Sugation-  • 17.07.12 16:44

Calculadora Simples Empty Re: Calculadora Simples 17.07.12 16:44

Sua calculadora é bem leve e caseira meu Avast dectou que esse programa e raro mas não teve outro erro

M4XTH0N M4XTH0N  • 17.07.12 18:10

Calculadora Simples Empty Re: Calculadora Simples 17.07.12 18:10

Programa Raro ?

Esse programa é bem simpleszinho amigo, eu to começando com Delphi a pouco tempo, eu mecho com Java e C, delphi to começando agora.

Whiskey. Whiskey.  • 18.07.12 17:07

Calculadora Simples Empty Re: Calculadora Simples 18.07.12 17:07

Reputação da mensagem: 100% (1 votos)
Muito bom para quem esta começando em Delphi, em breve estará fazendo excelentes programas, parabéns.

-BioHazard -BioHazard  • 18.07.12 18:34

Calculadora Simples Empty Re: Calculadora Simples 18.07.12 18:34

Reputação da mensagem: 100% (1 votos)
Muito boa calculadora, estarei usando! Up, ganhou meu + :P

M4XTH0N M4XTH0N  • 22.07.12 12:45

Calculadora Simples Empty Re: Calculadora Simples 22.07.12 12:45

Estou feliz que vocês estão gostando, sou muito iniciante em Delphi, mas estou querendo muito aprender. Após terminar o curso de Java, vou iniciar no de Delphi.

Conteúdo patrocinado  • 

Calculadora Simples Empty Re: Calculadora Simples

Permissões neste sub-fórum
Não podes responder a tópicos

BH Servers

Recomendamos a BH Servers com proteção DDOS gratuita em Cloud Server de alta performance. Entrega imediata.