Get Even More Visitors To Your Blog, Upgrade To A Business Listing >>

Creando una Calculadora

Hola Amigos hoy les traigo un pequeño tutorial de cómo realizar una Calculadora.


Nuestra calculadora tendrá las Operaciones Básicas.

  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 código 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 botón 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: División 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 números en el Memo colocado en nuestra forma y queden uno consecutivo del otro. Una vez terminado este paso comenzaremos con los botones de los número colocaremos esta línea de código en el evento OnClick del botón.

procedure TForm1.Button13Click(Sender: TObject);
begin
Numero('1');
end;

Esto colocara el número dentro del memo mediante la llamada al procedimiento Numero creado con anterioridad. Realice esta misma operación hasta el número 9 cambiando dentro del parenticis el número.

Comenzaremos con los botones de las Operaciones todos llevaran el mismo código el procedimiento Operaciones será el encargado de definir cual botón fue pulsado por el usuario, mediante la propiedad Tag del botón.

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 condición requerida al principio del procedimiento para saber si fue pulsado o no el botón. En este procedimiento sale a relucir los cambios de valor de nuestros componentes, como verán 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 operación Igual. Simplemente este botón 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 botón (Pto)  de nuestra calculadora  Simplemente creamos la condición de que si fue pulsado el botón y nuestro display existe el valor 0 colocamos el punto después del cero y continuamos con los demás valores y si no existe colocamos el punto solamente y continuamos con los demás 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 botón que reinicie nuestros valores es decir un botón AC colocamos estas líneas en el evento OnClick  del botón.

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 imaginación. Cualquier duda o sugerencia escriban a mi email.

[email protected]


This post first appeared on Delphi, please read the originial post: here

Share the post

Creando una Calculadora

×

Subscribe to Delphi

Get updates delivered right to your inbox!

Thank you for your subscription

×