Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 08-09-2006
JesusG JesusG is offline
Miembro
 
Registrado: jul 2006
Posts: 14
Poder: 0
JesusG Va por buen camino
Problema al evaluar una expresión matemática

Saludos. Estoy buscando un metodo sencillo para evaluar una expresion matematica, por ejemplo, en un formulario con un TLabel y un TButton y añadiendo Math a uses, tengo:

procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Label1.Caption:=floattostr(23/7+sqrt(2));
end;

Y funciona correctamente. Sin embargo lo que quiero es que el usuario introduzca su propia expresion para envaluar. Añado un TEdit y pongo:

procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s:=form1.Edit1.Text;
form1.Label1.Caption:=floattostr(s);
end;

Dandome error. ¿Alguna sugerencia?.
Gracias.
Responder Con Cita
  #2  
Antiguo 08-09-2006
Avatar de marceloalegre
[marceloalegre] marceloalegre is offline
Miembro Premium
 
Registrado: abr 2005
Ubicación: Mar del Plata - Argentina
Posts: 448
Poder: 20
marceloalegre Va por buen camino
Post

Cita:
Empezado por JesusG
procedure TForm1.Button1Click(Sender: TObject);
begin
form1.Label1.Caption:=floattostr(23/7+sqrt(2));
end;

Claro que no funciona, sucede lo siguiente: (voy a comentar tu codigo)
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
s: string;
begin
s:=form1.Edit1.Text; //aqui asignas a una variable string un string... esta correcto, no se si es necesario, pero es correcto.
form1.Label1.Caption:=floattostr(s);//el problema esta aca... ya que floattostr convierte de float a string, y s ya es un string!... donde no necesita conversión. 
end;

Ademas no es tan simple hacer que en el edit se maneje cualquier expresion, ya que aparte de las cuestiones tecnicas, si es usuario escribe mal la expresion no funciona, crea procedimientos/func. con los que quieras realizar en tu programa.


Saludos!

Última edición por marceloalegre fecha: 08-09-2006 a las 15:31:43.
Responder Con Cita
  #3  
Antiguo 08-09-2006
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.282
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
Para evaluar una expresión matemática escrita como cadena puedes utilizar alguno de los múltiples evaluadores gratuítos que hay por la red, delphi no puede hacerlo directamente.

Revisa este link.

Aquí tienes algunos ejemplos: 1 y 2.

NOTA: El segundo puedes comprobar en la demo que funciona perfectamente el ejempo que comentas. SOL=4,69992784808738
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
Respuesta



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
Problema con operacion matematica y duda jandres Varios 1 04-07-2006 19:35:23
Evaluar un Proyecto Migpal Debates 2 24-11-2005 13:23:05
Evaluar una consulta o un campo. Telemaco PHP 1 19-08-2004 23:27:40
Evaluar condiciones con Oracle PL/SQL Tino SQL 5 20-07-2004 23:01:56
Despeje de variable en expresión matemática rsotolongo Varios 7 14-06-2004 11:37:24


La franja horaria es GMT +2. Ahora son las 11:20:26.


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