Page 1 of 2

Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Sat Feb 18, 2012 3:09 am
by gvaronas
Hola:

Tengo un pequeño programa que genera un archivo excell.
Al compilarlo con cualquier version superior a la versión HMG 3.0.37a, (HMG 3.0.38 hasta la HMG 3.0.40), en el excel ya no se ve bien las vocales con tilde y otros caracteres especiales como el simbolo º.
Por ejemplo en el excel debe aparecer esto:

Nº:
áÁ éÉ íÍ óÓ úÚ
º ñÑ ª


En la version HMG 3.0.37a funciona bien.
Adjunto fuentes para probar y graficos de como funciona los programas en las diferenctes versiones.

Cualquier ayuda es bienvenida.

De antemano, muchas gracias.

Salu2,
GVS

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Sun Feb 19, 2012 1:08 am
by danielmaximiliano
puedes postear parte del codigo Excell.

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Sun Feb 19, 2012 1:47 am
by gvaronas
Hola Daniel, gracias por responder.
El código va adjunto al post anterior en un archivo main.zip.

Debo aclarar que en la versión que trabaja bien es en la HMG 3.0.35, la acabo de bajar y funciona bien.
A partir de la HMG 3.0.37 hasta la HMG 3.0.40 es donde el comportamiento y la visualización de los caráteres especiales son incorrectos.

De todas formas aqui pego el codigo:

Code: Select all

#include <hmg.ch>
DECLARE  WINDOW frmRegVen
REQUEST DBFCDX

PROCEDURE Main

	SET DELE ON
   // setmode(25,80)
	rddSetDefault( "DBFCDX" )
	SET DATE BRIT
	SET LANGUAGE TO SPANISH
	
        Load Window frmRegVen
        frmRegVen.Center
        frmRegVen.Activate

Return


PROCEDURE Procesa()
   *
   oExcel := CreateObject( "Excel.Application" )
   oExcel:Visible := .T.

   oExcel:WorkBooks:Add()
   oExcel:Sheets:Add:Name = "GVS"
   oHoja := oExcel:ActiveSheet()
   *
   oHoja:Cells( 1, 1 ):Value := "Desarrollado con: "
   oHoja:Cells( 2, 1 ):Value := MiniGUIVersion()
   oHoja:Cells( 3, 1 ):Value := Version()
   oHoja:Cells( 4, 1 ):Value := HB_Compiler() 
   oHoja:Cells( 5, 1 ):Value := HB_OEMTOANSI("Nº: ")
   oHoja:Cells( 6, 1 ):Value := HB_OEMTOANSI(" áéíóú ÁÉÍÓÚ")
   oHoja:Cells( 7, 1 ):Value := " áéíóú ÁÉÍÓÚ"
   RETURN
El FMG y los demas archivos estan en el ZIP enviado.

Espero me puedan ayudar.
De antemano mucha gracias.

Salu2,
GVS

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 2:41 am
by danielmaximiliano
Hola Guillermo:
Mira, no encontre problemas de compatibilidad en HMG, sucede que cambio algunas cosas en Harbour desde la version 2.1
y la Nightly que usa HMG.3.0.40
voy a probar lenguajes

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 3:50 am
by danielmaximiliano
Hola Guillermo :
Buenas Noticias , al utilizar HMG.3.0.40 estas utilizando caracteres Unicode
unicode.png
unicode.png (34.19 KiB) Viewed 5856 times
entonces al utilizar

Code: Select all

HB_OEMTOANSI("Nº: ")
no corresponden el juego de carácteres enviado desde la aplicacion ya que no estamos en modo Consola.
Harbour References : Convert a DOS(OEM) Character to a WINDOWS (ANSI) based character

sin enbargo puedes seleccionar el juego de caracteres unicode mediante :

Code: Select all

 HB_CDPSELECT( "UTF8" )
los caracteres ahora enviado a Excell son correctos hasta el momento. no se si habra algún otro problema pero puedes seguir probando

Code: Select all

 oHoja:Cells( 1, 1 ):Value := "Desarrollado con: "
   oHoja:Cells( 2, 1 ):Value := MiniGUIVersion()
   oHoja:Cells( 3, 1 ):Value := Version()
   oHoja:Cells( 4, 1 ):Value := HB_Compiler()
   oHoja:Cells( 5, 1 ):Value := "N°:"
   oHoja:Cells( 6, 1 ):Value := " ñ Ñ ¦ "
   oHoja:Cells( 7, 1 ):Value := " áéíóú ÁÉÍÓÚ"
HMG.3.0.40.png
HMG.3.0.40.png (84.23 KiB) Viewed 5856 times

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 5:24 am
by gvaronas
Hola Daniel,
Solo agregue esta línea:

Code: Select all

 HB_CDPSELECT( "UTF8" )
y ahora funciona perfecto, aunque falta ver cómo exporta las tildes y los carácteres especiales que tengo en las DBF.

Muchisimas Gracias por tu ayuda.

Salu2,
GVS

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 5:35 pm
by gvaronas
Hola Daniel, Malas Noticias :-(
Resulta que solo algunos Caracteres especiales lo muestra bien.
¿Dónde puedo encontrar documentación sobre la función HB_CPDSELECT()

Salu2,
GVS

gvaronas wrote:Hola Daniel,
Solo agregue esta línea:

Code: Select all

 HB_CDPSELECT( "UTF8" )
y ahora funciona perfecto, aunque falta ver cómo exporta las tildes y los carácteres especiales que tengo en las DBF.

Muchisimas Gracias por tu ayuda.

Salu2,
GVS

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 5:56 pm
by danielmaximiliano
Guillermo:
Puedes postear parte del codigo que utilizas en tu aplicacion.
si usas una tabla/dbf con algunos registros que no compromenta la info que tienes guardada.

perdon me olvide el link :
http://www.vouch.info/harbour/index.html?codepage.htm

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 7:48 pm
by gvaronas
danielmaximiliano wrote:Guillermo:
Puedes postear parte del codigo que utilizas en tu aplicacion.
si usas una tabla/dbf con algunos registros que no compromenta la info que tienes guardada.
Daniel, justo te iba a pedir que mas bien tu me envies el código que tienes, ya que me contentaría con salida del excel que muestas en el gráfico.
Porfa, enviame tu código de prueba.

Salu2,
GVS

Re: Incompatibilidad entre HMG 3.0.37a y HMG 3.0.40

Posted: Mon Feb 20, 2012 7:55 pm
by danielmaximiliano

Code: Select all

#include <hmg.ch>
DECLARE  WINDOW frmRegVen
REQUEST DBFCDX

PROCEDURE Main

	SET DELE ON
   // setmode(25,80)
	rddSetDefault( "DBFCDX" )
 HB_CDPSELECT( "UTF8" )
	
        Load Window frmRegVen
        frmRegVen.Center
        frmRegVen.Activate

Return


PROCEDURE Procesa()
   *
   oExcel := CreateObject( "Excel.Application" )
   oExcel:Visible := .T.

   oExcel:WorkBooks:Add()
   oExcel:Sheets:Add:Name = "GVS"
   oHoja := oExcel:ActiveSheet()
   *
   oHoja:Cells( 1, 1 ):Value := "Desarrollado con: "
   oHoja:Cells( 2, 1 ):Value := MiniGUIVersion()
   oHoja:Cells( 3, 1 ):Value := Version()
   oHoja:Cells( 4, 1 ):Value := HB_Compiler()
   oHoja:Cells( 5, 1 ):Value := "N°:"
   oHoja:Cells( 6, 1 ):Value := " ñ Ñ ¦ "
   oHoja:Cells( 7, 1 ):Value := " áéíóú ÁÉÍÓÚ"
   oHoja:Cells( 7, 1 ):Value := "ÀÁÃÄÅÈÊËÌÍÏÜÙÛ?˜ "
   RETURN