A linguagem Delphi não tem este recurso, o que seria equivalente a um 'eval(string)' do _javascript_.
A solução para seu caso é usar um recurso chamado de script. Normalmente um componente que pega a string, faz o parse dela e executa o código do script dentro da sua aplicação. Seu script pode ser uma simples conta, como no seu caso, ou uma rotina completa com if's, for, while, execução de functions e procedures etc.
Eu utilizo aqui um chamado Pascal Script da REM Objects e é free.
http://www.remobjects.com/page.asp?id=%7B9A30A672-62C8-4131-BA89-EEBBE7E302E6%7D
Você pode passar uma variável do seu código para dentro do script. Ao executar o script, sua variável pode receber o resultado da conta. No seu caso, vc armazena no banco somente a fórmula. Ao passar a formula para o script, vc deve simular um pequeno programa, por Exemplo
lScript := lScript + 'begin';
lScript := lScript + ' resultado=' + SUAFORMULAAQUI ;
lScript := lScript + 'end.';
lScript deve ser passada para seu componente de script, compilado e executado, tudo via metodos do componente, no final do processo, sua variavel 'resultado' tem o valor resultante da sua fórmula.
Fernando Nomellini
----- Original Message -----
From: Edilson Gonçalves
To: delphi-br@yahoogrupos.com.br
Sent: Thursday, June 01, 2006 6:19 PM
Subject: [delphi-br] Decompor Expressão Matemática
Amigos,
Estou com o seguinte problema: Tenho armazenado no banco de bancos em campo
do tipo VARCHAR, uma expressão matemática. Como por exemplo: (100 * 30)/12,
INCLUSIVE COM OS PARENTESES.
O que preciso é: buscar no banco de dados esta expressão e atribuir o seu
resultado a um campo TEdit. Mas nao estou conseguindo converter a string
para que a mesma seja executada.
Se puderem ajudar, agradeço.
Edilson Gonçalves
[As partes desta mensagem que não continham texto foram removidas]
--
<<<<< FAVOR REMOVER ESTA PARTE AO RESPONDER ESTA MENSAGEM >>>>>
<*> Para ver as mensagens antigas, acesse:
http://br.groups.yahoo.com/group/delphi-br/messages
<*> Para falar com o moderador, envie um e-mail para:
[EMAIL PROTECTED]
Yahoo! Grupos, um serviço oferecido por: | |
|
Links do Yahoo! Grupos
- Para visitar o site do seu grupo na web, acesse:
http://br.groups.yahoo.com/group/delphi-br/
- Para sair deste grupo, envie um e-mail para:
[EMAIL PROTECTED]
- O uso que você faz do Yahoo! Grupos está sujeito aos Termos do Serviço do Yahoo!.