Ver Mensaje Individual
  #10  
Antiguo 13-04-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Reputación: 19
Chris Va por buen camino
Según entiendo, lo que quiere es un método o forma de interpretar la formula introducida por el usuario. Hacer los cálculos respectivos y presentar el resultado. Lamentablemente, directamente desde Delphi no puedes interpretar o evaludar una formula matemática intruducida en tiempo de ejecución así por así. Pero como siempre, los componente de terceros vienen al rescate. Creo que los componente JEDI traen un interprete de formulas. Otro que conozco, es FastScript.

También existe la posibilidad de ejecutar la fomula intruducida directamente en el servidor de base de datos, si es que estás utilizando uno. La formula solo se ejecutaría en el registro activo o en el grupo de registros que corresponda al caso. Para aclarar lo anterior, te dejo el siguiente código:

Código Delphi [-]
var
    formula_del_usuario: String; // ((campo_1 * campo_2) * 0.20)
begin

    formula_del_usuario := TextInput.Text;
    
    // ejecutar en el servidor la formula intruducida por el usuario.
    ComponenteDeConexion.SQL := 'select (' + formula_del_usuario + ') as resultado_formula ' + 
                                'from TablaUno where TablaUno.RecordID = ' RegistroActivo;
    
    // ... ejecuar la consulta y presentar el resultado ..

Espero haberte ayudado.

Saludos,
Chris
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita