Acentos en listados/Reports

HMG en Español

Moderator: Rathinagiri

Post Reply
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

Acentos en listados/Reports

Post by SALINETAS24 »

Hola, estoy trabajando con el códido de ejemplos que tenemos en \CONTROL\PRINT\PRINT_TO_PDF.

En dicho ejemplo he cambiado una linea y he puesto mi nombre con acentos y con el caracter "ñ", pero no consigo mostrarlo. He estado haciendo pruebas con SET PRINTDOC y tampoco lo consigo.

¿me podéis indicar que tengo que añadir al código de ejemplo para obtener un resultado correcto...?

Y si tengo Window bien configurado..., ¿hay alguna forma de que HMG coja la asignación del idioma de Windows...?

Muchas gracias.., y manteniendo la distancia vamos con una cervecita....

Code: Select all

#include "hmg.ch"
#include "hmg_hpdf.ch"   // Esta la he añadido yo
*------------------------------------------------------------------------------*
Function Main()
*------------------------------------------------------------------------------*

//	AVAILABLE LIBRARY INTERFACE LANGUAGES

//	SET LANGUAGE TO ENGLISH (DEFAULT)
//	SET LANGUAGE TO SPANISH
//	SET LANGUAGE TO PORTUGUESE
//	SET LANGUAGE TO ITALIAN
//	SET LANGUAGE TO GERMAN
//	SET LANGUAGE TO FRENCH

	Private aColor [10]

	aColor [1] := YELLOW	
	aColor [2] := PINK	
	aColor [3] := RED	
	aColor [4] := FUCHSIA	
	aColor [5] := BROWN	
	aColor [6] := ORANGE	
	aColor [7] := GREEN	
	aColor [8] := PURPLE	
	aColor [9] := BLACK	
	aColor [10] := BLUE

	DEFINE WINDOW Win_1 ;
		AT 0,0 ;
		WIDTH 400 ;
		HEIGHT 400 ;
		TITLE 'MiniPrint Library Test' ;
		MAIN 

		DEFINE MAIN MENU 
			DEFINE POPUP 'File'
				MENUITEM 'Default Printer' ACTION PrintTest1()
				MENUITEM 'User Selected Printer' ACTION PrintTest2()
				MENUITEM 'User Selected Printer And Settings' ACTION PrintTest3()
				MENUITEM 'User Selected Printer And Settings (Preview)' ACTION PrintTest4()
				MENUITEM 'PDF Print' ACTION PrintTest5()
			END POPUP
		END MENU

	END WINDOW

	MAXIMIZE WINDOW Win_1

	ACTIVATE WINDOW Win_1

Return
*------------------------------------------------------------------------------*
Procedure PrintTest1()
*------------------------------------------------------------------------------*
Local i 

	SELECT PRINTER DEFAULT PREVIEW;
		ORIENTATION	PRINTER_ORIENT_PORTRAIT ;
		PAPERSIZE	PRINTER_PAPER_LETTER ;
		QUALITY		PRINTER_RES_MEDIUM 

	PrintDoc()

	MsgInfo('Print Finished')

Return
*------------------------------------------------------------------------------*
Procedure PrintTest2()
*------------------------------------------------------------------------------*
Local i 
Local cPrinter

	cPrinter := GetPrinter()

	If Empty (cPrinter)
		Return
	EndIf

	SELECT PRINTER cPrinter ;
		ORIENTATION	PRINTER_ORIENT_PORTRAIT ;
		PAPERSIZE	PRINTER_PAPER_LETTER ;
		QUALITY		PRINTER_RES_MEDIUM

	PrintDoc()

	MsgInfo('Print Finished')

Return
*------------------------------------------------------------------------------*
Procedure PrintTest3()
*------------------------------------------------------------------------------*
Local i 
Local lSuccess

	// Measure Units Are Millimeters

	SELECT PRINTER DIALOG TO lSuccess 

	If lSuccess == .T.
		PrintDoc()
		MsgInfo('Print Finished')
	EndIf

