Page 1 of 1

ORDEN DE INDEXACION PROBLEMAS CON Ñ ACENTOS, ETC

PostPosted: Tue Sep 26, 2006 9:33 pm
by rbecares
Amigos:

Ya estuve viendo que otro topic del foro trata el tema y quedo inconcluso, ahora tengo el mismo problema. probe la solucion que aportaban que era linkear con NTXSPA.OBJ pero persiste.

Esto no ocurria con los datos migrados del sistema DOS, al agregar datos ahora cargados en windows / fivewin / clipper tenemos que se graban distinto y se genera este desfasaje.

El tema es: en disco tenemos grabados los datos en formato ansi, donde una Ñ queda despues de la Z entonces por ej. ordena

carcaza
casquete
caño

¿Alguien sabe como tratar este tema?

Gracias desde ya.
Saludos.
Ricardo.-

PostPosted: Thu Sep 28, 2006 7:07 am
by Antonio Linares
Ricardo,

Revisa las funciones AnsiToOem() y OemToAnsi().

PostPosted: Thu Sep 28, 2006 2:03 pm
by rbecares
Antonio:

Estamos trabajando con OemToAnsi y AnsiToOem, y la visualización es correcta ( migramos los datos de DOS a ansi para compatibilizarlos con los nuevos datos grabados bajo windows ).

El problema que tenemos es solamente la secuencia de ordenamiento de los datos indexados, donde vistos desde el sistema o cualquier editor de dbfs ocurre que las Ññ y las vocales acentuadas no ocupan la posicion que "deberían" en español.

Espero tu comentario.
Gracias.
Ricardo.-

PostPosted: Thu Sep 28, 2006 6:20 pm
by Antonio Linares
Ricardo,

Este tema está mjy bien implementado en Harbour/xHarbour. El consejo sería aprovechar ese problema para migrar la aplicación a 32 bits.

PostPosted: Fri Sep 29, 2006 1:25 pm
by rbecares
Antonio:

Gracias, tenemos avanzada la migración pero por otro lado por la forma en que programamos no es tan directa, y necesitamos pegarle bastantes recursos ( que como siempre son escasos ), puede ser la meta para fin de año o primer trimestre de 2007.

Tenes algo que podamos hacer mientras tanto?, para darle soporte a los clientes que estan actualmente funcionando.....

Gracias.
Ricardo.-

PostPosted: Fri Sep 29, 2006 4:09 pm
by Antonio Linares
Ricardo,

Envíame por email NTXSPA.OBJ, gracias.

PostPosted: Tue Oct 03, 2006 12:36 pm
by rbecares
Antonio:

Te envié hace un par de días los archivos solicitados con uno con datos, ¿te llegaron?

Saludos.
Ricardo.-

PostPosted: Tue Oct 03, 2006 1:13 pm
by Antonio Linares
Ricardo,

Sí, lo hemos recibido y lo vamos a estudiar.

PostPosted: Wed Oct 04, 2006 6:06 am
by Antonio Linares
Ricardo,

La idea era ver que contiene el módulo NTXSPA.obj y ver la forma de reemplazarlo ó corregirlo:

Estas son las funciones que contiene:

NTXSPA size = 2628
ISALPHA ISDIGIT
ISLOWER ISUPPER
_NATSORTVE __ch_type
__dcmp __locase
__nLexId __nScanId
__nascii __natrddver
__ncopylc __ncopyuc
__ndbcs __nget
__nnexti __node_search
__nprevi __nput
__ntrimlen __s_order
__scann __scanw
__tcmp __upcase
__xcmp

El problema es estan escritas en C (ó en ensamblador) y no es algo inmediato el poder analizarlas.

PostPosted: Wed Oct 04, 2006 6:10 am
by Antonio Linares
Ricardo,

Si editas ntxspa.obj con un editor binario, verás que usa las siguientes secuencias. Imagino que tendrías que modificarlas para ordenar según tus necesidades:

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEGHIJKLMNOQRSTUVWXYZ[]abcdefgijklnopqstuvwy{|}~

!"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\]^_`ABCDEFGHIJKLMNOPQRSTUVWXYZ{|}~

!"#$%&'()*+,-./0123456789:;<=>?@abcdefghijklmnopqrstuvwxyz[\]^_`abcdefghijklmnopqrstuvwxyz{|}~

PostPosted: Thu Oct 05, 2006 4:09 am
by rbecares
Antonio:

Gracias, haré la prueba.

Un abrazo.
Ricardo.-