Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

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

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-04-2010
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
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
Responder Con Cita
  #2  
Antiguo 13-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
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
Responder Con Cita
  #3  
Antiguo 13-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Voy a hacer un ejemplo sencillo.
Working...............
Saludos
__________________
Siempre Novato
Responder Con Cita
  #4  
Antiguo 13-04-2010
Avatar de Caral
[Caral] Caral is offline
Miembro Premium
 
Registrado: ago 2006
Posts: 7.659
Poder: 28
Caral Va por buen camino
Hola
Cita:
Empezado por NeoNew Ver Mensaje
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)
Segun lo que entiendo el primer código que puse servirá, el segundo no funciona.
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.
Responder Con Cita
  #5  
Antiguo 13-04-2010
Avatar de yapt
yapt yapt is offline
Miembro
 
Registrado: sep 2006
Ubicación: España
Posts: 258
Poder: 20
yapt Va por buen camino
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.
Responder Con Cita
  #6  
Antiguo 13-04-2010
Avatar de fjcg02
[fjcg02] fjcg02 is offline
Miembro Premium
 
Registrado: dic 2003
Ubicación: Zamudio
Posts: 1.418
Poder: 24
fjcg02 Va camino a la fama
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

Código Delphi [-]
procedure TForm.CDSVistaReciboCalcFields(DataSet: TDataSet);
begin
  inherited;
  if  CDSVistaRecibo.FieldByName('COBRAPOLIZA').AsString = 'AGENTE' then
  begin
    DataSet.FieldByName('TOTCOMISION').AsFloat:= CalcularFormula(WFormulaComisionAgente);
    DataSet.FieldByName('TOTLIQUIDACION').AsFloat:= CalcularFormula(WFormulaLiquidacionAgente);
  end;
  if  CDSVistaRecibo.FieldByName('COBRAPOLIZA').AsString = 'COMPAÑIA' then
  begin
    DataSet.FieldByName('TOTCOMISION').AsFloat:= CalcularFormula(WFormulaComisionCIA);
    DataSet.FieldByName('TOTLIQUIDACION').AsFloat:= CalcularFormula(WFormulaLiquidacionCIA);
  end;
end;

function TForm.CalcularFormula(Formula:String): Double;
var
     E: TExpression;
begin
Result:= 0;
E:= CreateExpression(Formula, ValoresFunc);
if Assigned(E) then
  Result:= E.AsFloat;
end;

function TForm.ValoresFunc( const Identifier: String;
                              ParameterList: TParameterList): TExpression;
begin
    Result:= TFloatLiteral.Create(CDSVistaRecibo.fieldByName(Identifier).AsFloat);
end;
__________________
Cuando los grillos cantan, es que es de noche - viejo proverbio chino -
Responder Con Cita
  #7  
Antiguo 14-04-2010
NeoNew NeoNew is offline
Miembro
 
Registrado: mar 2009
Ubicación: Bogotá
Posts: 49
Poder: 0
NeoNew Va por buen camino
Gracia a todos voy aprobar y seguimos en contacto.
__________________
Pre-Alpha
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
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


La franja horaria es GMT +2. Ahora son las 00:55:25.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi