La Web del Programador: Comunidad de Programadores
 
    Pregunta:  3004 - MACROS EN DELPHI
Autor:  David Arboleyda
PREGUNTA: ¿Quisiera saber como puedo tomar el Texto de un Edit como una operación aritmetica y no como una cadena: ´Var1+Var2´, donde Var1=27 y Var2=3, por consiguiente obtener 27+3?

GRACIAS!!!

  Respuesta:  joel gonzalez
para poder hacer esa convercion de datos debes de crear una variable del tipo de dato que necesitas es decir que si necesitas un dato integer la sintaxis es la siguiente

procedure Tform1.Button1Click(Sender: TObject);
Var
x : integer ;
begin
x := strtoint(edit1.text) + strtoint(edit2.tex);
end;

con esto ya puedes suar cualqier operador dependiendo lo que quieras hacer con la informacion de los edit pero si en estos edit meten texto tendras un error en la ejecucion de la instruccion por lo que debes de usar tambien la propiedad onkeypress de los edits para asegurarte que siempre ingresen datos numericos si necesitas la sintaxis mandame un correo y te lo regreso con la sintaxis

Saludos

  Respuesta:  Carlos Beltrá
Lo único que tienes que hacer es convertir los tipos.
Sabiendo que la propiedad Edit.Text es un string, sólo tienes que escribir:

var
var1, var2 : integer;
begin
var1 := strtoint(edit1.text);
var2 := strtoint(edit2.text);
end;

Y ya tienes 2 variables numéricas.
El problema es cuando var1 y var2 son reales, dobles o como quieras llamarlos, entonces el método se llama strtofloat.

Este código no da ningún problema, y sé que se puede utilizar como mínimo, desde la versión 3.0 de Delphi.

  Respuesta:  José Oronas
Existen varios componentes para evaluación de espresiones, en las RALib podes encontrar uno

http://www.infa.ru/black/ralib.htm