Usar el contenido de una variable como formula

Hola a Todos,

soy nuevo en Xojo, pero me ha llamado mucho la atencin la herramienta, empezando con el IDE que creo fue amor a primera vista.

Estoy seriamente considerando migrar mi antigua aplicacin de NOMINA “Realizada en Visual Fox” hacia Xojo, pero an tengo una duda que no he logrado solventar y les agradecera su apoyo. Tengo una registro con 2 campos, uno que contiene el nombre de la variable y otro la formula “Necesito dividir el Salario mensual / 2 para obtener el quincenal”.

“SalQui”,“SalMen / 2”

Necesito convertir el contenido de mi formula a fin de realizar el calculo, si uso la forma tradicional solo estoy asignado a mi variable A un contenido de tipo Text String con “SalMen / 2”

A = “SalMen / 2”

Sin embargo lo que necesito es que se vea algo como:

A = SalMen / 2

Por su atencin muy agradecido, quiero aprovechar para dar las gracias a Javier Rodriguez quien por medio de su blog y videos me ha ayudado a conocer ms de Xojo.

No se si me logre dar a entender pero bsicamente lo que necesito es que el propio usuario programe sus formulas.

Hola @Walter Paz

¡Muchas gracias por sus amables palabras!

A diferencia de lo que ocurre en otros lenguajes de programación, Xojo no es dinámico y tampoco tiene capacidad para interpretar o evaluar una expresión como código.

La única alternativa a lo anterior es el uso de XojoScript. Con XojoScript puede interpretar y ejecutar código en tiempo de ejecución.

Javier

no soy experto, pero lo que s se es que utilizando el ingenio es posible realizar casi cualquier cosa. quizs tengas que plantearte solucionar el mismo problema pero de forma diferente.

una cosa que se me ocurre es obtener de la base de datos el valor de SalMen y de SalQui, guardarlos en una variable dentro de xojo, reemplazar la palabra por el valor utilizando la funcion Replace o ReplaceAll, convertir la entera expresin a nmero (utilizando la funcion Str) y por ultimo hacer el clculo correspondiente

Muchas gracias por su respuesta, ya empece a investigar sobre xojo script, lo que entiendo es que es como programar pero ya con la aplicacin funcionando, me da la sensacin de que es algo como un store procedure, se ve bien interesante, voy a estudiar el da de hoy esa alternativa y comento.

Hola Walter,

Con mi versin de Xojo (la ma es del 2014, puede ser que esto haya cambiado desde entonces) vena un ejemplo de XojoScript que hace lo que necesitas o se aproxima mucho. Est en Example projects>Advanced>XojoScript y el proyecto se llama Evaluator.

Julen

Hola nicols,

Muchas gracias por tu respuesta, bsicamente lo que hice con mi nmina en Visual Fox es algo parecido a como funciona una hoja electrnica, es decir apuntar a celdas para ejecutar un proceso, solo que en vez de usar una direccin como la celda A1, uso una variable que se genera en plena ejecucin mediante interpretar una expresin como cdigo tal como indica Javier.

Usar XojoScript parece ser una alternativa viable, solo tendra que ver hasta donde puedo dar control al usuario final sobre tocar cdigo del sistema, para que te formes una idea de lo que tiene que hacer este tipo de aplicaciones puedes ver el siguiente link de una aplicacin llamada Aspel SAE que hace precisamente lo mismo.

https://www.youtube.com/watch?v=6cWLc7SutFk

Hola!

El ejemplo de Evaluator (Example Projects > Advanced > XojoScript) continúa incluso en Xojo 2019r2.1

Decididamente, empezaría por ahí sí :wink:

Javier

Excelente tip Julen, ya lo vi y creo que es precisamente el ejemplo que andaba buscando.

Para serles franco soy de la idea de que el papel aguanta con todo, y cuando lea sobre el apoyo en el foro de Xojo me pareca puro cuento, pero realmente estoy gratamente sorprendido y me trago mis palabras :slight_smile:

Javier, Nicolas, Julen, muchas gracias a todos por el apoyo brindado, en este momento me pongo a investigar a profundidad ese ejemplo, cada da me convenzo ms del potencial de XOJO y no me arrepiento de meterle pulmn a estudiar esta herramienta.

Encantado de que te podamos echar una mano, y bienvenido a la comunidad Walter!

Estoy seguro de que encontrars en Xojo una satisfaccin a tus necesidades (aunque a veces cueste un poco dar con la solucin ;-))

De igual modo, siempre estoy buscando ideas para nuevos tutoriales y artculos que puedan ser de ayuda a una buena cantidad de desarrolladores de modo que siempre abierto a sugerencias!