Blog

Manejo de arrays en V7

En este artículo os explicaré de qué forma podemos trabajar con arrays en V7.

En V7 un array no es un objeto en sí mismo sino que es una propiedad de las variables. Por tanto, para crear un array será necesario crear una variable y fijar su propiedad array a verdadero, tal y como se muestra en la captura de pantalla siguiente:

Manejo de arrays en V7 1

El tipo de dato que contendrá el array vendrá determinado por el valor que hayamos especificado en la propiedad «Tipo» de la variable. En el caso de la captura de pantalla anterior el array será de tipo numérico.

Existen varios comandos de instrucción de proceso para el manejo de arrays:

El comando de instrucción Array: Set permite o bien modificar el contenido de un ítem o bien añadir un nuevo ítem a un array. La posición del ítem será resuelta por medio de una fórmula. Si indicamos una posición mayor que la última posición del array, el sistema creará el ítem en la posición indicada, quedando vacías las posiciones que existan entre ambas.

En un array la primera posición es la número 0.

El comando de instrucción Array: Insertar item, inserta un ítem en una posición concreta de un array. Al igual que en el comando anterior, la posición donde insertar el ítem será establecida mediante una fórmula.

El comando de instrucción Array: Ordenar ordena el contenido de un array tanto de forma ascendente como descendente.

El comando de instrucción Array: Elminar ítem elimina un ítem de un array. El ítem a eliminar será resuelto con su posición dentro del array.

El comando de instrucción Array: Elminar todos borra el contenido del array; es decir, queda con tamaño 0.

El comando de instrucción Array: Get tamaño devuelve el número de ítems de un array.

La lectura del contenido de una posición concreta de un array sin embargo, no está limitada al uso de un comando de instrucción de proceso específico sino que podremos leer el contenido desde cualquier fórmula, lo que facilita y hace más potente al mismo tiempo su utilidad.

Para ello debemos seguir la sintaxis siguiente:

ID_VARIABLE_ARRAY[POSICION]

Donde ID_VARIABLE_ARRAY es el identificador de la variable y POSICION el dato numérico correspondiente a la posición a leer. Al tratarse de una fórmula, la posición podrá ser resuelta tanto con un dato constante como uno variable.

13 thoughts on “Manejo de arrays en V7

  1. Buenos dias:

    Entendido. A partir de ahora tendremos que incluir en las cajas una variable de cada tipo con la propiedad Array activada y dejarla ahí, para cuando haga falta (que no pide de comer 😉 ).

    Un saludo,

    Fran.

  2. Hola,

    ¿Existe la posibilidad de tener arrays anidados? (Array en el que cada elemento es también un array) o Arrays asociativos (Array en el que puede utilizarse un identificador de tipo caracter para referirse a un elemto del array. Ejmplo: Array_Alumnos[ ‘Jose’ ] )

    Lo pregunto ya que me parecen funciones muy útiles al trabajar con arrays.

    Saludos,

    Rodolfo Muñoz

  3. Rodolfo, los arrays son unidimiensionales, por tanto, si necesitas esa funcionalidad tendrás que simularla con varios arrays. No obstante, tomamos nota de tu sugerencia.

    Muchas gracias.

  4. Bueno, empecemos con una dimensión y entonces Velneo en la siguiente versión de V7 nos podrá ofrecer la segunda dimensión, luego la tercera y así sucesivamente.
    Yo ya me conformo con la existencia del concepto y de su implementación.

  5. La verdad es que no veo cual es el problema de los arrays multidimensionales. Pienso que podemos hacer una función en Velneo a la que le pasemos los índices correspondientes (1,2,3,…n) y gestionar varios arrays dentro de la función; incluso añadir otro parámetro con el tipo de operación a realizar (añadir, eliminar, buscar, etc.).

    Es mejor que nos lo den todo hecho, aunque creo que hay cosas mas importantes que no las podemos resolver nosotros mismos.

  6. Wikifusilado:
    En programación, un vector, matriz, array, arreglo o alineación es un conjunto o agrupación de variables del mismo tipo cuyo acceso se realiza por índices.
    Los vectores o arreglos (array en inglés) de dos o más dimensiones se denominan con frecuencia matrices, y pueden tener tantas dimensiones como se desee; aunque para evitar confusiones con el concepto matemático de matriz numérica (que normalmente sólo tiene dos dimensiones), se suele utilizar el termino array (o arreglo) para referirse de forma genérica a matrices de cualquier número de dimensiones.

    Acudir a las funciones para sustituir la funcionalidad de los vectores unidimensionales o ‘arrays’ en inglés, no deja de ser algo válido pero ortopédico. Una función en Velneo no está diseñada para sustituir directamente una variable ni puede usarse de forma simple en las mismas circunstancias en el entorno de programación de Velneo.
    No obstante podemos contentarnos con tu idea mientras no van avanzando las dimensiones.
    Gracias,

  7. Ya que Velneo es tan diferente a otras herramientas de programación han perdido una oportunidad de oro de ser consistentes y llevarles la contraria a todos los lenguajes y hubieran iniciado el posicionamiento por 1 de manera que el elemento 100 sea accesado por el indice 100 y no por el 99 como absurdamente es en todos los demás lenguajes y también en V7 sin que nadie sepa explicar claramente ¿por qué?

    Saludos cordiales

    Manuel Tovar
    Barranquilla – COLOMBIA

  8. Hola Manuel.
    Como es domingo………
    Pienso que esto es debido a que los vectores inician su posición desde cero. Nosotros los humanos entendemos que el primer valor debiera de ser 1 pero……. bueno. Pienso que es por eso.

  9. No es posible asignar un valor a una celda de un array directamente mediante un control de formulario; me ha parecido comprobar que al escribir en un control de edición alfabética con NOMBRE_ARRAY[0] en el contenido, lo que escribes no se asigna a la posición 0 del array.

    ¿Estoy en lo cierto o hay alguna forma de hacerlo sin utilizar variables intermedias?

    Gracias.

Dejar un comentario