Return
*------------------------------------------------------------------------------*
Procedure PrintTest4()
*------------------------------------------------------------------------------*
Local i 
Local lSuccess

	SELECT PRINTER DIALOG TO lSuccess PREVIEW

	If lSuccess == .T.
		PrintDoc()
		MsgInfo('Print Finished')
	EndIf

Return
*------------------------------------------------------------------------------*
Procedure PrintTest5()
*------------------------------------------------------------------------------*
Local i 
Local lSuccess

	SELECT PRINTER PDF 'pdfprintdemo.pdf' TO lSuccess

	If lSuccess == .T.
		PrintDoc()
		MsgInfo('Print Finished')
      if file( 'pdfprintdemo.pdf')
         execute file 'pdfprintdemo.pdf'
      endif   
	EndIf

Return
*------------------------------------------------------------------------------*
Procedure PrintDoc
*------------------------------------------------------------------------------*
Local i

	// Measure Units Are Millimeters
*	SET PRINTER ENCODING TO "WinAnsiEncoding"
*	SET HPDFDOC ENCODING TO "WinAnsiEncoding"
*	 SET PRINTDOC ENCODING TO "CP1252" 

		START PRINTDOC 


			START PRINTPAGE

				@ 20,20 PRINT "JOsé Manúel niÑo " ;    // Esta la he añadido yo
					FONT "Arial" ;
					SIZE 20 

			
				@ 30,20 PRINT RECTANGLE ;
					TO 40,190 ;
					PENWIDTH 0.1;
					COLOR {255,255,0}
					
					
				@ 60,20 PRINT RECTANGLE ;
					TO 100,190 ;
					PENWIDTH 0.1;
					COLOR {255,255,0};
					FILLED
					
				@ 110,20 PRINT RECTANGLE ;
					TO 150,190 ;
					PENWIDTH 0.1;
					COLOR {255,255,0};
					ROUNDED
					
				@ 160,20 PRINT RECTANGLE ;
					TO 200,190 ;
					PENWIDTH 0.1;
					COLOR {255,255,0};
					FILLED;
					ROUNDED
										
			END PRINTPAGE
			START PRINTPAGE

				@ 20,20 PRINT "Filled Rectangle Sample:" ;
					FONT "Arial" ;
					SIZE 20 

			
				@ 30,20 PRINT RECTANGLE ;
					TO 40,190 ;
					PENWIDTH 0.1
					
				@ 60,20 PRINT RECTANGLE ;
					TO 100,190 ;
					PENWIDTH 0.1;
					FILLED
					
				@ 110,20 PRINT RECTANGLE ;
					TO 150,190 ;
					PENWIDTH 0.1;
					ROUNDED
					
				@ 160,20 PRINT RECTANGLE ;
					TO 200,190 ;
					PENWIDTH 0.1;
					FILLED;
					ROUNDED
										
			END PRINTPAGE

			
	END PRINTDOC

Return


Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
User avatar
mustafa
Posts: 1158
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Contact:

Re: Acentos en listados/Reports

Post by mustafa »

Hola Nanu com estas ?
mira de ponerle al Principio

Code: Select all

 REQUEST HB_CODEPAGE_ESWIN     
  HB_SETCODEPAGE("ESWIN")    
 
  REQUEST HB_LANG_ES   
  HB_LANGSELECT("ES")  
  
*----------------------------------*
  SET CENTURY ON
  SET DATE FRENCH
  SET ESCAPE ON
  SET NAVIGATION EXTENDED
  SET LANGUAGE TO SPANISH 
  SET CODEPAGE TO SPANISH
*  SET CODEPAGE TO UNICODE
si el fichero prg esta guardado como ANSI
y si esta guardado con UTF-8

Code: Select all

 * SET LANGUAGE TO SPANISH 
*  SET CODEPAGE TO SPANISH
   SET CODEPAGE TO UNICODE

