Web de Velneo V7

Comandos básicos de Velneo V7

Comandos básicos de Velneo V7
El grupo de comandos Básicos es un conjunto que incluye comandos para la gestión de flujos y petición, muestra y asignación de valores.

El proceso de ejemplo pide al usuario el número de veces que se ejecutará el bucle. En cada ejecución se sumará un valor aleatorio a una variable. Si el usuario no indica número de pasos o cancela, se muestra un mensaje de error en cada caso y se finaliza el proceso. Al final del proceso, el resultado se guarda en una variable global que puede ser usada posteriormente y se muestra el valor resultante en un mensaje.
En el proceso de ejemplo vemos como comienza dando valor a una variable por medio del comando Set. Este comando, que podemos usar en cualquier punto de nuestro proceso independientemente del origen, nos permite asignar el resultado de una fórmula en la que pueden intervenir números, literales, variables, campos del origen, constantes, etc.

Si la variable no existe, como es el caso, se crea de forma automática. Debemos a continuación asignar el tipo de variable. Si ya existe, podemos seleccionarla y darle un nuevo valor.

A continuación, con el comando Pedir dato solicitamos al usuario cuántas veces quiere que se ejecute el bucle del comando For. El comando Pedir dato guarda el valor obtenido en una variable. Como previamente le habíamos dado valor, usa éste como valor por defecto cuando presenta el formulario de petición al usuario.

Si el usuario acepta el formulario de petición de datos y da un valor, retornará 1 (true) en la variable local OK que hemos definido como retorno y el valor indicado por el usuario en la variable local LOOP_LIMIT que hemos definido para recoger el valor.

El siguiente paso es comprobar si el usuario ha aceptado y ha introducido un límite para el bucle. Para ello hacemos uso del comando If que gestiona el flujo del proceso. Este comando tiene como parámetro una condición expresada como una fórmula. Admite por tanto una variable local o una variable global booleana o cualquier operación lógica que definamos en la fórmula y que incluya cualquier elemento disponible en el asistente para edición de fórmulas.

Si la condición se cumple, se ejecuta el subproceso del comando, manteniendo el origen que tuviera que puede ser tratado en las líneas del subproceso. Es decir, si estuviéramos modificando una ficha o recorriendo una lista, tendríamos acceso al origen en el subproceso del comando.

La condición que establecemos: ( OK & LOOP_LIMIT > 0 ) indica que, para ejecutarse el subproceso, la variable OK ha de tener valor 1 y la variable LOOP_LIMIT ha de contener un valor mayor que 0. Si no, la condición impuesta en el comando If no se cumple.

En el subproceso hemos programado un bucle, que realizamos por medio del comando For.

El funcionamiento del comando For puede ser distinto al que esperamos que tenga. Así, aunque incremente la variable contador partiendo del valor inicial, debemos definir la condición por la que continúa ejecutándose el bucle, de forma análoga a como se definen sentencias del tipo while presentes en otros lenguajes.

Es decir, no es necesario indicar un valor límite para la variable contador, si no una condición para que continúe ejecutándose el bucle. Esta condición puede ser que el bucle no se detenga mientras la variable contador no llegue a un límite impuesto, pero también puede ser en función de un valor obtenido en la ejecución de las líneas incluidas en el bucle u otra condición.

En este caso hemos optado por un límite clásico para un comando For estándar. Se ejecutará mientras la variable contador LOOP no llegue a límite definido por el usuario final en la variable LOOP_LIMIT. Pero en otro caso, la condición podría ser una variable local o una variable global booleana o cualquier operación lógica que definamos en la fórmula.

Dentro del bucle For alimentamos una variable local por medio del comando Set con el resultado de una fórmula que incluye el valor anterior de la variable (usando esta misma en la fórmula) sumado al resultado de la función random() que nos devuelve un número aleatorio.

Si la condición del comando If no se cumple, se pasa al siguiente comando de flujo Else if.

If, Else if y Else son los tres comandos de gestión de flujo de procesos condicionado además de For que tenemos disponibles.

Los comandos de flujo han de estar definidos uno a continuación del otro para ser tenidos en cuenta, no han de haber líneas Libre, Rem u otros comandos entre ambos.

El comando Else if se ejecuta siempre detrás de un comando If u otro comando Else if cuya condición no se haya cumplido.

Si se cumple la condición del comando Else if, no se pasará al siguiente comando de flujo Else if o Else, si no que se saltará a la siguiente línea después de los comandos de flujo a no ser que se encuentre otro If.

La condición del comando If previo no se cumple o bien si la variable local OK no es 1, es decir, el usuario no ha aceptado, o bien la variable local LOOP_LIMIT no es mayor que 0.

En este caso, con el comando Else if comprobamos en primera instancia si el usuario ha aceptado la petición de dato, dato que conocemos gracias a la variable local OK.

Informamos al usuario final usando para ello el comando Mensaje. Éste nos permite configurar el texto que se presentará en la ventana de mensaje por medio de una fórmula, por lo que podemos incluir cualquier literal, campo o variable a la que tengamos acceso desde el asistente.

Además, podemos definir el tipo de mensaje, lo que condicionará el icono y sonido de presentación de la ventana según tenga definido el sistema operativo. También podemos definir el tiempo que estará la ventana del mensaje antes de que se auto-acepte y el título de la ventana que se presenta.

Por último, el comando Else, se ejecuta siempre que no se hayan dado todas las condiciones anteriores. En ese caso, el error estaría entonces en que el usuario no ha introducido un valor para la variable local LOOP_LIMIT válido, que era la segunda parte de la condición inicial.

De nuevo, usando el comando Mensaje presentamos el error al usuario final.

El proceso finaliza haciendo uso del comando Modificar variable global que nos permite acumular en una variable global el valor obtenido en el proceso y guardado en la variable local.

Como podemos ver, desde los procesos tenemos acceso tanto a leer como modificar las variables globales.

Por último, volvemos a usar el comando Mensaje para mostrar el valor obtenido, haciendo uso para ello de la variable local en que retornamos el resultado de la modificación de la variable global.

Cuando modificamos una variable podemos recoger el valor obtenido tras la modificación en una variable local. De esta forma nos aseguramos de que el dato que leemos no haya sido modificado por otro proceso en ese mismo instante.

Si mostráramos el valor de la variable unas líneas más abajo podríamos encontrarnos con que el valor no es ya el obtenido tras la modificación, si no que otro proceso mientras tanto modificó la misma variable.

© 2012, Velneo S.A. Todos los derechos reservados      Contacto | Privacidad - Legal
Life is Soft