Fórmula! Tranformar string em código

Delphi

02/10/2004

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

Maxadens

Curtidas 0

Respostas

Gandalf.nho

Gandalf.nho

02/10/2004

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]


GOSTEI 0
Maxadens

Maxadens

02/10/2004

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!


GOSTEI 0
Edilcimar

Edilcimar

02/10/2004

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


GOSTEI 0
Paulo_amorim

Paulo_amorim

02/10/2004

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é+


GOSTEI 0
POSTAR