|
Página 1 de 1
|
Autor |
Mensaje |
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Array De Colecciones
Buenas!.
Acostumbrado a una colección de array estuve viendo muy por encima lo que es un array de colección.
Yo creo que siempre será más fácil y más rápido el uso de las colecciones frente a los arrays.
Encontrar la estructura de datos para un ejemplo no siempre es sencillo.
Desde luego tener que estar recorriendo todo el array es un proceso algo mas lento que usar una clave.
¿ Mejorarías el ejemplo ?.
Si desde luego estas buscando por nombres, un sexo, una edad. Pero eso parece más de colección.
Si viéramos un mapa de estrellas que están dentro de una rejilla de dos dimensiones. Si fuéramos por su coordenada x e y dentro
de ese array virtual podríamos ver que estrellas existen dentro de esa retícula. Con un click de ratón por ejemplo.
En cambio con las colecciones ya sería buscar por un termino concreto.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
última edición por Shell el Viernes, 29 Septiembre 2017, 13:46; editado 1 vez
|
#1 Viernes, 29 Septiembre 2017, 13:42 |
|
|
Torrealba2719
Alfredo torrealba
Usuario
Registrado: Septiembre 2017
Mensajes: 14
Edad: 36 Ubicación:
|
Re: Array De Colecciones
Estas usando una base de datos?
última edición por jguardon el Jueves, 12 Octobre 2017, 17:18; editado 1 vez
Editado por jguardon, Jueves, 12 Octobre 2017, 17:18: Quitar texto citado
|
#2 Viernes, 29 Septiembre 2017, 19:18 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Array De Colecciones
Torrealba2719:
Citar:
Estas usando una base de datos?
No, tan solo es un ejemplo de tipo de arreglo o array. Hice un pequeño ejemplo por si algunos
de los compañeros de la comunidad le encuentran ellos una utilidad a este tipo de estructura de datos
o por si ellos lo han usado para un motivo concreto.
Normalmente suelo usar más las colecciones.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#3 Viernes, 29 Septiembre 2017, 21:26 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Array De Colecciones
Eso lo utilizo para recuperar los datos originales que son mostrados en un gridView.
Copio y pego el código extraído del control dbGrid, que forma parte de los dbControles (disponible en la Granja de gambas). El propósito es que, dado que el grid sólo muestra cadenas de texto y cuando muestras una base de datos eso no es correcto, pues que devuelva un array de colecciones que contienen los datos originales de tabla.
Private Function Values_Read() As Variant[]
Dim n, c As Integer
Dim clave, valor As String
Dim actual As New Collection
Dim ar As New Variant[]
Dim v As Variant
Dim tipo As Integer
For c = 0 To Me.Rows.Selection.Count - 1
actual = New Collection
For n = 0 To Me.columns.Count - 1
valor = IIf(Me[Me.Rows.Selection[c], n].text = "", Me[Me.Rows.Selection[c], n].richText, Me[Me.Rows.Selection[c], n].text)
tipo = $rs.Fields[n].type
If tipo = gb.Null Then
v = Null
Else If tipo = gb.String Then
v = valor
Else If tipo = gb.Date Then
v = Val(valor)
Else 'If tipo = gb.Boolean Or If tipo = gb.byte Or If tipo = gb.short Or If tipo = gb.Integer Or If tipo = gb.long Or If tipo = gb.Single Or If tipo = gb.Float Or If tipo = gb.Date Then
v = Val(valor)
Endif
clave = Me.rslt.Fields[n].Name
actual.Add(IIf(IsNull(v), "", v), clave)
Next
ar.Add(actual)
actual = Null
Next
Return ar
End
Devuelve un array con una colección por cada fila seleccionada del GridView que contiene todos los campos correspondientes a las columnas mostradas pero en su formato original (numérico, texto o lo que sea).
=================== No podemos regresar
última edición por shordi el Sabado, 30 Septiembre 2017, 07:39; editado 1 vez
|
#4 Sabado, 30 Septiembre 2017, 07:36 |
|
|
Shell
Analista Programador
Registrado: Marzo 2010
Mensajes: 5278
Edad: 53 Ubicación: Al otro lado de la pantalla
|
Re: Array De Colecciones
Shordi:
¿ Cómo es que no usaste un Select Case con la variable tipo ?.
No parece tanto código usando uno u otro.
Saludos
=================== Gambas Básico
"No es un bug, es una característica no documentada"
|
#5 Sabado, 30 Septiembre 2017, 08:27 |
|
|
shordi
Analista Programador
Registrado: Septiembre 2009
Mensajes: 4982
Edad: 64 Ubicación: Albacete
|
Re: Array De Colecciones
Shordi:
¿ Cómo es que no usaste un Select Case con la variable tipo ?.
No parece tanto código usando uno u otro.
Saludos
Es código fósil... antes estaba activa la línea
Else 'If tipo = gb.Boolean Or If tipo = gb.byte Or If tipo = gb.short Or If tipo = gb.Integer Or If tipo = gb.long Or If tipo = gb.Single Or If tipo = gb.Float Or If tipo = gb.Date Then
y otras muchas que hacían verificaciones varias en las condiciones de los if... luego fuí simplificando las condiciones hasta llegar a lo que ves, pero sin plantearme nunca el cambio "simplemente porque estaba ahí"
Saludos
=================== No podemos regresar
|
#6 Sabado, 30 Septiembre 2017, 11:49 |
|
|
|
Temas parecidos
Temas parecidos
Tema |
Autor |
Foro |
Respuestas |
último mensaje |
|
Ejemplo Con Colecciones, Funciones, Proced...
|
Shell |
Aplicaciones/Fragmentos de Código |
2 |
Sabado, 16 Noviembre 2013, 20:42 Shell |
|
Colecciones Que Pierden Itemes.
|
tincho |
Aplicaciones/Fragmentos de Código |
4 |
Lunes, 28 Enero 2019, 09:29 Shell |
|
Depurador De Colecciones Sin Claves [SOLUC...
|
tincho |
Aplicaciones/Fragmentos de Código |
3 |
Jueves, 04 Junio 2020, 11:50 tincho |
|
Insertar Array Dentro De Un Array
|
Shell |
General |
1 |
Lunes, 29 Junio 2020, 13:57 vuott |
|
Página 1 de 1
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 1 invitado Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos Puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|