formulas matematicas em strings....

Delphi

21/02/2004

:arrow: estou com um pequeno problema: leia abaixo.
tenho as seguintes variaveis:

X := 2
Y := 3
Z := 4

e armazeno o seguinte em outra variavel

A := X+Y+Z //(se nao me engano essa variavel tem que ser uma string).

a pergunta!
como faço para calcular a fórmula que está armazenada na variavel A.


Gustavoguim

Gustavoguim

Curtidas 0

Respostas

Fórum Vini

Fórum Vini

21/02/2004

Olá,
faça assim:
A:= InttoStr(X)+´+´+InttoStr(Y)+´+´+InttoStr(Z);


Espero ter ajudado.
Vinicius.


GOSTEI 0
Gustavoguim

Gustavoguim

21/02/2004

dizemos que eu tenho um programa de calculadora....

tenho la os numeros.... e as operaçoes basicas certo....


eu nao sei qual vai ser o calculo que o usuário vai fazer.... certo...

ex.:
o usuario pressiona o numero 5
depois o +
e depois o 4

entao eu tenho armazenado o calculo em uma variavel o seguinte....

VCalculo := ´5+4´; (string)

nao tem nenhuma funçao que le a string citada acima e faça o calculo....


isso é tudo... :D


GOSTEI 0
Beppe

Beppe

21/02/2004

Vc ñ precisa usar um fórmula para fazer isso. Quando o usuário clica numa operação, vc a guarda numa global; quando digita um número, enão executa a operação(resultado op novonumero) se a operação foi atribuida, senão (resultado := novonumero), é simples...


GOSTEI 0
Cebikyn

Cebikyn

21/02/2004

mas, se quiser usar a expressão em string, pode usar a classe disponível em:

http://www.dow.wau.nl/aew/ParseExpr.html


GOSTEI 0
Wmcaetani

Wmcaetani

21/02/2004

Vc não pode somar STRINGS, tudo o que se pode fazer com Strings é concactenar.
Ex:
[b:7f0d30e97f]A + B = AB[/b:7f0d30e97f] ou

[b:7f0d30e97f]´João´ + ´Manuel´ = JoãoManuel´[/b:7f0d30e97f]

Agora, como o companheiro disse vc pode transformar Uma Variavel string em variavel de valor numerico e depoisd realizar todas as operações matemáticas e depois converter novamente esses valores em String.

:cry: Mas lembree-se de uma coisa: ´Se essas variaveis dependem de entradas feitos pelos usuarios as vezes podem ocorrer ERROS muito esquisitos´


GOSTEI 0
Kyonak

Kyonak

21/02/2004

Olá, faça assim:
A:= InttoStr(X)+´+´+InttoStr(Y)+´+´+InttoStr(Z);
Espero ter ajudado. Vinicius.

cara
isso nao funciona de jeito maneira, isso só vai concatenar os dados

e gustavoguim eu até agora nao consegui entender oque voce quer.
pode esplicar direitinho???
explica oque seu programa faz e pra que esses calculos.


GOSTEI 0
POSTAR