sábado, 2 de junio de 2012

Las Colecciones


¿ Que son las colecciones ?.

Las colecciones son como los arrays con la ventaja de que es mas fácil
acceder al contenido de los datos.

En un array tenemos un índice que mediante el uso de “bucles” 
buscamos un valor. O conocer el índice directamente.Cosa nada fácil.

La ventaja de la colección es que esta disponen de un valor y una clave.
Se usan también cuando trabajamos con objetos. Una colección de formularios,
de un tipo de componente,etc.

Como en el ejemplo de las ciudades y las temperaturas.
En una colección para conocer la temperatura de una de las ciudades 
solo tenemos que darles el valor de la clave. En este caso, el nombre 
de la ciudad.

¿ Como usamos las colecciones ?.

Declaramos la variable con el tipo COLLECTION

DIM | PRIVATE | PUBLIC Temperaturas AS NEW COLLECTION

He usado “ | “ para que tu decidas el ámbito de la variable.
Si es local usaras DIM
Si es publica usaras PUBLIC
Si es común a todo un modulo usaras PRIVATE

Coleccion.Add valor,clave

El tipo de datos que tiene valor es del tipo VARIANT.



Continuamos. Ahora añadimos un valor y la clave.

Temperaturas.add 20,”Cádiz”

20 sera el valor que almacenara y la cadena “Cádiz” sera la clave.
Si podemos añadir otras más.

Temperaturas.add 25,”Sevilla”
Temperaturas.add 27,”Málaga”
Temperaturas.add 26,”Córdoba”

Bien. Ahora supongamos que queremos saber la temperatura en Málaga
¿ Como lo hacemos ?.

Ejemplo:

Mostrar Temperaturas[“Málaga”]

PRINT Temperaturas[“Málaga”]

y obtenemos 27

¿ Como sabemos cuantos elementos forman nuestra colección ?.

PRINT Temperaturas.count

¿ Como podemos eliminar un elemento de la colección ?.

Usaremos el “Método” REMOVE

Si queremos eliminar el elemento que nos dice la temperatura en Córdoba

La mas fácil. Sabemos cual es la clave “Córdoba”,así que.

Temperaturas.Remove “Córdoba”

Ahora intentar ver si existe.

PRINT Temperaturas[“Córdoba”]

Como veis no hay resultado. Si ahora vemos el número de elementos en la colección.

PRINT Temperaturas.count

Ha cambiado.

---código---
PUBLIC SUB Form_Open()
DIM Temperaturas AS NEW Collection

Temperaturas.Add(36, "Bilbao")
Temperaturas.Add(41, "Cáceres")
Temperaturas.Add(35, "Ciudad Real")
Temperaturas.Add(27, "La Coruña")

PRINT Temperaturas["Bilbao"]
PRINT Temperaturas.Count
Temperaturas.Remove("Cáceres")

PRINT Temperaturas["Cáceres"]
PRINT Temperaturas.Count

END
---código----

Mas información en:
En español:


En inglés:


Como observareis la documentación en inglés suele ser mas extensa en la mayoría de los casos.

No hay comentarios:

Publicar un comentario