Ayuda: caractéres graficos al modo MS-DOS en TReport.

Ayuda: caractéres graficos al modo MS-DOS en TReport.

Postby fernandomoralesdr » Tue Jun 29, 2010 3:10 pm

Hola.
Estoy creando un informe para una factura con la clase TReport y quiero incluir caractéres gráficos Alt+179, Alt+196 (│, ─, ├, ┼ ) al igual que hacia en MS-DOS, pero no consigo que me los muestre al imprimir; siempre me los convierte a otros caractéres. Sin embargo, me he dado cuenta de que en la clase TReport se utilizan este tipo de caractéres y los muestra bien . ¿Alguna ayuda al respecto?
Un saludo,
Fernando
Las Palmas de Gran Canaria
fernandomoralesdr
 
Posts: 139
Joined: Sun Apr 23, 2006 9:00 am

Re: Ayuda: caractéres graficos al modo MS-DOS en TReport.

Postby Carlos Mora » Wed Jun 30, 2010 6:32 am

Fernando,

TReport no usa los caracteres especiales, sino que dibuja líneas. Puedes ver como lo hace mirando el código, es algo complejo pero seguramente te aclarará muchos conceptos y te dará ideas.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España

Re: Ayuda: caractéres graficos al modo MS-DOS en TReport.

Postby fernandomoralesdr » Wed Jun 30, 2010 9:43 am

Hola Carlos.
Mirate el fuente de TReport (más menos línea 710) y verás que utiliza caractéres gráficos para montar el separator, aunque no sé por qué ahí funciona y a mi no.
Un saludo,
Fernando
Las Palmas de Gran Canaria
fernandomoralesdr
 
Posts: 139
Joined: Sun Apr 23, 2006 9:00 am

Re: Ayuda: caractéres graficos al modo MS-DOS en TReport.

Postby Carlos Mora » Wed Jun 30, 2010 10:49 am

Si, lo ví, dice

Code: Select all  Expand view
  if ! ::lPrinter .and. ! ::lScreen

      cSeparator := ""
      AEval( ::aColumns,;
         {|val| cSeparator += Replicate( "Ä", Val:nWidth) + "Å" } )
      cSeparator := "Ã" + Substr( cSeparator,1, Len( cSeparator ) - 1 ) + "´"
      ::oDevice:Say( nRow, nLeft - ::nSeparator, cSeparator )
      ::Shadow( ::nStdLineHeight )
      ::nRow += ::nStdLineHeight
      return nil

   endif

 


es decir si no es ni impresora ni pantalla arma los separadores, que creo que no es nuestro caso.
Saludos
Carlos Mora
http://harbouradvisor.blogspot.com/
StackOverflow http://stackoverflow.com/users/549761/carlos-mora
“If you think education is expensive, try ignorance"
Carlos Mora
 
Posts: 988
Joined: Thu Nov 24, 2005 3:01 pm
Location: Madrid, España


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Antonio Linares and 160 guests