Ordenar un objeto "Collection" -
tincho - 02-09-2022
Hola a todos.
Alguien podria decirme como ordenar una coleccion simple, donde el indice es un texto y el valor también.
Dejo un ejemplo con una coleccion similar, donde el indice es un año, y está ordenado de menor a mayor, luego el texto, que es lo que deseo ordenar de menor a mayor es un texto alfanumérico cualquiera.
Primer planteo de solucion
GAMBAS
aTmp.
Add(sText
& "\t" & c.
Key)
aTmp.Sort(gb.Ascent)
cTemp
[Split(sText,
"\t")[1]] = Split(sText,
"\t")[0]
Pero la salida no contempla los caracteres diacríticos
...
1879: Uso de tarjetas perforadas para el senso
1938: Z1 - Computadora electromecánica
1941: Z3 - Primera máquina programable y completamente automática
1617: Ábaco neperiano
1854: Álgebra boleana
RE: Ordenar un objeto "Collection" -
Shordi - 02-09-2022
Sólo cambia la línea
por
GAMBAS
aTmp.Sort(gb.Ascent + gb.Language + gb.IgnoreCase)
Saludos
RE: Ordenar un objeto "Collection" -
Shell - 02-09-2022
Una colección como "tal" no se puede ordenar, otra cosa es un array como demuestra Shordi.
La colección no tiene indice (un array si, pero esto ya lo sabes de sobra)

,
tiene clave. Un par clave y valor. Un diccionario en Python.
Bajo el ejemplo que también me interesa.
Interesante la forma de como lo haces.
Saludos
RE: Ordenar un objeto "Collection" -
tincho - 02-09-2022
(02-09-2022, 11:29)Shordi escribió: Sólo cambia la línea...
Perfecto, ya ordena todo correctamente sin importar si se trata de letras mayúsculas o acentuadas.
(02-09-2022, 11:45)Shell escribió: La colección no tiene indice (un array si, pero esto ya lo sabes de sobra)
,
Desde gambas 3.17 las colecciones S¡si que tienen indice.
https://gambaswiki.org/wiki/comp/gb/collection/keys
(02-09-2022, 11:45)Shell escribió: Una colección como "tal" no se puede ordenar
Eso no es verdad, se pueden ordenar ciertas colecciones como la que pase el ejemplo, eso si, no es algo "nativo"
RE: Ordenar un objeto "Collection" -
Shell - 02-09-2022
(02-09-2022, 13:19)tincho escribió: Desde gambas 3.17 las colecciones S¡si que tienen indice.
https://gambaswiki.org/wiki/comp/gb/collection/keys
Pero eso es un método que devuelve un array de claves de la colección.
(02-09-2022, 13:19)tincho escribió: Eso no es verdad, se pueden ordenar ciertas colecciones como la que pase el ejemplo, eso si, no es algo "nativo"
A eso me refiero, que no es de forma nativa.
Pero dice un dicho que "para siete vicios existen siete virtudes", o al revés.
Al igual que has encontrado una forma de ordenar los valores de la colección.
Saludos