Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Bibliotecas de código fuente
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

 
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 27-07-2016
jhony2201 jhony2201 is offline
Registrado
NULL
 
Registrado: jul 2016
Posts: 3
Poder: 0
jhony2201 Va por buen camino
Problemas con Calculadora en Delphi

Buenos días a todos, soy nuevo en el Club,mi nombre es Juan Marcelo, soy estudiante y vivo en Salta Argentina, como actividad nos dieron que hagamos una calculadora.
Estoy teniendo un problema con el cambio de signo +-, e probado con algunos códigos y no logro hacer que funcione correctamente.
En el código que esta más abajo, la calculadora coloca el signo menos y lo saca; pero al realizar una operación por ejemplo:
12+(-6) me arroja como resultado 0. No se cual es el error. Si alguien me puede ayudar a resolver este problema.
Desde ya muchas gracias.

Código de la calculadora:

Código Delphi [-]
unit UCalculadora;

interface

uses
  Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
  Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls;

type
  TForm1 = class(TForm)
    lblvisor: TLabel;
    btn1: TButton;
    btn2: TButton;
    btn3: TButton;
    btn4: TButton;
    btn5: TButton;
    btn6: TButton;
    btn7: TButton;
    btn8: TButton;
    btn9: TButton;
    btn0: TButton;
    btn11: TButton;
    btn12: TButton;
    btn13: TButton;
    btn14: TButton;
    btn15: TButton;
    btn10: TButton;
    btn16: TButton;
    btn17: TButton;
    btn18: TButton;
    btn19: TButton;
    btn21: TButton;
    btn22: TButton;
    procedure btn0Click(Sender: TObject);
    procedure btn15Click(Sender: TObject);
    procedure FormActivate(Sender: TObject);
    procedure btn10Click(Sender: TObject);
    procedure btn11Click(Sender: TObject);
    procedure btn12Click(Sender: TObject);
    procedure btn13Click(Sender: TObject);
    procedure btn14Click(Sender: TObject);
    procedure btn16Click(Sender: TObject);
    procedure btn17Click(Sender: TObject);
    procedure btn18Click(Sender: TObject);
    procedure btn19Click(Sender: TObject);
    procedure btn21Click(Sender: TObject);
    procedure btn22Click(Sender: TObject);


    private
    { Private declarations }
    op1,op2,op3:Extended;
    op:Integer;
    estadovisor:Boolean;
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.btn0Click(Sender: TObject);
begin
     if (Sender is TButton) and (lblvisor.Caption='0') then
      lblvisor.Caption:=(sender as TButton).Caption
      else if not estadovisor then
     lblvisor.Caption:=lblvisor.Caption+ (sender as TButton).Caption
     else
         begin
         lblvisor.Caption:=(Sender as TButton).Caption;
         estadovisor:=False;
         end;
end;

procedure TForm1.btn10Click(Sender: TObject);
begin
    op2:=StrToFloat(lblvisor.Caption);
     case op of
     0:lblvisor.Caption:= FloatToStr(op1+op2);
     1:lblvisor.Caption:= FloatToStr(op1-op2);
     2:lblvisor.Caption:= FloatToStr(op1*op2);
     3: if op2<>0 then lblvisor.Caption:= FloatToStr(op1/op2);
     4: lblvisor.Caption:= FloatToStr(Sqr(op1));
     5: lblvisor.Caption:= FloatToStr(1/op1);
     6: lblvisor.Caption:= FloatToStr((op1*op2)/100);
     7: lblvisor.Caption:= FloatToStr(Sqrt(op1));

end;
end;

procedure TForm1.btn11Click(Sender: TObject);
begin
op1:=StrToFloat(lblvisor.Caption);
op:=0  ;
estadovisor:=True;
end;

procedure TForm1.btn12Click(Sender: TObject);
begin
 op1:=StrToFloat(lblvisor.Caption);
 op:=1;
estadovisor:=True;
end;

procedure TForm1.btn13Click(Sender: TObject);
begin
    op1:=StrToFloat(lblvisor.Caption);
 op:=2;
estadovisor:=True;
end;

procedure TForm1.btn14Click(Sender: TObject);
begin
  op1:=StrToFloat(lblvisor.Caption);
 op:=3;
estadovisor:=True;
end;

procedure TForm1.btn15Click(Sender: TObject);
begin
    if Pos (',', lblvisor.Caption)=0 then
    lblvisor.Caption:=lblvisor.Caption+',';

end;

procedure TForm1.btn16Click(Sender: TObject);
begin
      lblvisor.Caption:='0';
      op1:=0;
      op2:=0;
      op:=-1;
end;

procedure TForm1.btn17Click(Sender: TObject);
begin
   op1:=StrToFloat(lblvisor.Caption);
 op:=4;
estadovisor:=True
end;

procedure TForm1.btn18Click(Sender: TObject);
begin
    op1:=StrToFloat(lblvisor.Caption);
 op:=5;
estadovisor:=True
end;

procedure TForm1.btn19Click(Sender: TObject);
begin
     op1:=StrToFloat(lblvisor.Caption);
 op:=6;
estadovisor:=True
end;

procedure TForm1.btn21Click(Sender: TObject);
begin
    op1:=StrToFloat(lblvisor.Caption);
 op:=7;
estadovisor:=True
end;

procedure TForm1.btn22Click(Sender: TObject);
begin
   op1:=StrToFloat(lblvisor.Caption);
   if op1<> 0 then
   lblvisor.Caption:= FloatToStr(op1*(-1));
estadovisor:=True
end;

procedure TForm1.FormActivate(Sender: TObject);
begin
           estadovisor:=False;
end;


end.

Última edición por Casimiro Notevi fecha: 27-07-2016 a las 14:06:13.
Responder Con Cita
 


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Calculadora hecha en delphi alquimista Varios 35 29-12-2014 20:04:03
¿Como mostrar el calculo hecho por una calculadora?, realizada en Delphi Subliminalz Varios 5 30-04-2013 19:02:49
Calculadora Cientifica Gráfica en Delphi, paradox y OpenGL Apokalipsis Varios 5 26-01-2011 08:09:57
Calculadora sebaguillen Varios 17 28-08-2007 16:27:23
Calculadora en delphi 7 eudy.net Varios 15 10-03-2007 06:35:02


La franja horaria es GMT +2. Ahora son las 12:35:00.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi