Este es el codigo de una calculadora sencilla (con las 4 operaciones basicas) que utiliza cifras con punto flotante (45.23, 12.58, etc.) programada en Delphi 7. Espero les pueda servir de algo.
unit calculadora;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
Button17: TButton;
Button18: TButton;
Edit2: TEdit;
procedure Button1Click(Sender: TObject);
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);
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;
C:Integer;
implementation
{$R *.dfm}
procedure TForm1.Button1Click(Sender: TObject);
begin
Edit1.Text:=Edit1.Text+’1′;
end;
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
Edit1.Text:=Edit1.Text+’.’;
end;
procedure TForm1.Button18Click(Sender: TObject);
begin
opcion:=1;
cantidad1:=StrToFloat(Edit1.text);
Edit1.Text:=»;
end;
procedure TForm1.Button12Click(Sender: TObject);
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 begin
Resultado:=ans;
end;
Edit1.text:=FloatToStr(Resultado);
end;
procedure TForm1.Button15Click(Sender: TObject);
begin
opcion:=2;
cantidad1:=StrToFloat(Edit1.text);
Edit1.Text:=»;
end;
procedure TForm1.Button13Click(Sender: TObject);
begin
cantidad1:=StrToFloat(Edit1.text);
opcion:=3;
Edit1.Text:=»;
end;
procedure TForm1.Button14Click(Sender: TObject);
begin
cantidad1:=StrToFloat(Edit1.text);
opcion:=4;
Edit1.Text:=»;
end;
procedure TForm1.Button16Click(Sender: TObject);
begin
Edit1.text:=»;
cantidad1:=0;
cantidad2:=0;
Resultado:=0;
opcion:=0;
end;
procedure TForm1.Button17Click(Sender: TObject);
begin
longitud:=Edit1.GetTextLen;
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;
end.
Filed under: Delphi |
muy bueno
oye…muchas gracias…era exactamente lo que estaba buscando…se te agradece mucho
no puedo hacer correo me puedes indicar q hace cada procedimiento o mostrar en un grafico lo que cada boton hace profa y gracias
podrias mostrarme el formulariode esta calculadora por favor?
oie necesito ke me explikes xq tienes 18 botones, ke es lo ke hace el boton 18 porfa si me puedes explikr??? me urge
procedure TForm1.Button18Click(Sender: TObject);
begin
opcion:=1;
cantidad1:=StrToFloat(Edit1.text);
Edit1.Text:=”;
end;
ahi podras ver k se le asigna la opcion 1 y esa opcion es la de «suma», por lo que el boton 18 lo que realiza es una adicion. Saludos.
aaa esk me salen errores en el Edit1.Text:=Edit1.Text+’1′;
yo le fui poniendo al boton 1 boton 1
y asi sucesivamente
y la evrdad ya no entiendo esk apenas empiezo con esto del delphi y me hago un´pokito de bolas xq yo solo utilize 17 botones entonces ya no se ke onda auxilio!!!!!!!!!!!!!!!!!!!!!!!!!!
jajaj ese problema ya lo resolvi
ahora tengo otro, cuando teclea un num
y le kiero sumar otro desaparece el num anterior y no hace ninguna operacion ¿?
hola los odigo muy bien pero un ejemplo yo nunca e tocado el programa de delphi por que no hacen un tutorial donde empiese desde cero ejemplo abrir el programa nuevo proyecto elegino que tipo de proyecto vamos hacer y eso si tiene un gia como esta que explico me la puede pasar por correo es urgente este es mi correo.
dreamjoel@live.com
Hey una pregunta… todo me sale bien, hasta el momento q debo colocar decimales, me sale un error y me botea el proyecto… q se debe hacer para evitar esto..?
agradeceria tu ayuda..! ^^
para que es el boton 17
muchas gracias, realmente es muy servicial… lo que andaba buscando…
oie mira lo que nesesito es que cada ves que le el boton de + valla sumando por que como lo tengo si le doy 2+2+2 me da 4 en lugar que de 6 no se como hacerlo
necesito saber el codigo para radio,seno y coseno porfa. apenas inicio en delphi y porfavor el codigo para hacer k aparescan numeros sucesivos x ejemplo 5+5+5 y asta lo ultimo apretar el = y k salga el resultado de esta suma osea 15
a esto yo llamo dejarlo expecificamente esplicado
que hace cada boton? ya saber mas o menos la logica, es que soy nuevo en esto de delphi (:
hola esta muy bueno pero alguien me puede decir el codigo k se utiliza para bloquerar el texto en donde da mis resultados
Como le agrego cambiar de binario a decimal y a hexadecimal, me pueden ayudar por favor
Amigo no me corre cual seria el problema