Hola Amigos:
Soy un programador de Visual Foxpro desde la versión 2.5
para DOS hasta la versión 9.0
y desde hace un año estoy estudiando la plataforma .NET, y
le he dado fuertemente a C# y
desde hace dos semanas estoy incursionando con J#.
Mi inquietud es referente al manejo de macrosustitución
que maneja Foxpro en todas sus versiones, para
aclarar esto les voy a dar un ejemplo:
1) Inicializo dos variables de tipo caracter.
VAR1 = "10"
VAR2 = "30"
2) Inicializo una variable de tipo caracter con el signo
operador de multiplicación
OPERADOR = "*"
3) Creo otra variable con la concatenaciónde las variables
anteriores.
CMD = VAR1+OPERADOR+VAR2 --> (cmd = "10*30")
4) Evaluo el valor de la variable CMD, y el resultado lo
dejo en la variable resultado
RESULTADO = EVALUATE(COMANDO)
5) La variable resultado queda con el valor de la formula
almacenada en la variable CMD.
RESULTADO = 300
RESUMEN:
VAR1 = "10"
VAR2 = "30"
OPERADOR = "*"
CMD = VAR1+OPERADOR+VAR2
RESULTADO = EVALUATE(COMANDO)
He aquí otro ejemplo:
cmd = "(2+5)*5/2"
?EVALUATE(CMD) --> Aqui el resultado es 17.50
Como pueden apreciar EVALUATE es una función poderosa que
me permite evaluar cualquier formula, inclusive llamar
a otras funciones de VFP e inclusive a funciones creadas
por uno mismo, desde luego teniendo cuidado con los valores
resultado de cada llamado a función.
Ahora mi pregunta, como puede hacer lo anterior en la
plataforma .NET, especialmente con C#, directamente
sin necesidad de crear una clase de evaluador de
expresiones (Considero que no vale la pena reinventar la
rueda).
Gracias a todos por su ayuda.
Cordialmente,
Joaquín Jurado
Leer las respuestas