Variables

Conjunto de comandos del grupo Básicos. En el caso de los comandos de instrucción de proceso para operar con variables locales de tipo array, se puede observar que no existe un comando para leer una posición de un array.

Esto es así porque la lectura de una posición de una variable local de tipo array se hace de forma directa.

Para leer una posición del array, lo único que tendremos que hacer es añadir a su identificador el número de la posición a leer entre corchetes. La primera posición de un array es la 0. Ejemplo:

ID_VARIABLE[3]

Array: convertir a cadena

Comando de instrucción que permite convertir el contenido de una variable local de tipo array en una cadena.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local de tipo array a convertir a cadena.

Fórmula de separador

Expresión de tipo fórmula donde especificaremos el carácter que se usará en la cadena para separar los distintos elementos del array.

Identificador de variable local alfabética de retorno

Aquí se declara una variable local de tipo alfabético que recogerá el contenido de la variable local del tipo array especificada en el primer parémetro separados los elementos por el carácter indicado en el segundo parámetro.

Funcionalidad

Este comando de instrucción permite convertir el contenido de una variable local de tipo array en una cadena.

Ejemplo

Vamos a convertir a cadena el contenido de la variable de tipo array ARRAY, usando el carácter | como seperador y dejando el resultado en una variable local alfabética llamada CADENA_ARRAY:

Array: Convertir a cadena ( ARRAY, "|", CADENA_ARRAY )

Array: crear desde cadena

Comando de instrucción que permite convertir una cadena en un array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula de cadena

Expresión de tipo fórmula donde especificaremos la cadena cuyo contenido se quiere convertir en array.

Fórmula de separador

Expresión de tipo fórmula donde especificaremos el carácter que se usa en la cadena de origen para separar sus elementos.

Identificador de variable local array

Identificador de la Variable local de tipo array de destino.

Funcionalidad

Este comando de instrucción permite convertir el contenido de una cadena en un array. La cadena tendrá que tener un carácter de separación entre los distintos elementos y la variable local de destino tendrá que ser de tipo array.

Ejemplo

Vamos a convertir a array el contenido de una cadena, en la que se usa el carácter | como seperador y dejando el resultado en una variable local de tipo array llamada ARRAY:

Array: Crear desde cadena ( "uno|dos|tres|cuatro", "|", ARRAY )

Array: eliminar item

Comando de instrucción del grupo Arrays que permite eliminar un item del array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local del objeto.

Fórmula de posición

Posición del item a eliminar en el array. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.

Identificador de variable local booleana de retorno de ok

Aquí se declara una variable que retornará 1 si se elimina el item. Si no lo elimina devolverá 0.

Funcionalidad

Esta instrucción permite eliminar un item de una Variable local array declarada en el objeto.

Ejemplo

Procedemos a eliminar el item de la posición 1 de la variable MATRIZ_TMP de tipo array.

Array: eliminar ítem ( MATRIZ_TMP, 1,  )

Array: eliminar todos

Comando de instrucción del grupo Arrays que permite eliminar todos los items del array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local del objeto.

Funcionalidad

Esta instrucción permite eliminar todos los items de una Variable local array declarada en el objeto.

Ejemplo

Eliminamos todos los ítems de la variable MATRIZ_TMP de tipo array.

Array: eliminar todos ( MATRIZ_TMP )

Array: get tamaño

Comando de instrucción del grupo Arrays que permite conocer el número de items del array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local del objeto.

Identificador de variable local numérica de retorno

Aquí se declara una variable que retornará el número de items del array.

Funcionalidad

Esta instrucción permite obtener el número de items de una variable local array declarada en el objeto.

Ejemplo

Leemos el número de ítems o tamaño de la variable local de tipo array MATRIZ_TMP guardándolo en la variable TAMAÑO. Posteriormente mostramos un mensaje informando del tamaño.

Array: get tamaño ( MATRIZ_TMP, TAMAÑO )
Mensaje ( "Hay " + TAMAÑO + " ítems en el array", Información, ,  )

Array: insertar item

Comando de instrucción del grupo Arrays que permite insertar un item en el array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local del objeto.

Fórmula de posición

Posición del array donde insertar el item. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.

Fórmula de dato

Valor a establecer al item indicado en el parámetro posición. En este parámetro podrá especificar tanto una constante como una expresión fórmula.

Identificador de variable local booleana de retorno de ok

Aquí se declara una variable que retornará 1 si se inserta el item. Si no lo inserta devolverá 0.

Funcionalidad

Esta instrucción permite insertar y establecer el valor de un item de una Variable local array declarada en el objeto.

Ejemplo

Insertamos un ítem al array MATRIZ_TMP al final de la misma conociendo previamente el tamaño del array.

Array: get tamaño ( MATRIZ_TMP, TAMAÑO )
Array: insertar ítem ( MATRIZ_TMP, TAMAÑO + 1, "Valor añadido en el array",  )

Array: ordenar

Comando de instrucción del grupo Básicos que permite ordenar los items del array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local del objeto.

Orden

Podrá optan entre dos modos: ascendente o descendente.

Identificador de variable local booleana de retorno de ok

Opcional. Identificador de la variable local.

Funcionalidad

Esta instrucción ordena los ítems de un array definido en el objeto.

Comentarios

La ordenación se realizará en función del tipo de contenido de la Variable local. Si es de tipo alfabético el orden será alfabético, si es de tipo numérico la ordenación será numérica y así con todos los tipos.

Ejemplo

Ordenamos los ítems del array MATRIZ_TMP de forma ascendente

Array: ordenar ( MATRIZ_TMP, Ascendente,  )

Array: recorrer

Comando de instrucción de proceso que permite recorrer de forma secuencial el contenido de una variable local de tipo array.

Origen de la instrucción: cualquiera.

Destino del subproceso: el mismo que el origen.

Parámetros

Identificador de variable local array

En este parámetro se ha de especificar la variable local de tipo array a recorrer.

Identificador de variable local de retorno

En este parámetro se ha de especificar la variable local donde se retornará el valor de cada ítem leído del array. No concatena sino que

Identificador de posición de un elemento en el array (opcional)

En este parámetro se puede especificar una variable local de tipo numérico donde se retornará la posición del ítem leído del array.

Funcionalidad

Este comando de instrucción genera un bucle, que se repetirá por cada ítem del array. Genera un subproceso que será repetido por cada ítem del array. En dicho subproceso podremos leer el valor del ítem leído en el segundo parámetro y su posición en el tercero.

Ejemplo

El siguiente proceso crea una variable local de tipo array con varios ítems y luego la recorre, mostrando un mensaje con valor del ítem leído y su posición en cada iteración del bucle:

Rem ( Creamos un array a partir de una cadena )
Array: Crear desde cadena ( "1;2;3;4;5;6;7", ";", ARRAY )
Rem ( Recorremos el array y presentamos un mensaje con el ítem leído y su posición )
Array: Recorrer ( ARRAY, ITEM_ARRAY, POSICION_ITEM_ARRAY )
    Mensaje ( "Item leido: " + ITEM_ARRAY + ", posición: " + POSICION_ITEM_ARRAY, Información, ,  )

Array: set

Comando de instrucción del grupo Arrays que permite asignar valor a un item del array.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local array

Identificador de la Variable local del objeto.

Fórmula de posición

Posición del array donde está el item. En este parámetro podrá especificar tanto una constante como una expresión fórmula. La primera posición es la número 0.

Fórmula de dato

Valor a establecer al item indicado en el parámetro posición. En este parámetro podrá especificar tanto una constante como una expresión fórmula.

Identificador de variable local booleana de retorno de ok

Aquí se declara una variable que retornará 1 si se modifica el item seleccionado. Si no lo modificase devolverá 0.

Funcionalidad

Esta instrucción permite establecer el valor de un item de una Variable local array declarada en el objeto.

Ejemplo

Modificamos el contenido del ítem de la posición 0 del array MATRIZ_TMP estableciendo su contenido con el texto "Valor modificado"

Array: set ( MATRIZ_TMP, 0, "Valor modificado",  )

Modificar variable global

Comando de instrucción del grupo Básicas.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador variable global

Variable global a modificar. En este parámetro se desplegará una lista con todas las variables globales disponibles.

Fórmula dato

Expresión de tipo fórmula para calcular el nuevo contenido de la variable.

Identificador de la variable local de retorno (Opcional)

Permite guardar en una variable local del proceso el valor asignado a la variable global.

Funcionalidad

Permite modificar, por medio de una expresión de tipo fórmula, el valor de una variable global del proyecto de datos

Comentarios

Para facilitar la creación de la fórmula podremos usar el asistente para edición de fórmulas. Como variable local del retorno podremos tanto usar tanto una ya existente como crearla nueva.

Ejemplo

Asignamos a la variable global FCH_SYS la fecha del sistema y a la variable ESADM el valor booleano correspondiente dependiendo de si el usuario es administrador o no.

Modificar variable global ( FCH_SYS@ejemplo_dat, currentDate(),  )
If ( sysIsAdministrator )
    Modificar variable global ( ESADM@ejemplo_dat, 1,  )
Else
    Modificar variable global ( ESADM@ejemplo_dat, 0,  )

Pedir dato

Comando de instrucción del grupo Básicas.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Fórmula descripción

Expresión de tipo fórmula con texto al presentar en la ventana de solicitud del dato.

Identificador de variable local de retorno

Variable local en la que se guardará el dato escrito por el usuario.

Tipo de dato

Permite especificar de qué tipo será el dato guardado en la variable local del parámetro anterior. Los tipos de dato posibles son:

Fecha: el dato será una fecha.

Hora: el dato será una hora (de reloj).

Número: el dato será un número.

Texto: el dato será una cadena, una expresión alfabética.

Fórmula título opcional

Expresión de tipo fórmula que permite establecer un título opcional de la ventana. Si no se especifica título alguno, se usará como título el nombre del ejecutable. Ejemplo: vClient

Identificador de variable local booleana de retorno de ok

Variable local la ventana.

Funcionalidad

Comando de instrucción que muestra una ventana solicitando un dato al usuario y lo almacena una variable local.

Comentarios

Como variable local de los retornos podremos tanto usar tanto una ya existente como crearla nueva.

La variable local booleana de retorno de ok podremos evaluarla a posteriori con un comando de instrucción If en el caso de que queramos que el proceso siga caminos diferentes en función de si el usuario ha aceptado o no la ventana.

Si el tipo de dato a recoger es de tipo fecha, el modo de edición será tipo alfanumérico, es decir, podremos escribir la fecha como una cadena y al perder foco el control será cuando se valida y cuando la cadena escrita se convierta en un dato de tipo fecha. Para conocer los formatos de edición disponibles haz clic aquí. Además, el control incluirá un botón desde el que podremos desplegar un calendario para la selecicón de la fecha.

Ejemplo

Pedimos al usuario que teclee SEGUIR para continuar con la ejecución del proceso de altas de maestros y, en el caso contrario finalizamos el proceso para salir.

Pedir dato ( "Teclee SEGUIR para continuar", TEXTO, Texto, "Solicitud al usuario", OK )
If ( OK )
    If ( TEXTO ! "SEGUIR" )
        Finalizar proceso
    Else
        Ejecutar proceso ( ALTA_MAESTROS@ejemplo_dat, 1º plano: local (síncrono), , ,  )
            Libre

Set

Comando de instrucción del grupo Básicas del proceso.

Origen de la instrucción: cualquiera.

Destino del subproceso: ninguno.

Parámetros

Identificador de variable local

Identificador variable local cuyo valor queremos asignar.

Fórmula de dato

Expresión fórmula con el valor a asignar a la variable local.

Funcionalidad

Asigna un valor a una variable variable local del proceso. La variable puede ser cualquiera de las ya declaradas previamente o puede ser creada nueva.

Comentarios

Para la especificación del contenido de la variable podemos hacer uso del asistente para edición de fórmulas.

Si el proceso es un evento al que pertenece el evento, el valor de la variable será modificado tanto dentro del proceso como en el propio objeto padre.

Si queremos inicializamos una variable local alfabética sin ningún valor, le asignaremos como fórmula dato "", ya que se no especificamos nada se inicializará con un 0.

Ejemplo

Asignación de valores de cadena a variables locales de tipo alfabética concatenando la suma de las tres variables en una cadena final NOMBRE_COMPLETO.

Set ( NOMBRE, "Juan" )
Set ( APELLIDO1, "Pérez" )
Set ( APELLIDO2, "García" )
Set ( NOMBRE_COMPLETO, NOMBRE + " " + APELLIDO1 + " " + APELLIDO2 )

Última actualización