Haber que pasa ?

Salud
Musta
User avatar
mustafa
Posts: 1158
Joined: Fri Mar 20, 2009 11:38 am
DBs Used: DBF
Location: Alicante - Spain
Contact:

Re: Acentos en listados/Reports

Post by mustafa »

La solución no funciona
si la fuente es de un dbf si que salen acentos y ÑÑÑÑÑñññññññññññ
?
estoy probando con ---> HPDFPRINT

Code: Select all

*------------------------------------------------------------------------------*
Procedure PrintDoc25()
*------------------------------------------------------------------------------*
Local cNombre := "mostra.pdf"
dbcloseall()
USE STOCK
DBGOTOP()

   SELECT HPDFDOC cNombre TO lSuccess papersize HPDF_PAPER_A4 
   SET HPDFDOC ENCODING TO "WinAnsiEncoding"

    START HPDFDOC
              
            START HPDFPAGE
		
     @ 026,055 HPDFPRINT ALLTRIM("JOsé Manú el NiÑo ") FONT "Times-Roman" SIZE 12 
     @ 070,055 HPDFPRINT ALLTRIM( Stock->PRODUCTO  ) FONT "Times-Roman" SIZE 12    // Lo Mismo  <-----  JOsé Manú el NiÑo "
      
    END HPDFPAGE  
 END HPDFDOC   

Return Nil

Solo funciona con :
@ 120,50 HPDFPRINT "Jos"+ chr(233) + SPACE(1) +"Man"+ chr(250)+SPACE(2)+"el Ni"+chr(209)+"o" FONT "Arial" SIZE 12
Attachments
Mostra.jpg
Mostra.jpg (5.88 KiB) Viewed 1568 times
User avatar
Pepe Ruano
Posts: 65
Joined: Fri Aug 16, 2013 11:31 am
DBs Used: DBF
Location: Almansa, Albacete - Spain
Contact:

Re: Acentos en listados/Reports

Post by Pepe Ruano »

Hola Salinetas.
Si estás utilizando Notepad++ vete a codifación y dale a Convertir a Ansi
Guarda y prueba. Yo lo he hecho y funciona bien.
Espero que estéis bien todos y saludos a ¡¡ Mustafa !!
Saludos desde Almansa.
HMG_PrintFile_0001.JPG
HMG_PrintFile_0001.JPG (5.11 KiB) Viewed 1508 times
Saludos - Regards
Pepe Ruano
hmg.ruano.org
User avatar
SALINETAS24
Posts: 667
Joined: Tue Feb 27, 2018 3:06 am
DBs Used: DBF
Contact:

Re: Acentos en listados/Reports

Post by SALINETAS24 »

Hola Pepe, muchas gracias.., hay veces que lo evidente no se ve a simple vista.
by Pepe Ruano » Sat May 09, 2020 1:40 pm

Hola Salinetas.
Si estás utilizando Notepad++ vete a codifación y dale a Convertir a Ansi
Guarda y prueba. Yo lo he hecho y funciona bien.
Espero que estéis bien todos y saludos a ¡¡ Mustafa !!
Saludos desde Almansa.
Muchas gracias también al amigo Mustafa..., y por lo que veo estamos bien.
by mustafa » Fri May 08, 2020 6:03 pm

La solución no funciona
si la fuente es de un dbf si que salen acentos y ÑÑÑÑÑñññññññññññ
?
estoy probando con ---> HPDFPRINT
Y ahora ya tenemos una excusa perfecta para ir a Almansa a tomarnos unos buenos Gazpachos regados con ese vino tinto..., Castillo de Almansa.., y podernos conocer personalmente los tres..., y cualquier que se quiera apuntar. ;)

De momento nos conformamos con una cervecita fresquita...., y vitual. :lol:

Sl2
Como dijo el gran pensador Hommer Simpson..., - En este mundo solo hay 3 tipos de personas, los que saben contar y los que no. :shock:
Post Reply