FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
||||
|
||||
Convertir un string a modo de poderlo ejecutar...
Que tal, me encuentro en una situación cuanto dificil, lo que quiero hacer es lo siguiente:
por medio del sistema se genera una formula que paso a un campo de una tabla, por ejemplo: formula := '({valor1}*{valor2})/({valor3}*100)'; y lo que quiero hacer es que al usuario se le presente algo asi: Valor 1 = 10 Valor 2 = 40 Valor 3 = 3 y cuando el usuario escriba el valor de cada variable {valorx} y presione un boton, se ejecute esa formula sustituyendo {valor1} por 10 y asi sucesivamente que quede así: dValorFormula = (10*40)/(3*100); donde dValorFormula es de tipo Double; Alguien que pueda orientar para hacerlo o que me digo como le podria hacer, se los agradezco. |
#2
|
||||
|
||||
Saludos!
Para hacer algo asi, primero, tendrás que utilizar alguna rutina de Delphi sobre tratamiento de cadenas, como, por ejemplo, "AnsiReplaceText", y sustituir cada parámetro por los valores numéricos dados por el usuario, y después, una vez obtenida la expresión de forma correcta, viene lo mas dificil: analizar la cadena e ir calculando los valores según los operadores contenidos en ella (tendrás que hacerlo manualmente, mediante bucles, etc., porque Delphi no posee ninguna función que permita evaluar una expresión dada como cadena). Otra alternativa, si no quieres complicarte mucho, es utilizar un componente de terceros que te permita, precisamente, evaluar estas expresiones. Para mas información visita el siguiente hilo donde se trata el mismo tema: http://www.clubdelphi.com/foros/show...ar+expresiones Chao! Última edición por jmariano fecha: 10-08-2005 a las 23:49:07. |
#3
|
|||
|
|||
Tal vez lo que necesitas lo encuentres en
http://remobjects.com/page.asp?id={9A30A672-62C8-4131-BA89-EEBBE7E302E6} No sólo permite evaluar expresiones, sino "ejecutar" código Delphi variable. Es un excelente paquete. Recomendado. |
|
|
|