La letra Ñ
La letra Ñ
Hola Antonio,
>
> Te escribo porquer llevo un tiempo con un rpblema que no he conseguido resolver.
>
> Se trata de una búsqueda que hago en un fichero word cargado con memoread así:
>
> cTxt := lower( MemoRead( cFile ) )
> cPal := lower( cPal ) // cPal es = a "CAÑONES"
>
> At( cPal, cTxt ) // Me devuelve 0, es decir, no la encuentra.
>
> Si hago un MsgInfo de cPal, me muestra "caÑones".
>
> ¿porqué no convierte la Ñ?
>
> Te escribo porquer llevo un tiempo con un rpblema que no he conseguido resolver.
>
> Se trata de una búsqueda que hago en un fichero word cargado con memoread así:
>
> cTxt := lower( MemoRead( cFile ) )
> cPal := lower( cPal ) // cPal es = a "CAÑONES"
>
> At( cPal, cTxt ) // Me devuelve 0, es decir, no la encuentra.
>
> Si hago un MsgInfo de cPal, me muestra "caÑones".
>
> ¿porqué no convierte la Ñ?
Respuesta:
Hola Javier,
Comprueba que tengas este código al comienzo de tu aplicación:
Tienes que añadir estas líneas al comienzo de tu PRG principal:
REQUEST HB_Lang_ES
REQUEST HB_CODEPAGE_ESWIN
HB_LangSelect("ES") // Para mensajes, fechas, etc..
HB_SetCodePage("ESWIN") // Para ordenación, requiere CodePage.lib
saludos,
Comprueba que tengas este código al comienzo de tu aplicación:
Tienes que añadir estas líneas al comienzo de tu PRG principal:
REQUEST HB_Lang_ES
REQUEST HB_CODEPAGE_ESWIN
HB_LangSelect("ES") // Para mensajes, fechas, etc..
HB_SetCodePage("ESWIN") // Para ordenación, requiere CodePage.lib
saludos,
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Antonio Linares
- Site Admin
- Posts: 37481
- Joined: Thu Oct 06, 2005 5:47 pm
- Location: Spain
- Contact:
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
hola
Alguien podria enviar el resultado de estas dos lineas
ya que a mi aunque tenga codepage.lib igual no cambia las Ñ
Alguien podria enviar el resultado de estas dos lineas
ya que a mi aunque tenga codepage.lib igual no cambia las Ñ
Code: Select all
alert( lower( "NIÑA" ) )
alert( upper( "niña" ) )
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Gracias, funciona muy bien
en conclusion la funcion lower() de xharbour estaría mala?
en conclusion la funcion lower() de xharbour estaría mala?
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
- Patricio Avalos Aguirre
- Posts: 1028
- Joined: Fri Oct 07, 2005 1:56 pm
- Location: La Serena, Chile
- Contact:
Estimados
Al parecer la funcion AnsiLower tiene un compartimineto extraño, cambia el valor de la variable?
Al parecer la funcion AnsiLower tiene un compartimineto extraño, cambia el valor de la variable?
Code: Select all
local cVar := "NIÑA"
alert( Lower( cVar ) ) // no cambia la Ñ a ñ == !Error
alert( cVar ) // deja la variable como corresponde, bien
alert( ansilower( cVar ) ) // cambia la Ñ a ñ == > BIEN
alert( cVar ) // cambia la variable a niña ==> MUY MAL..
Saludos
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
Patricio
__________________________________________________________________
Version: Harbour 3.2.0dev (r1307082134),Compiler: Borland C++ 5.8.2 (32-bit)
PCode version: 0.3, FWH 13.2
http://www.sialm.cl
cierto, ahora que lo mencionas, creo que si, ya tiene algunos años que no la utilizo, pero la respuesta correcta a esa pregunta nos la podría dar antonio, porque es una función de fivewin, pero lo que puedes hacer es
cPalabra := "niña"
:
:
cTemp := cPalabra
alert( ansiUpper( cTemp ) ) // Cambia el valor de la variable, pero solo la utilizas para mostrar el nuevo valor
alert( cPalabra )
o en su caso, si lo que quieres es asignarle el nuevo valor a otra variable, lo puedes hacer al revez
cPalabra := "niña"
cUpper := cPalabra
ansiUpper( cUpper )
cPalabra := "niña"
:
:
cTemp := cPalabra
alert( ansiUpper( cTemp ) ) // Cambia el valor de la variable, pero solo la utilizas para mostrar el nuevo valor
alert( cPalabra )
o en su caso, si lo que quieres es asignarle el nuevo valor a otra variable, lo puedes hacer al revez
cPalabra := "niña"
cUpper := cPalabra
ansiUpper( cUpper )
Saludos
Quique
Quique