Calculadora Simples 17.07.12 11:51
Fiz uma calculadora simples aí... Segue abaixo.
Download:
Source:
Download:
- Spoiler:
- http://www.4shared.com/file/g7rbHAMq/Calculadora.html
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.