calculadora cientifica

Imagen de la calculadora

unit calculadora;

interface

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

type
  TForm1 = class(TForm)
    Edit1: TEdit;
    fon: TColorDialog;
    let: TColorDialog;
    boto: TColorDialog;
    Panel1: TPanel;
    Button1: TButton;
    Button5: TButton;
    Button9: TButton;
    Button13: TButton;
    Button2: TButton;
    Button6: TButton;
    Button10: TButton;
    Button14: TButton;
    Button15: TButton;
    Button18: TButton;
    Button12: TButton;
    Button11: TButton;
    Button7: TButton;
    Button8: TButton;
    Button4: TButton;
    Button3: TButton;
    Panel2: TPanel;
    Panel3: TPanel;
    Button16: TButton;
    Button17: TButton;
    Button19: TButton;
    Button20: TButton;
    Button21: TButton;
    Button22: TButton;
    Button23: TButton;
    Button24: TButton;
    Button25: TButton;
    Button26: TButton;
    Button27: TButton;
    Button28: TButton;
    Button29: TButton;
    Button30: TButton;
    Button31: TButton;
    Button32: TButton;
    Panel4: TPanel;
    RadioButton1: TRadioButton;
    RadioButton2: TRadioButton;
    RadioButton3: TRadioButton;
    RadioButton4: TRadioButton;
    Button33: TButton;
    Button34: TButton;
    Button35: TButton;
    TMainMenu1: TMainMenu;
    Edicion1: TMenuItem;
    N2: TMenuItem;
    N1: TMenuItem;
    Personalizar1: TMenuItem;
    Fondo1: TMenuItem;
    FPantalla1: TMenuItem;
    Pantalla1: TMenuItem;
    Panel5: TPanel;
    Button36: TButton;
    Button37: TButton;
    Button38: TButton;
    Button39: TButton;
    Button40: TButton;
    Button41: TButton;
    Button42: TButton;
    Label1: TLabel;
    Label2: TLabel;
    reloj: TTimer;
    procedure Button5Click(Sender: TObject);
    procedure Button9Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure Button6Click(Sender: TObject);
    procedure Button10Click(Sender: TObject);
    procedure Button3Click(Sender: TObject);
    procedure Button7Click(Sender: TObject);
    procedure Button11Click(Sender: TObject);
    procedure Button4Click(Sender: TObject);
    procedure Button8Click(Sender: TObject);
    procedure Button18Click(Sender: TObject);
    procedure Button12Click(Sender: TObject);
    procedure Button15Click(Sender: TObject);
    procedure Button13Click(Sender: TObject);
    procedure Button14Click(Sender: TObject);
    procedure Button16Click(Sender: TObject);
    procedure Button17Click(Sender: TObject);
    procedure Button32Click(Sender: TObject);
    procedure Button31Click(Sender: TObject);
    procedure Button20Click(Sender: TObject);
    procedure Button1Click(Sender: TObject);
    procedure Button23Click(Sender: TObject);
    procedure Button28Click(Sender: TObject);
    procedure Button33Click(Sender: TObject);
    procedure Button34Click(Sender: TObject);
    procedure Fondo1Click(Sender: TObject);
    procedure FPantalla1Click(Sender: TObject);
    procedure Pantalla1Click(Sender: TObject);
    procedure Button27Click(Sender: TObject);
    procedure Button29Click(Sender: TObject);
    procedure Button24Click(Sender: TObject);
    procedure N2Click(Sender: TObject);
    procedure N1Click(Sender: TObject);
    procedure Button21Click(Sender: TObject);
    procedure Button25Click(Sender: TObject);
    procedure Button26Click(Sender: TObject);
    procedure Button30Click(Sender: TObject);
    procedure Button35Click(Sender: TObject);
    procedure RadioButton2Click(Sender: TObject);
    procedure RadioButton4Click(Sender: TObject);
    procedure RadioButton3Click(Sender: TObject);
    procedure RadioButton1Click(Sender: TObject);
    procedure Label2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;
  cantidad1:Double;
  cantidad2:Double;
  Resultado:Double;
  opcion:Integer=0;
  ans:Double=0;
  longitud:Integer;
  auxiliar:String;
  c2:Integer=0;
  func,FTdeg,FTrad:Extended;
  expo:Integer;
  copia:String;
  p:Integer=0;

implementation

{$R *.dfm}

procedure TForm1.Button5Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’2′;
  end;

procedure TForm1.Button9Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’3′;
  end;

procedure TForm1.Button2Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’4′;
  end;

procedure TForm1.Button6Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’5′;
  end;

procedure TForm1.Button10Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’6′;
  end;

procedure TForm1.Button3Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’7′;
  end;

procedure TForm1.Button7Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’8′;
  end;

procedure TForm1.Button11Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’9′;
  end;

procedure TForm1.Button4Click(Sender: TObject);
  begin
    Edit1.Text:=Edit1.Text+’0′;
  end;

procedure TForm1.Button8Click(Sender: TObject);
  begin
    if p=0 then
    begin
      p:=1;
      Edit1.Text:=Edit1.Text+’.’;
    end
  end;

procedure TForm1.Button18Click(Sender: TObject);
  begin
    c2:=0;
    p:=0;
    opcion:=1;
    cantidad1:=StrToFloat(Edit1.text);
    Edit1.Text:=”;
  end;

procedure TForm1.Button12Click(Sender: TObject);
var
  C:Integer;
  begin
    if c2=0 then
    begin
      if opcion=1 then
      begin
        cantidad2:=StrToFloat(Edit1.text);
        Edit1.Text:=”;
        Resultado:=cantidad1+cantidad2;
        ans:=Resultado;
      end
      else if opcion=2 then
      begin
        cantidad2:=StrToFloat(Edit1.text);
        Edit1.Text:=”;
        Resultado:=cantidad1-cantidad2;
        ans:=Resultado;
      end
      else if opcion=3 then
      begin
        cantidad2:=StrToFloat(Edit1.text);
        Edit1.Text:=”;
        Resultado:=cantidad1*cantidad2;
        ans:=Resultado;
      end
      else if opcion=4 then
      begin
        cantidad2:=StrToFloat(Edit1.text);
        Edit1.Text:=”;
        Resultado:=cantidad1/cantidad2;
        ans:=Resultado;
      end
      else if opcion=5 then
      begin
        Resultado:=1;
        longitud:=StrToInt(Edit1.text);
        Edit1.Text:=”;
        if longitud>0 then
        begin
          for C:=0 to longitud-1 do
          begin
              Resultado:=Resultado*10;
          end
        end;
        Resultado:=Resultado*cantidad1;
        ans:=Resultado;
      end
      else if opcion=6 then
      begin
        cantidad2:=strToInt(Edit1.text);
        Resultado:=LogN(cantidad2, cantidad1);
        ans:=Resultado;
      end
      else if opcion=7 then
      begin
        cantidad2:=strToFloat(Edit1.text);
        Edit1.Text:=”;
        Resultado:=cantidad1;
        while Resultado>=cantidad2 do
        begin
          Resultado:=Resultado-cantidad2;
        end;
        Edit1.Text:=FloatToStr(cantidad1-Resultado);
        ans:=cantidad1-Resultado;
      end
      else if opcion=8 then
      begin
        cantidad2:=strToFloat(Edit1.text);
        Edit1.Text:=”;
        Resultado:=power(cantidad1, cantidad2);
        ans:=Resultado;
      end
      else begin
        Resultado:=ans;
      end;
      c2:=1;
    end
    else
    begin
      if opcion=1 then
      begin
        Edit1.Text:=”;
        Resultado:=Resultado+cantidad2;
        ans:=Resultado;
      end
      else if opcion=2 then
      begin
        Edit1.Text:=”;
        Resultado:=Resultado-cantidad2;
        ans:=Resultado;
      end
      else if opcion=3 then
      begin
        Edit1.Text:=”;
        Resultado:=Resultado*cantidad2;
        ans:=Resultado;
      end
      else if opcion=4 then
      begin
        Edit1.Text:=”;
        Resultado:=Resultado/cantidad2;
        ans:=Resultado;
      end
      else
        begin
           Resultado:=ans;
        end
    end;
    Edit1.text:=FloatToStr(Resultado);
  end;

procedure TForm1.Button15Click(Sender: TObject);
  begin
    c2:=0;
    p:=0;
    opcion:=2;
    cantidad1:=StrToFloat(Edit1.text);
    Edit1.Text:=”;
  end;

procedure TForm1.Button13Click(Sender: TObject);
  begin
    c2:=0;
    p:=0;
    cantidad1:=StrToFloat(Edit1.text);
      opcion:=3;
    Edit1.Text:=”;
  end;

procedure TForm1.Button14Click(Sender: TObject);
  begin
    c2:=0;
    p:=0;
    cantidad1:=StrToFloat(Edit1.text);
    opcion:=4;
    Edit1.Text:=”;
  end;

procedure TForm1.Button16Click(Sender: TObject);
  begin
    Edit1.text:=”;
    cantidad2:=0;
    Resultado:=0;
  end;

procedure TForm1.Button17Click(Sender: TObject);
var
  C:Integer;
begin
  longitud:=Edit1.GetTextLen;
  if Edit1.Text[longitud]=’.’ then
  begin
    p:=0;
  end;
  auxiliar:=Edit1.Text;
  Edit1.Text:=”;
  if longitud>0 then
    begin
      for C:=0 to longitud-1 do
      begin
        Edit1.Text:=Edit1.Text+auxiliar[C];
      end
    end
end;

procedure TForm1.Button32Click(Sender: TObject);
begin
    func:=StrToFloat(Edit1.text);
    Edit1.text:=”;
    FTdeg:=Sin(func*Pi/180);
    Edit1.text:=FloatToStr(FTdeg);
end;

procedure TForm1.Button31Click(Sender: TObject);
begin
    func:=StrToFloat(Edit1.text);
    Edit1.text:=”;
    FTdeg:=Sin((90-func)*Pi/180);
    Edit1.text:=FloatToStr(FTdeg);
end;

procedure TForm1.Button20Click(Sender: TObject);
  begin
    func:=StrToFloat(Edit1.text);
    Edit1.text:=”;
    FTdeg:=Tan(func*Pi/180);
    Edit1.text:=FloatToStr(FTdeg);
  end;

procedure TForm1.Button1Click(Sender: TObject);
begin
  Edit1.Text:=Edit1.Text+’1′;
end;

procedure TForm1.Button23Click(Sender: TObject);
begin
    c2:=0;
    opcion:=5;
    cantidad1:=StrToFloat(Edit1.text);
    Edit1.Text:=”;
end;

procedure TForm1.Button28Click(Sender: TObject);
begin
    func:=StrToFloat(Edit1.text);
    Edit1.text:=”;
    FTdeg:=arcSin(func);
    Edit1.text:=FloatToStr(FTdeg*180/Pi);
end;

procedure TForm1.Button33Click(Sender: TObject);
begin
    func:=StrToFloat(Edit1.text);
    Edit1.text:=”;
    FTdeg:=arcCos(func);
    Edit1.text:=FloatToStr((FTdeg*180/Pi));
end;

procedure TForm1.Button34Click(Sender: TObject);
begin
    func:=StrToFloat(Edit1.text);
    Edit1.text:=”;
    FTdeg:=arcTan(func);
    Edit1.text:=FloatToStr(FTdeg*180/Pi);
end;

procedure TForm1.Fondo1Click(Sender: TObject);
begin
  if fon.Execute then
  begin
    Form1.Color := fon.Color;
    Panel1.Color:=fon.Color;
    Panel2.Color:=fon.Color;
    Panel3.Color:=fon.Color;
    Panel4.Color:=fon.Color;
  end
end;

procedure TForm1.FPantalla1Click(Sender: TObject);
begin
  if boto.Execute then
  begin
    Edit1.Color := boto.Color;
  end
end;

procedure TForm1.Pantalla1Click(Sender: TObject);
begin
 if let.Execute then
  begin
    Edit1.Font.Color := let.Color;
  end
end;

procedure TForm1.Button27Click(Sender: TObject);
var
  C:Integer;
begin
  cantidad1:=strToFloat(Edit1.text);
  Resultado:=1;
  for C:=0 to 1 do
  begin
    Resultado:=Resultado*cantidad1;
  end;
  Edit1.text:=FloatToStr(Resultado);
end;

procedure TForm1.Button29Click(Sender: TObject);
var
  C:Integer;
begin
 cantidad1:=strToFloat(Edit1.text);
  Resultado:=1;
  for C:=0 to 2 do
  begin
    Resultado:=Resultado*cantidad1;
  end;
  Edit1.text:=FloatToStr(Resultado);
end;

procedure TForm1.Button24Click(Sender: TObject);
begin
  cantidad1:=strToFloat(Edit1.Text);
  Edit1.Text:=”;
  Resultado:=1/cantidad1;
  Edit1.Text:=FloatToStr(Resultado);
end;

procedure TForm1.N2Click(Sender: TObject);
begin
  N1.Enabled:=true;
  copia:=Edit1.text;
