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]
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
Curtidas 0
Respostas
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
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!
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
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
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
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