Вы находитесь на странице: 1из 12

Logoapp.

dpr

“Calculad
ora”
Vista de la calculadora.

2
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;

type
TForm1 = class(TForm)
Button1: TButton; // 1
Button2: TButton; // 2
Button3: TButton; // 3
Button4: TButton; // 4
Button5: TButton; // 5
Button6: TButton; // 6
Button7: TButton; // 7
Button8: TButton; // 8
Button9: TButton; // 9
Button10: TButton; // 0
Button11: TButton; // C
Button12: TButton; // =
Button13: TButton; // +
Button14: TButton; // -
Button15: TButton; // *
Button16: TButton; // /
Button17: TButton; // Salir
Button18: TButton; // ,
Edit1: TEdit;
procedure Button10Click(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 Button13Click(Sender: TObject);
procedure Button14Click(Sender: TObject);
procedure Button15Click(Sender: TObject);
procedure Button16Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure FormCloseQuery(Sender: TObject; var CanClose: Boolean);
procedure Button18Click(Sender: TObject);
procedure Edit1KeyPress(Sender: TObject; var Key: Char);

3
procedure FormActivate(Sender: TObject);

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

var
Form1: TForm1;
R1,N1,N2:Real;
Op:String;

implementation

uses StrUtils;

{$R *.dfm}

procedure TForm1.Button10Click(Sender: TObject); // 0

begin

if Edit1.text='0' then
Edit1.text:='0'
Else
Edit1.text:=Edit1.text+'0';
Edit1.setfocus;
end;

procedure TForm1.Button1Click(Sender: TObject); // 1

begin

if Edit1.text='0' then
Edit1.text:='1'
Else
Edit1.text:=Edit1.text+'1';
Edit1.setfocus;
end;

4
procedure TForm1.Button2Click(Sender: TObject); // 2

begin
if Edit1.text='0' then
Edit1.text:='2'
Else
Edit1.text:=Edit1.text+'2';
Edit1.setfocus;
end;

procedure TForm1.Button3Click(Sender: TObject); // 3

begin
if Edit1.text='0' then
Edit1.text:='3'
Else
Edit1.text:=Edit1.text+'3';
Edit1.setfocus;
end;

procedure TForm1.Button4Click(Sender: TObject); // 4


begin
if Edit1.text='0' then
Edit1.text:='4'
Else
Edit1.text:=Edit1.text+'4';
Edit1.setfocus;
end;

procedure TForm1.Button5Click(Sender: TObject); // 5

begin
if Edit1.text='0' then
Edit1.text:='5'
Else
Edit1.text:=Edit1.text+'5';
Edit1.setfocus;
end;

5
procedure TForm1.Button6Click(Sender: TObject); // 6

begin
if Edit1.text='0' then
Edit1.text:='6'
Else
Edit1.text:=Edit1.text+'6';
Edit1.setfocus;
end;

procedure TForm1.Button7Click(Sender: TObject); // 7

begin
if Edit1.text='0' then
Edit1.text:='7'
Else
Edit1.text:=Edit1.text+'7';
Edit1.setfocus;
end;

procedure TForm1.Button8Click(Sender: TObject); // 8


begin
if Edit1.text='0' then
Edit1.text:='8'
Else
Edit1.text:=Edit1.text+'8';
Edit1.setfocus;
end;

procedure TForm1.Button9Click(Sender: TObject); // 9

begin
if Edit1.text='0' then
Edit1.text:='9'
Else
Edit1.text:=Edit1.text+'9';
Edit1.setfocus;
end;

6
procedure TForm1.Button18Click(Sender: TObject); // ,
begin
if edit1.text='0' then
edit1.Text:='0,'
else
edit1.Text:=edit1.Text+',';
Edit1.setfocus;

end;

procedure TForm1.Button13Click(Sender: TObject); // suma

begin
N1:=strtofloat(Edit1.text);
Op:='+';
Edit1.text:='0';
Edit1.setfocus;
end;

procedure TForm1.Button14Click(Sender: TObject); // resta

begin
N1:=strtofloat(Edit1.text);
Op:='-' ;
Edit1.text:='0';
Edit1.setfocus;

end;

7
procedure TForm1.Button15Click(Sender: TObject); // multiplicacion

begin
N1:=strtofloat(Edit1.text);
Op:='*';
Edit1.text:='0';
Edit1.setfocus;
end;

procedure TForm1.Button16Click(Sender: TObject); // Division

begin
N1:=strtofloat(Edit1.text);
Op:='/';
Edit1.text:='0';
Edit1.setfocus;
end;

procedure TForm1.Button11Click(Sender: TObject); // borrar

begin
Edit1.text:='0';
R1:=0;
Edit1.setfocus;
end;

8
procedure TForm1.Button12Click(Sender: TObject); // calcular
begin

if Op='+' then begin


N2:=strtofloat(Edit1.text);
R1:=N1+N2;
Edit1.text:=floattostr(R1);
End

Else

if Op= '-' then begin


N2:=strtofloat(Edit1.text);
R1:=N1-N2;
Edit1.text:=floattostr(R1);
End

else

if Op= '*' then begin


N2:=strtofloat(Edit1.text);
R1:=N1 * N2;
Edit1.text:=floattostr(R1);
End

else

if Op= '/' then


if edit1.text='0' then
showmessage('Error')

else

begin
N2:=strtofloat(Edit1.text);
R1:=N1/N2;
Edit1.text:=floattostr(R1);
Edit1.setfocus;
end ;

end;

9
procedure TForm1.Button17Click(Sender: TObject); // Salir

begin
close;
end;

procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);

begin

if application.MessageBox('Desea cerrar la calculadora?','Cerrando el


programa',mb_yesno+mb_iconquestion)=id_yes then
CanClose:=true
else
CanClose:=false;

end;

procedure TForm1.FormActivate(Sender: TObject); // Focus de Windows

begin
edit1.SetFocus;
end;

10
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char); // Teclado

begin
if not (key in ['0'..'9',#46, #8]) then

if key = #43 then // +

begin
Op : = '+' ;
key:=#0;
N1:=strtofloat(edit1.Text);
edit1.Text:= '' ;
end ;

if key = #45 then // -

begin
Op : = '-' ;
Key : = #0 ;
N1 : = strtofloat(edit1.Text);
edit1.Text : = '' ;
end ;

if key = #42 then // *

begin
Op : = '*' ;
Key : = #0 ;
N1 : = strtofloat(edit1.Text);
edit1.Text : = '' ;
end ;

if key = #47 then // /

begin
Op : = '/' ;
Key : = #0 ;
N1 : = strtofloat(edit1.Text);
edit1.Text : = '' ;
end;

11
if key = #46 then // Decimales
Begin
Key : = #0 ;
Key : = #44 ;
end;

if key = #8 then // Borrar

edit1.Text : = '' ;

end ;

end .

12

Вам также может понравиться