Para definirla se usa:
[Dim | Public | Private ] nombre As New Collection
Y con el operador punto (.) podemos acceder a las propiedades y sus métodos asociados para usarlas:
Propiedades | |
Count | Devuelve el número de elementos que tiene |
Key | Devuelve la clave del último elemento leido o enumerado |
Length | Igual que count |
Métodos | |
Add | Añade un elemento nombre.Add(value as Variant, key as string) |
Clear | Elimina todos los elementos. nombre.clear() |
Copy | Retorna una copia de la colección: nombre2=nombre.copy() |
Exist | Devuelve "true" si hay algun elemento que use esa clave: nombre.exist("clave") -> devuelve "false" o "true" |
Remove | Elimina un elemento de la coleccion indicando la clave nombre.remove("clave") |
Para más información:
http://gambaswiki.org/wiki/comp/gb/collection
Ejemplo:
Programa que nos proporcionas datos de los planetas Mercurio,Venus y Tierra, mediante el uso de colecciones.
'
Gambas module file
'Ejemplo
de uso de colecciones
'Planetas:
'datos
obtenidos de la wikipedia:
http://es.wikipedia.org/wiki/Anexo:Datos_de_los_planetas_del_Sistema_Solar
'
'Estructura
que uso para guardar información
Public
Struct informacion
DistanciaAlSol
As
Float
radio
As
Float
PeriodoDeRotacion
As
Float
TemperaturaMedia
As
Float
ComposicionAtmosfero
As
String
End
Struct
Public
planeta As
New
Collection
'creo
e instancio el objeto "planeta", de la clase Collection
Public
Sub
Main()
Dim
opcion As
String
'variable
que uso para que el usuario introduzca la opcion
datos
'subrutina
que carga en la coleccion los datos de los planetas
'-------------
'incio
el menu
'-------------
opcion
=
"1"
While
(opcion <> "0")
'{
Print
"Menu
de Planetas"
Print
"----------------"
Print
"0-
Salir "
Print
"1-
Mercurio"
Print
"2-
Venus"
Print
"3-
Tierra"
Print
"Escribe
el numero del planteta para decirte sus datos:"
Input
opcion
Select
opcion
'{
Case
"1"
escribe(planeta["Mercurio"])
'uso
la funcion escribe para escribir los datos de la coleccion
Case
"2"
escribe(planeta["Venus"])
Case
"3"
escribe(planeta["Tierra"])
'}
End
Select
'}
Wend
Print
"--------------------"
Print
"-
fin del programa -"
Print
"--------------------"
End
Public
Sub
datos()
Dim
info As
Informacion
info
=
New
Informacion'instancio el objeto info
'--------------------------------
'Planeta:
Mercurio
info.ComposicionAtmosfero
=
"He
Na P"
info.DistanciaAlSol
=
57909175
info.PeriodoDeRotacion
=
58
info.radio
=
2439.64
info.TemperaturaMedia
=
166.85
planeta.Add(info,
"Mercurio")
'info,
lo añado a la coleccion, con la clave "Mercurio"
info
=
New
Informacion 'instancio otra vez el objeto info, para poderlo usar vacio de datos anteriores
'--------------------------------
'Planeta:
Venus
info.ComposicionAtmosfero
=
"96%
CO2, 3 % N2, 0,1% H2O"
info.DistanciaAlSol
=
108208930
info.PeriodoDeRotacion
=
-243
info.radio
=
6051.59
info.TemperaturaMedia
=
456.84
planeta.Add(info,
"Venus")
'info,
lo añado a la coleccion, con la clave "Venus"
info
=
New
Informacion'instancio otra vez el objeto info, para poderlo usar vacio de datos anteriores
'--------------------------------
'Planeta:
info.ComposicionAtmosfero
=
"78%
N2, 21% O2, 1% Ar"
info.DistanciaAlSol
=
149597880
info.PeriodoDeRotacion
=
0.9972
info.radio
=
6378.15
info.TemperaturaMedia
=
14.85
planeta.Add(info,
"Tierra")
'info,
lo añado a la coleccion, con la clave "Tierra"
End
Public
Sub
escribe(informa As
Informacion)
Print
"Composicion
Atmosferica: ";
informa.ComposicionAtmosfero
Print
"Distancia
al sol: ";
Format(informa.DistanciaAlSol,
"#,.##")
Print
"Periodo
de rotación: ";
Format(informa.PeriodoDeRotacion,
"#,.##")
Print
"radio:
";
Format(informa.radio,
"#,.##")
Print
"temperatura
media: ";
informa.TemperaturaMedia
End
Descarga del ejemplo completo: Enlace
Ejemplo de Ciudades y Temperaturas: Blog de Shell: Gambas-basico - las colecciones
Ejemplo Completo de Listin Telefonico usando colecciones: Enlace Pdf y Enlace Código Fuente
No hay comentarios:
Publicar un comentario