end;

procedure TForm1.N1Click(Sender: TObject);
begin
  Edit1.Text:=copia;
end;

procedure TForm1.Button21Click(Sender: TObject);
begin
  c2:=0;
  opcion:=7;
  cantidad1:=strToFloat(Edit1.text);
  Edit1.Text:=”;
end;

procedure TForm1.Button25Click(Sender: TObject);
begin
  c2:=0;
  opcion:=8;
  cantidad1:=strToFloat(Edit1.text);
  Edit1.Text:=”;
end;

procedure TForm1.Button26Click(Sender: TObject);
begin
  cantidad1:=strToFloat(Edit1.text);
  Edit1.Text:=”;
  Resultado:=Ln(cantidad1);
  ans:=Resultado;
  Edit1.Text:=FloatToStr(Resultado);
end;

procedure TForm1.Button30Click(Sender: TObject);
begin
  cantidad1:=strToFloat(Edit1.text);
  Edit1.Text:=”;
  Resultado:=Log10(cantidad1);
  ans:=Resultado;
  Edit1.Text:=FloatToStr(Resultado);
end;

procedure TForm1.Button35Click(Sender: TObject);
begin
  opcion:=6;
  c2:=0;
  cantidad1:=strToFloat(Edit1.text);
  Edit1.Text:=”;
end;

procedure TForm1.RadioButton2Click(Sender: TObject);
begin
  Button1.Enabled:=true;
  Button2.Enabled:=true;
  Button3.Enabled:=true;
  Button4.Enabled:=true;
  Button5.Enabled:=true;
  Button6.Enabled:=true;
  Button7.Enabled:=true;
  Button8.Enabled:=true;
  Button9.Enabled:=true;
  Button10.Enabled:=true;
  Button11.Enabled:=true;
  Button12.Enabled:=true;
  Button13.Enabled:=true;
  Button14.Enabled:=true;
  Button15.Enabled:=true;
  Button16.Enabled:=true;
  Button17.Enabled:=true;
  Button18.Enabled:=true;
  Button19.Enabled:=true;
  Button20.Enabled:=true;
  Button21.Enabled:=true;
  Button22.Enabled:=true;
  Button23.Enabled:=true;
  Button24.Enabled:=true;
  Button25.Enabled:=true;
  Button26.Enabled:=true;
  Button27.Enabled:=true;
  Button28.Enabled:=true;
  Button29.Enabled:=true;
  Button30.Enabled:=true;
  Button31.Enabled:=true;
  Button32.Enabled:=true;
  Button33.Enabled:=true;
  Button34.Enabled:=true;
  Button35.Enabled:=true;
  Button36.Enabled:=true;
  Button37.Enabled:=false;
  Button38.Enabled:=false;
  Button39.Enabled:=false;
  Button40.Enabled:=false;
  Button41.Enabled:=false;
  Button42.Enabled:=false;
end;

procedure TForm1.RadioButton4Click(Sender: TObject);
begin
  Button1.Enabled:=true;
  Button2.Enabled:=false;
  Button3.Enabled:=false;
  Button4.Enabled:=true;
  Button5.Enabled:=false;
  Button6.Enabled:=false;
  Button7.Enabled:=false;
  Button8.Enabled:=false;
  Button9.Enabled:=false;
  Button10.Enabled:=false;
  Button11.Enabled:=false;
  Button12.Enabled:=true;
  Button13.Enabled:=true;
  Button14.Enabled:=true;
  Button15.Enabled:=true;
  Button16.Enabled:=true;
  Button17.Enabled:=true;
  Button18.Enabled:=true;
  Button19.Enabled:=true;
  Button20.Enabled:=false;
  Button21.Enabled:=true;
  Button22.Enabled:=false;
  Button23.Enabled:=false;
  Button24.Enabled:=true;
  Button25.Enabled:=true;
  Button26.Enabled:=true;
  Button27.Enabled:=true;
  Button28.Enabled:=false;
  Button29.Enabled:=true;
  Button30.Enabled:=true;
  Button31.Enabled:=false;
  Button32.Enabled:=false;
  Button33.Enabled:=false;
  Button34.Enabled:=false;
  Button35.Enabled:=true;
  Button36.Enabled:=true;
  Button37.Enabled:=false;
  Button38.Enabled:=false;
  Button39.Enabled:=false;
  Button40.Enabled:=false;
  Button41.Enabled:=false;
  Button42.Enabled:=false;

