Problemas Con Las Ordenaciones.


Subject: Problemas Con Las Ordenaciones.
Buenas,
Estoy haciendo un control, que luego subiré, que realiza ordenaciones en un array. El problema es que no parece saber manejar bien los caracteres con acentos ni los espacios en blanco dentro de las cadenas.
Como el tema es tan básico, presupongo que no sé lo que estoy haciendo y algo hago mal. Adjunto un proyecto que ilustra lo que hago.

captura_de_pantalla_de_2018_08_27_18_01_40

¿Alguien tiene alguna idea de qué pasa?

Saludos


Sorting-0.0.1.tar.gz
Description:  
Download
Filename: Sorting-0.0.1.tar.gz
Filesize: 11.42 KB
Downloaded: 39 Time(s)
Sorting-0.0.1.tar.gz
Description:  
Download
Filename: Sorting-0.0.1.tar.gz
Filesize: 11.42 KB
Downloaded: 39 Time(s)
Sorting-0.0.1.tar.gz
Description:  
Download
Filename: Sorting-0.0.1.tar.gz
Filesize: 11.42 KB
Downloaded: 39 Time(s)

Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
Tengo la sensación de que, siguiendo la lógica de ASCII y de los valores constituyentes los carácteres tipo UTF-8 localizados, es mejor usar el operador And, en vez que + en tu Método ar.Sort( ).

Last edited by vuott on Monday, 27 August 2018, 20:09; edited 1 time in total
Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
vuott escribió: [Ver mensaje]
Tengo la sensación de que, siguiendo la lógica de ASCII y de los valores constituyentes los carácteres tipo UTF-8 localizados, es mejor usar el operador And, en vez que + en tu Método ar.Sort( ).


Creo que no en este caso. El argumento de la función Sort() requiere un número entero, por eso las constantes gb. se pueden traducir como números enteros y se pueden sumar como tales.

Supongo que shordi habrá usado las funciones especiales string. donde sea necesario para manejar UTF8, en cuyo caso no veo por dónde puede venir el fallo...

Saludos

Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
Efectivamente, al código que aparece en la foto le he añadido, como ilustración lo siguiente:

Dim ar As String[]
Dim n As Integer


ar = Split(TextArea2.text, gb.newline)
For n = 0 To ar.Max
ar[n] = String.LCase(ar[n])
Next
ar.Sort(gb.Language + gb.IgnoreCase)
TextArea3.text = ar.Join(gb.NewLine)


y sigue lo mismo.

¿Alguien lo ha probado en sus maquinas-distros-idiomas?

Last edited by shordi on Tuesday, 28 August 2018, 13:57; edited 1 time in total
Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
shordi escribió: [Ver mensaje]
¿Alguien lo ha probado en sus maquinas-distros-idiomas?

Si, lo he probado y sale como n tu caso.
Estoy intentando hacer una función que haga la tarea, en cuanto tenga algo comento.
Saludos.

Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
Casi lo tengo.
pantallazo_2018_08_29_01_27_23
Saludos.

Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
Ya esta.
pantallazo_2018_08_29_02_24_05
Le agregue un TextArea para ver el texto convertido en Hex de 3 digitos, ya que previamente cada cadena es pasada a ascii.
Hay una discrepancia en las palabras Aliquam y aliquam que es ordenado distinto que en el TextArea1, pero supongo que funciona.
Saludos.


Sorting-0.0.3.tar.gz
Description:  
Download
Filename: Sorting-0.0.3.tar.gz
Filesize: 12.21 KB
Downloaded: 41 Time(s)
Sorting-0.0.3.tar.gz
Description:  
Download
Filename: Sorting-0.0.3.tar.gz
Filesize: 12.21 KB
Downloaded: 41 Time(s)
Sorting-0.0.3.tar.gz
Description:  
Download
Filename: Sorting-0.0.3.tar.gz
Filesize: 12.21 KB
Downloaded: 41 Time(s)

Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
Buena respuesta Tincho. Yo ya tenía hecha mi propia solución, que resulta ser algo más rápida que la tuya pero que no me gustaba porque era necesario, como en la tuya, proveer los caracteres especiales en el código, y eso ata la solución al lenguaje español que es suficiente para mí, pero no es lo ideal.
Por otra parte en la lista internacional, Charlie Ogier ha aportado otra solución (a la que también es necesario pasarle los caracteres especiales) que se ha demostrado más rápida que la tuya o que la mía.
testordenaciones
He unido las tres soluciones en un pequeño proyecto donde se ordena una lista de 10.000 elementos y se puede comparar cómo tres mentes distintas trabajan para solucionar el mismo problema. Siempre es interesante.

testing


ordenaciones-0.0.1.tar.gz
Description:  
Download
Filename: ordenaciones-0.0.1.tar.gz
Filesize: 72.95 KB
Downloaded: 42 Time(s)
ordenaciones-0.0.1.tar.gz
Description:  
Download
Filename: ordenaciones-0.0.1.tar.gz
Filesize: 72.95 KB
Downloaded: 42 Time(s)
ordenaciones-0.0.1.tar.gz
Description:  
Download
Filename: ordenaciones-0.0.1.tar.gz
Filesize: 72.95 KB
Downloaded: 42 Time(s)

Profile PM  
Subject: Re: Problemas Con Las Ordenaciones.
shordi escribió: [Ver mensaje]
...He unido las tres soluciones en un pequeño proyecto donde se ordena una lista de 10.000 elementos y se puede comparar cómo tres mentes distintas trabajan para solucionar el mismo problema. Siempre es interesante...

Claro siempre es enriquecedor ver el código que hizo otro y lo es mucho mas cuando es el mismo problema.
Me divertí un rato con ese código
Me descargue el ejemplo para echar un vistazo.
Saludos.

Profile PM  

Page 1 of 1


  
You cannot post new topics
You cannot reply to topics
You cannot edit your posts
You cannot delete your posts
You cannot vote in polls
You cannot attach files
You can download files
You cannot post calendar events

   

This is a "Lo-Fi" version of our main content. To view the full version with more information, formatting and images, please click here.

Powered by Icy Phoenix based on phpBB
Design by DiDiDaDo

Generation Time: 0.1555s (PHP: -55% SQL: 155%)
SQL queries: 26 - Debug Off - GZIP Enabled