REVIT ARCHITECTURE (486) – Programación (20) Conceptos básicos. Arrays (1)

Un array Java es una estructura de datos que nos permite almacenar una listra de datos de un mismo tipo.

Para obtener más información sobre una Array se puede acceder al siguiente enlace:

https://es.wikibooks.org/wiki/Programaci%C3%B3n_en_Java/Arrays

Como ya se ha realizado con los Condicionales, por medio de varios ejemplos que desarrollarremos a lo largo de los siguientes artículos, se podrá explicar de forma introductoria qué son los arrays y para qué sirven.

El primer ejemplo consistirá en crear un inventario de objetos en una caja donde se realizará una lista vertical y con las opciones de tres botones con los que se pueden buscar, eliminar o añadir objetos.

 

1917.jpg

Los botones en este caso son Id:

<nav>
                <button id=”boton1″ class=”botones”>Añadir</button>
                <button id=”boton2″ class=”botones”>Eliminar</button>
                <button id=”boton3″ class=”botones”>Buscar</button>
         
 </nav>

 

Por tanto, lo primero que crearemos será tres eventos para los tres botones en la función de inicio, con Onclick. El resultado es el siguiente:

 

1918.jpg

 

Hay que realizar la array que contendrá todos los elementos de la lista que se vayan creando, pero como en un inicio no hay, la crearemos vacía y la colocaremos al inicio, de forma que se puedan coger los datos de la misma desde cualquier función.

Por medio de inventario.lenght se cogerá el número de valores que tiene la array en cada momento. Se añadirá este valor a la lista 2, que se encuentra en la parte inferior, y que es un campo que nos dará este valor numérico total.

 

1919.jpg

 

El paso siguiente es realizar las tres funciones indicadas para los tres botones existentes, de forma que cuando se realice clic en el botón se vaya a la función asignada para el mismo.

 

1920.jpg

 

Ahora se crea una variable, por ejemplo que se llame nombre, y accediendo al input que se encuentra en el archivo html que se llama producto:

<section>
            <label for=”producto”>Inventario:</label>

 

Y que coja su valor (value).

Con la expresión de push podremos ir viendo siempre la nueva longitud de elementos de la array:

inventario.push (nombre);

 

Pero los nombres de la lista de inventario que se vayan añadiendo no pueden ser repetidos y además no se pueden introducir valores cero, por lo que se tendrá que crear un condicional que evite ésto:

Es decir si la longitud del array nombre es superior a cero, quiere decir que tiene algún valor de nombre de lista de inventario (nombre.lenght), o bien si el nombre no está repetido (inventario.indexOf), se puede añadir el nombre a la lista.

IndexOf, funciona de forma que recorre los valores de la array, y si ve que no está repetido el valor, devuelve -1, y si está repetido el valor devuelve la posición o valor que tiene en la array: 0,1,2... Por eso se le ha indicado igual a -1, porque se busca que añada el valor si el nombre no está repetido.

 

1921.jpg

 

Además de añadir los valores que se vayan introduciendo a la array, la función añadir tiene que “añadir” los valores a una lista, que tal y como hemos configurado el ejemplo es la lista 1. Se va a colocar un + delante del igual para que no borre el contenido, y lo añada:

 

1922.jpg

Se ha añadido <div> para que la lista sea vertical (se ha realizado una concatenación de caracteres) con la variable nombre.

value.toLowerCase(); Nos permitirá que si se introducen nombres en mayúsculas, que las transforme a minúsculas en la lista.

De esta forma podemos empezar a construir el inventario, por ejemplo de muebles de una casa, con el botón añadir:

 

1923.jpg

El resultado final en lenguaje de programación es:

 

1924.jpg

 

En el siguiente artículo de programación en revit, hablaremos de la construcción de las funciones eliminar y buscar, para poder activar los dos botones restantes.

 

Licencia Creative Commons Contenido Web de Yolanda Muriel está sujeto bajo Licencia Creative Commons Atribución-NoComercial-SinDerivadas 3.0 Unported.

 

2 Comments

Responder

Por favor, inicia sesión con uno de estos métodos para publicar tu comentario:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión /  Cambiar )

Google photo

Estás comentando usando tu cuenta de Google. Cerrar sesión /  Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión /  Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión /  Cambiar )

Conectando a %s