end;

procedure TForm1.RadioButton3Click(Sender: TObject);
begin
  Button1.Enabled:=true;
  Button2.Enabled:=true;
  Button3.Enabled:=true;
  Button4.Enabled:=true;
  Button5.Enabled:=true;
  Button6.Enabled:=true;
  Button7.Enabled:=false;
  Button8.Enabled:=false;
  Button9.Enabled:=true;
  Button10.Enabled:=true;
  Button11.Enabled:=false;
  Button12.Enabled:=true;
  Button13.Enabled:=true;
  Button14.Enabled:=true;
  Button15.Enabled:=true;
  Button16.Enabled:=true;
  Button17.Enabled:=true;
  Button18.Enabled:=true;
  Button19.Enabled:=true;
  Button20.Enabled:=false;
  Button21.Enabled:=true;
  Button22.Enabled:=false;
  Button23.Enabled:=false;
  Button24.Enabled:=true;
  Button25.Enabled:=true;
  Button26.Enabled:=true;
  Button27.Enabled:=true;
  Button28.Enabled:=false;
  Button29.Enabled:=true;
  Button30.Enabled:=true;
  Button31.Enabled:=false;
  Button32.Enabled:=false;
  Button33.Enabled:=false;
  Button34.Enabled:=false;
  Button35.Enabled:=true;
  Button36.Enabled:=true;
  Button37.Enabled:=false;
  Button38.Enabled:=false;
  Button39.Enabled:=false;
  Button40.Enabled:=false;
  Button41.Enabled:=false;
  Button42.Enabled:=false;
end;

procedure TForm1.RadioButton1Click(Sender: TObject);
begin
  Button1.Enabled:=true;
  Button2.Enabled:=true;
  Button3.Enabled:=true;
  Button4.Enabled:=true;
  Button5.Enabled:=true;
  Button6.Enabled:=true;
  Button7.Enabled:=true;
  Button8.Enabled:=false;
  Button9.Enabled:=true;
  Button10.Enabled:=true;
  Button11.Enabled:=true;
  Button12.Enabled:=true;
  Button13.Enabled:=true;
  Button14.Enabled:=true;
  Button15.Enabled:=true;
  Button16.Enabled:=true;
  Button17.Enabled:=true;
  Button18.Enabled:=true;
  Button19.Enabled:=true;
  Button20.Enabled:=false;
  Button21.Enabled:=true;
  Button22.Enabled:=false;
  Button23.Enabled:=false;
  Button24.Enabled:=true;
  Button25.Enabled:=true;
  Button26.Enabled:=true;
  Button27.Enabled:=true;
  Button28.Enabled:=false;
  Button29.Enabled:=true;
  Button30.Enabled:=true;
  Button31.Enabled:=false;
  Button32.Enabled:=false;
  Button33.Enabled:=false;
  Button34.Enabled:=false;
  Button35.Enabled:=true;
  Button36.Enabled:=true;
  Button37.Enabled:=true;
  Button38.Enabled:=true;
  Button39.Enabled:=true;
  Button40.Enabled:=true;
  Button41.Enabled:=true;
  Button42.Enabled:=true;
end;

procedure TForm1.Label2Click(Sender: TObject);
begin
  if reloj.Enabled then
  begin
    Label2.Caption:=’Reloj activo’;
  end
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
  ShowMessage (‘!Calculadora Programada Por Malandres!’);
end;

procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
  ShowMessage (‘!Cerrando la aplicacion!’);
end;

end.

6 comentarios

  1. Eres otro inche nivel malandres, felicidades por tanto empeño…

  2. preved ot slesarya Vasi

  3. No entendi este ultimo mensaje, yo solo hablo español(mi lengua natal) e ingles (un 40%, pero lo entiendo).
    Sorry, I did not understand last message, I only speak two languages: spanish and english (more or less 40 per cent, I can understand it).

  4. sos un mostro!!!!!!!!!!!!!!!!!!!!!!!!!!!

  5. muchas felicidades pero podrias decir k significa el radiobutton1,radiobutton2,radiobutton3,radiobutton4????? pork tantos?? me podrias ayudar con el codigo para sacar pi(3.141592)

  6. muchas felicidades pero podrias decir k significa el radiobutton1,radiobutton2,radiobutton3,radiobutton4????? pork tantos?? me podrias ayudar con el codigo para sacar pi(3.141592)

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

A %d blogueros les gusta esto: