02/10/2004

Fórmula! Tranformar string em código

Ola a todos!

Estou desenvolvendo um sistema de orçamentos e o mesmo envolve alguns calculos que devem ser personálizados pelo usuário. Imagine o seguinte:
O numero máximo é de 3 Variáveis, sendo A, B, C.

O cliente estabele uma formula personalizada:

[b:23f1149328]=A-(B*C)-50[/b:23f1149328]

Essa formulá ficará guardada em um banco de dados no formato string. Em um outro cadastro, o cliente preenche as variáveis A, B e C e chama a formula já defininca.
Suponhamos que o usuário digite A=5, B=3, C=2
O sistema tem que chamar a formula referente e substituir os valores

[b:23f1149328]=A-(B*C)-50[/b:23f1149328]
Ficaria
[b:23f1149328]=5-(3*2)-50[/b:23f1149328]
e o resultado seria
[b:23f1149328]=-51[/b:23f1149328]

Executar uma função é facil. Mas como a fórmula é definida pelo usuário, como é que eu faço pra calcular? Tenho que tratar a função passo a passo por minha conta ou tem como eu executar o codigo ´String´ de forma mais direta?

Preciso disso Urgente.

Obrigado

Ronaldo
[/b]


Maxadens

Respostas

04/10/2004

Gandalf.nho

Existem componentes que fazem isso (evaluadores de expressões). Dê uma pesquisada em sites como [url]http://delphi.icm.edu.pl/[/url] e [url]http://www.torry.net/[/url]


Responder Citar

08/10/2004

Maxadens

gandalf.nho

Cara. Valeu pela ajuda mas Inglês não é um idioma que eu domino!

Mas obrigado mesmo assim!

Continuo no dilema! Se alguem solber algo ou um site em portugues... eu agradeço!


Responder Citar

08/10/2004

Edilcimar

no campo A salver a variável A no campo B a variável B e no campo C a variável C
X := fieldbyname(campoA) - (fieldbyname(campoB) * fieldbyname(campo C)) - 50;
não esqueça de transformar os campos A, B e C de string para integer ou float


Responder Citar

08/10/2004

Paulo_amorim

gandalf.nho Cara. Valeu pela ajuda mas Inglês não é um idioma que eu domino! Mas obrigado mesmo assim! Continuo no dilema! Se alguem solber algo ou um site em portugues... eu agradeço!


Olá

Infelizmente a maioria dos componentes são desenvolvidos em inglês, mesmo que feito por brasileiros. Assim, não querer usar um componente porque ele eh em inglês faz com que vc fique muito restrito
Tente seguir exemplos que provavelmente existem no site...daí vc vai adaptando....

Componentes nativos não conheco que façam isso... :(

Até+


Responder Citar