Realizar Calculos com formula que esta cadastrada

Discussão em 'Progress 4GL' iniciado por eduardohg, Julho 16, 2012.

  1. eduardohg

    eduardohg Membro Participativo

    Caros Colegas,

    Estou com um problema e não consigo solucionar o mesmo.

    Tenho um banco de dados e uma tabela de variaveis onde possuo um campo chamado formula. Esse campo formula contem uma formula ex: 200 * 1000 / 100 .

    Preciso que o conteudo desse campo formula que é char seja processado para uma variavel decimal obtendo o resultado do calculo, ou seja, quando eu igualar a variavel formula com uma decimal gostaria que efetuasse o calculo contido na formula. ex: de-resultado = variavel.formula gostaria de obter na variavel resultado o valor 2000.

    Alguem sabe se é possivel algo do tipo e sabe como fazer ?

    Eduardo.
  2. Rogerio

    Rogerio Moderator Moderador Equipe de Suporte

    Eu acho que poderia tratar isso com uma include, passando a formula como parametro e tratando a mesma como {1} dentro da include....

    Acredito que assim de certo.
  3. af.dums

    af.dums Membro Ativo

    Acho que a include não funcionaria, visto que a fórmula teria que ser fixa ou o usuário poder executar os programas a partir de seus fontes e não de seus compilados.

    Acho que a melhor forma é criar um decompositor de fórmulas, tipo, matemática mesmo, ler parenteses, chaves, operações possíveis e tal. Seria interessante no campo do cadastro da fórmula ter um validado para que não de erro depois na hora de calcular (assim você também poderia delimitar que só pode ser fórmulas sem parenteses, ou só com parenteses, etc.

    Qualquer coisa dá um grito.

    Abraços.
  4. eduardohg

    eduardohg Membro Participativo

    Como seria isso de decompositor de formula ? , pois a passagem de parametros com sinal não funciona.
  5. af.dums

    af.dums Membro Ativo

    Na real tu teria que pegar a string que seria a fórmula e ir quebrando ela para então fazer os cálculos, o teu parâmetro seria a STRING.

Compartilhe esta Página