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. |
Cita:
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! |
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 :D |
La franja horaria es GMT +2. Ahora son las 22:35:20. |
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