Você está na página 1de 4

Creando una Calculadora

Hola Amigos hoy les traigo un pequeo tutorial de cmo realizar una Calculadora.

Nuestra calculadora tendr las operaciones Bsicas.

1. Sumar
2. Restar
3. Multiplicar
4. Dividir.

Primeramente colocaremos un componente Memo en la forma y algunos botones para que realice
las operaciones esta es la parte grafica.

Para comenzar ponemos la propiedad Alignment del Memo a la Derecha (taRightJustify). Y


colocamos este cdigo dentro del evento OnCreate de la Forma, para inicializar el memo en 0;

Display.Text:='0';
Display.Tag:=0;

Seguidamente declaramos algunas variables en la parte Privada de nuestra Forma.

private
error: Integer;
aux: real;
Resp: Real;
public
{ Public declarations }

Una Vez concluido este paso pasaremos a declarar algunos procedimientos. Que utilizaremos
durante nuestras operaciones.

procedure TForm1.Calculo();
begin
Display.Tag := 0;
Pto.Tag := 0;
Suma.Tag := 1;
Resta.Tag := 1;
Multip.Tag := 1;
Divi.Tag := 1;
end;
Este ser utilizado para declarar el valor que tomara cada botn en las operaciones.

Procedure TForm1.Operaciones();
var Error: integer;
begin
Error := 0;
if Suma.Tag = 2 then
Resp := Resp + strtofloat(Display.Text);
if Resta.Tag = 2 then
Resp := Resp - strtofloat(Display.Text);
if Multip.Tag = 2 then
Resp := Resp * strtofloat(Display.Text);
if Divi.Tag = 2 then
If strtofloat(Display.Text) <> 0 then
Resp := Resp / StrToFloat(Display.Text)
else
Error := 1;
// Mostrar en el Display
if Error = 0 then
Display.Text := FloatToStr(Resp)
else
Display.Text := 'Error: Divisin por Cero'

end;

Ac realizamos cada una de las operaciones que contiene nuestra calculadora.

procedure TForm1.Numero(Num: string);


begin
if Display.Tag <> 0 then
Display.Text := Display.Text + Num
else
Display.Text := Num;
Display.Tag := 1;
end;

Este procedimiento se utiliza para colocar los nmeros en el Memo colocado en nuestra forma y
queden uno consecutivo del otro. Una vez terminado este paso comenzaremos con los botones de
los nmero colocaremos esta lnea de cdigo en el evento OnClick del botn.

procedure TForm1.Button13Click(Sender: TObject);


begin
Numero('1');
end;

Esto colocara el nmero dentro del memo mediante la llamada al procedimiento Numero creado
con anterioridad. Realice esta misma operacin hasta el nmero 9 cambiando dentro del parenticis
el nmero.

Comenzaremos con los botones de las Operaciones todos llevaran el mismo cdigo el
procedimiento Operaciones ser el encargado de definir cual botn fue pulsado por el usuario,
mediante la propiedad Tag del botn.

procedure TForm1.SumaClick(Sender: TObject);


begin
if Suma.Tag = 0 Then
Resp := strtofloat(Display.Text)
else
Operaciones();
Calculo();
Suma.Tag := 2;
end;

El nico cambio a realizar es la condicin requerida al principio del procedimiento para saber si
fue pulsado o no el botn. En este procedimiento sale a relucir los cambios de valor de nuestros
componentes, como vern el componente Memo solo soporta valores de tipo String y
trabajaremos con valores Float, por lo que debemos convertir dichos valores mediante la sentencia
StrToFloat o Viceversa. Esto ser visto durante todos las operaciones de la Calculadora.

Seguidamente crearemos la operacin Igual. Simplemente este botn hace una llamada al
procedimiento Operaciones para que realice las operaciones pulsada por el usuario e inicializa
todas las propiedades Tag de los botones a 0;

procedure TForm1.IgualClick(Sender: TObject);


begin
// Realizar Operaciones
Operaciones();
// inicializar Todo
Display.Tag := 0;
Pto.Tag := 0;
Suma.Tag := 0;
Resta.Tag := 0;
Multip.Tag := 0;
Divi.Tag := 0;
Porc.Tag := 0;
end;

Ahora pasaremos al botn (Pto) de nuestra calculadora Simplemente creamos la


condicin de que si fue pulsado el botn y nuestro display existe el valor 0 colocamos el
punto despus del cero y continuamos con los dems valores y si no existe colocamos
el punto solamente y continuamos con los dems valores.

procedure TForm1.ptoClick(Sender: TObject);


begin
if Pto.Tag = 0 then
if Display.Tag = 0 then
Numero('0,')
else
Numero(',');
Pto.Tag := 1;
end;

Y para terminar nuestra calculadora deber tener un botn que reinicie nuestros valores
es decir un botn AC colocamos estas lneas en el evento OnClick del botn.

Display.Text:='0';
Display.Tag:=0;
pto.Tag:=0;
Resp:=0;
Porc.Tag:=0;

Bueno hemos terminado nuestra calculadora, se le pueden colocar innumerables


operaciones pero eso queda a su imaginacin. Cualquier duda o sugerencia escriban
a mi email.

Você também pode gostar