Page 1 of 1
Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 4:21 pm
by hidroxid
Buenas
Usando Harbour 2.2 con FWh 12.02, una cadena con acentos pasada a un objeto de Windows se procesa correctamente, o sea, los acentos se visualizan correctamente en Windows.
Cambie a Harbour 3.2.0 (para hacer pruebsa0 y ahora los acentos en esas mismas cadenas no se visualizan bien, para hacerlo, debo convertirlas con AnsiToOem() antes de enviarlas al objeto de Windows.
La prueba la estoy realizando con el objeto Outlook.Application y el problema lo tengo tanto en el cSubject como en el cuerpo del correo.
¿Será que las librerias a utilizar para Harbour 3.2.0 al momento de linkar el ejecutable varían?
Gracias de antemano.
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 4:33 pm
by Antonio Linares
Puedes proporcionar un PRG de ejemplo para probarlo ?
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 5:10 pm
by hidroxid
Con mucho gusto.
Recuerda que debes tener el Microsoft Outlook instalado en el PC.
Code: Select all
#include "FiveWin.ch"
FUNCTION MAIN()
LOCAL oOutLook, oMail
LOCAL cSubject, oRecp
oOutLook := CreateObject( "Outlook.Application" )
oMail := oOutlook:CreateItem( 0 )
cSubject := "Verificación de acentos"
oMail:Subject := cSubject
oMail:Body := "Acentos en el cuerpo: áéíóú" + CRLF + CRLF + ;
"Harbour: " + Version()
// Remover para Harbour 3.2
// oMail:Subject := AnsiToOem( oMail:Subject )
// oMail:Body := AnsiToOem( oMail:Body )
oRecp := oMail:Recipients:Add( "Nombre <correo@alguien.com>" )
oRecp:Type := 1
TRY
oMail:display( .T. )
END
RETURN NIL
Captura con Harbour 2.1
Captura con Harbour 3.2.0 (sin AnsiToOem)
Captura con Harbour 3.2.0 (con AnsiToOem)
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 5:13 pm
by Antonio Linares
Usando AnsiToOem() funciona bien si ?
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 5:41 pm
by hidroxid
Si correcto, usando AnsiToOem funciona bien.
Pero estimo que no debería ser.
Será que se deben usar otras librerias al momento del lincado?
Recuerda que mi Fwh es 12.02
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 5:43 pm
by Antonio Linares
No le veo relación a FWH sino a la versión de Harbour que estabas usando, que era muy antigua
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 5:50 pm
by hidroxid
Ummm
Y no habra forma de especificar el code page al principio del programa para no tener que estar usando la funcion en cada llamada a objetos de Windows que requieran cadenas de caracter?
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 6:04 pm
by Antonio Linares
REQUEST HB_CODEPAGE_ESWIN
...
HB_CDPSELECT( "ESWIN" )
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 6:34 pm
by hidroxid
Funcionó excelente, gracias!
Pregunta: ¿Las versiones mas recientes del FWh ya tienen seleccionado el code page correcto?
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 6:39 pm
by Antonio Linares
> ¿Las versiones mas recientes del FWh ya tienen seleccionado el code page correcto?
No. Cada programador lo ajusta según su pais, preferencias, etc
Harbour funciona así
Re: Problemas con ansi/oem usando harbour 2.1 vs 3.2.0
Posted: Mon Apr 04, 2016 6:53 pm
by hidroxid
Agradecido.