FTP | CCD | Buscar | Trucos | Trabajo | Foros |
|
Registrarse | FAQ | Miembros | Calendario | Guía de estilo | Temas de Hoy |
|
Herramientas | Buscar en Tema | Desplegado |
#1
|
|||
|
|||
Formula creada por el usuario.
Hola amigos
He buscado en el foro y no encentro como hacer lo siguiente: Necesito que el usuario defina una formula (X) con los campos que se encuentren en una base de datos. bd.resultadodeformula = ( (bd.campo1 * bd.campo2) / bd.campo3 ) * 100 o db.resultadodeformula = ((bd.campo1 + bd.campo2 ) / bd.campo3) * 100 Es decir que el usuario final pueda definir la formula que mejor crea con los campo de una base de datos para después en otro proceso capturar esos campos y poder entregar el resultado de la formula. Gracias por los consejos. NeoNew
__________________
Pre-Alpha |
#2
|
||||
|
||||
Hola
Y cual es el problema?????. Saludos
__________________
Siempre Novato |
#3
|
|||
|
|||
Quiero que el usuario en una caja meta la formula haciendo referencia a los campo de la base de datos y no se como hacer eso.
__________________
Pre-Alpha |
#4
|
||||
|
||||
Hola
Voy a tratar de entender, solo tratar. Tienes una base de datos (la cual algun dia nos diras cual es). Tienes 3 campos (los cuales suponemos son o integer o float), solo suponemos. Tienes una Caja (no sabemos si es un edit un memo o de carton). Te recomiendo que nos des datos, hacer lo que quieres es tan sencillo que no se por donde empezar. Danos detalles, recuerda que las bases de datos varían en su manera de entregar la información, cuando pides algo genérico nunca te va a funcionar, seria muy raro. Saludos PD: Con gusto te hago un ejemplo si me ayudas
__________________
Siempre Novato |
#5
|
||||
|
||||
Hola
Empecemos algo generico: Coloquemos los datos de los campos: Bien, ahora que sigue?. Saludos
__________________
Siempre Novato |
#6
|
||||
|
||||
Hola
Entremos los datos: Ahora, esto en que evento se hará?. Si me voy equivocando me dices.... Saludos
__________________
Siempre Novato |
#7
|
||||
|
||||
Hola
Tambien podemos hacer esto mas interesante colocando unos edit que nos definan la operacion: Con esto el usuario podra definir la operacion. Como estoy aprendiendo..... Saludos PD: Me gustaria saber que es lo que tratamos de hacer
__________________
Siempre Novato |
#8
|
|||
|
|||
Ops. (siento regañado)
Pido disculpas Tratare de explicar nuevamente. Estoy en la etapa de análisis de como podre hacer lo que quiero. Defino una pantalla para capturar una formula la cual tendrá un código, un nombre, unas variables o campos integer que van de 1 a 10 y un resultado. En el resultado quiero poder hacer que el usuario final pueda definir que operaciones quiere y que campos para obtener dicho resultado. -Captura de Formula----------------------------------------------- Codigo Formula....[729501] Nombre Formula.. [Promedio de visitas] NombreCampo1... [Visitas realizadas] ...Valor [ 57] NombreCampo2... [Visitas esperadas]... Valor [200] NombreCampo3... [promedio ]............. Valor [100] . . . . . . NombreCampoN Valor NombreFormula... [Promedio visitas ] Formulacion........ [ (Visitas realizadas / Visitas esperadas)*promedio ] Resultado [28.5] ---------------------------------------------------------------- Explico: Codigo de formula: Se Capturado Nombre formula : Se Captura NombreCampo1 : Se captura Valor : Se captura y es el valor asociado al campo1. NombreCampo2 : Se captura Valor : Se captura y es el valor asociado al campo2. NombreCampo3 : Se captura Valor : Se captura y es el valor asociado al campo3. NombreCampoN : Se captura Valor : Se captura y es el valor asociado al campoN. NombreFormula : Es una nombre que el usuario da a la formula. Formulacion : Es donde el usuario da la formula escogiendo que campos quiere usar y que operaciones quiere realizar con ellos para obtener un resultado. Resultado :Es el resultado que el sistema debe dar al aplicar la formula dada por el usuario. Que quiero: Quiero saber como hacer referencia a los campos para que el usuario los escoja y pueda hacer su formula, lógicamente previa validación de los signos utilizados(validar los signos en codigo o colocando botones para cada signo en fin eso es otro tema) Gracias y disculpas nuevamente.
__________________
Pre-Alpha |
#9
|
||||
|
||||
Hola
No te preocupes, la verdad lo anterior fue broma, nada mas. Disculpa pero me faltan datos o no entiendo. Dices que los datos de los campos los capturas, en donde?. Dices que el usuario escoje la formula, que significa, los campos o las operaciones matematicas?. Dices que colocando botones, para las operaciones?. Disculpa hoy estoy lento. Saludos PD: Que BD usas?
__________________
Siempre Novato |
#10
|
||||
|
||||
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:
Espero haberte ayudado. Saludos, Chris |
#11
|
||||
|
||||
Hola
Voy a hacer un ejemplo sencillo. Working............... Saludos
__________________
Siempre Novato |
#12
|
||||
|
||||
Hola
Cita:
Aqui tienes un ejemplo con BD Access. Hay 5 combo, en tres de ellos se reciben los datos de la tabla, los otros dos son para indicar la operación matemática. Espero te sirva de ejemplo. Saludos
__________________
Siempre Novato Última edición por Caral fecha: 22-04-2010 a las 03:49:13. |
#13
|
||||
|
||||
Yo también entiendo que lo que quiere es que el usuario pueda "modificar" una parte concreata del código Delphi.
Quiza es matar moscas a cañonazos, pero aqui tienes: http://www.remobjects.com/ps.aspx Con esto, puedes dejar que un usuario introduzca el código de una función y luego llamar a esa función desde dentro de tu propio código. Bueno, creo que leyendo el texto del enlace te aclarará las cosas mucho más. Saludos. |
#14
|
||||
|
||||
Puedes usar la unidad PREXPR.PAS, que está incluida en el programa de contabilidad que está publicado en el ftp del Club.
Una vez tienes la fórmula, la puedes enviar alas funciones que te devuelven el resultado Te adjunto la forma de realizar las llamadas. Puedes observar que las formulas las obtengo de una variable y los valores también de la bbdd pasándole el nombre del campo, concretamente del registro activo. En las jedi tienes un interprete de pascal incorporado, que además viene en los programas de ejemplo, pero nunca lo he utilizado. Puede ser una buena opción también. Lo que no recuerdo es cómo se llama el componente ni cómo se usa. Espero que te sirva de ayuda. Saludos
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino - |
#15
|
|||
|
|||
Gracia a todos voy aprobar y seguimos en contacto.
__________________
Pre-Alpha |
|
|
Temas Similares | ||||
Tema | Autor | Foro | Respuestas | Último mensaje |
Ayuda con formula | paladincubano | Varios | 13 | 13-12-2008 06:58:57 |
formula.. | truequeman | Varios | 3 | 20-01-2007 19:12:09 |
formula en dbgrid | federicorl | Varios | 4 | 07-08-2006 18:58:36 |
Formula en Firebird | jwmoreira | Firebird e Interbase | 4 | 17-05-2005 17:49:57 |
Almacenar una formula en una tabla | jgutti | Firebird e Interbase | 1 | 09-09-2004 15:41:46 |
|