¿ 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