FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour Ordenamiento de Acentos en un ASORT
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Ordenamiento de Acentos en un ASORT
Posted: Thu Jul 28, 2022 06:50 PM

Hola gente! Cómo están, estoy teniendo un problema de ordenamiento
en un asort por nombres de un listado de alumnos, ejemplo ordena de la siguiente manera:

REARTES, AGOSTINA
REGALO, RAMIRO
RÉBOLA, ANDRÉS // este estaría mal ordenado
RIBOLDI, JULIA

utilizo lo siguiente para definir mi prg:

REQUEST HB_Lang_ES // Para establecer idioma de Mensajes, fechas, etc..
REQUEST HB_CODEPAGE_ESWIN // Para establecer código de página a Español (Ordenación, etc..)
HB_LangSelect("ES") // Para mensajes, fechas, etc..
HB_SetCodePage("ESWIN") // Para ordenación (arrays, cadenas, etc..) *Requiere CodePage.lib
Set_MyLang("es_ES")

Aún así el asort lo hace mal, hago: ASORT(tabla,{|| x[1]<y[1]), cuando la visualizo, queda en el orden mostrado arriba.
Que puede ser?

Muchas gracias!
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 350
Joined: Wed Nov 02, 2005 03:28 PM
Re: Ordenamiento de Acentos en un ASORT
Posted: Fri Jul 29, 2022 09:57 AM

Yo probaria poniendo :

ASORT(tabla,{|| oemtoansi(x[1])<oemtoansi(y[1])) o ASORT(tabla,{|| ansitooem(x[1])<ansitooem(y[1]))

Creo recordar que era la primera opción, pero hace tiempo que no lo uso.

Una vez lo tengas claro, también puedes hacer la opción de al añadir en la tabla usar el comando correcto y quitarlo en el asort. Eso ya dependen de si la función es particular o publica (la usas para otras cosas)

Ya nos dices.

Saludos,
Regards,

Jose Luis Alepuz
joseluis@mancomputer.com
www.mancomputer.com
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: Ordenamiento de Acentos en un ASORT
Posted: Fri Jul 29, 2022 12:51 PM

Gracias por responder, pero creo que no tiene que ver con el ansitooem y oemtoansi,
porque cuando consulto el la tabla mysql lo ordena bien, y la visualización es correcta.
Supongo que es algo que me está faltando incluir para que el ordenamiento sea correcto.
Alguien tendrá otra idea?
Muchas gracias!

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Ordenamiento de Acentos en un ASORT
Posted: Fri Jul 29, 2022 02:48 PM
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Ordenamiento de Acentos en un ASORT
Posted: Fri Jul 29, 2022 02:51 PM
En tu caso:

Code (fw): Select all Collapse
   ASORT( tabla )


Creo yo.

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: Ordenamiento de Acentos en un ASORT
Posted: Mon Aug 01, 2022 10:31 AM

Hola João, gracias por tu ayuda, si si.. ya sé que se ordena así,
el tema es que no me ordena bien según los caracteres especiales, como "ñ" o
vocales acentuadas... este es mi tema...
Muchas gracias...

Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Ordenamiento de Acentos en un ASORT
Posted: Mon Aug 01, 2022 01:37 PM
Intenta asi:

Code (fw): Select all Collapse
   ? 'UTF8toSTR OEM : ',hb_utf8tostr( cStr )

   ? 'UTF8toSTR ANSI: ',hb_oemtoansi( hb_utf8tostr( cStr ) )


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341
Posts: 470
Joined: Fri Feb 05, 2010 11:30 AM
Re: Ordenamiento de Acentos en un ASORT
Posted: Tue Aug 02, 2022 11:24 AM

Perdón mi ignorancia, pero usar esa función dentro del asort?

Como debería armar el ordenamiento?
Muchas gracias y disculpas....

Saludos
Roberto

Univ@c I.S.I.
Desarrolladores de Software
http://www.elcolegioencasa.ar
Posts: 8523
Joined: Tue Dec 20, 2005 07:36 PM
Re: Ordenamiento de Acentos en un ASORT
Posted: Tue Aug 02, 2022 12:25 PM
Tal vez:

Code (fw): Select all Collapse
ASORT( OemToAnsi( tabla ) )  // AnsiToOem()


Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion