FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin para Harbour/xHarbour TIMPRIME necesito salto de linea y TAB
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 04:29 PM
Hola.
Necesito crear la linea que se va a imprimir pero no logro hacer ni el salto de linea ni el tab "chr(9)"
como se hace? es para generar un PDF
Code (fw): Select all Collapse
METHOD armarLinea( xDatos ) CLASS TPdf
   LOCAL cLinea
   LOCAL xSalto := Chr( 13 )

   cLinea := ;
             " Nacimiento: " + xDatos[ "fecha_nacimiento" ] + xSalto + ;
             "  Localidad: " + xDatos[ "localidad_nacimiento" ] + xSalto + ;
             "      Padre: " + xDatos[ "padre_nacimiento" ] + xSalto + ;
             "      Madre: " + xDatos[ "madre_nacimiento" ] + xSalto + ;
             " Matrimonio: " + xDatos[ "fecha_matrimonio" ] + xSalto + ;
             "  Localidad: " + xDatos[ "localidad_matrimonio" ] + xSalto + ;
             "    Conyuge: " + xDatos[ "conyuge_matrimonio" ] + xSalto + ;
             "      Padre: " + xDatos[ "padre_matrimonio" ] + xSalto + ;
             "      Madre: " + xDatos[ "madre_matrimonio" ] + xSalto + ;
             "  Defunción: " + xDatos[ "fecha_defuncion" ] + xSalto + ;
             "  Localidad: " + xDatos[ "localidad_defuncion" ] + xSalto
   RETURN ( cLinea )

...

METHOD lineas() CLASS TPdf
   LOCAL elemento

   ::nLinea := 5

   FOR EACH elemento IN ::aDatosImprimir
      UTILPRN ::oUtil Self:nLinea, 1 SAY elemento[ 1 ]
      UTILPRN ::oUtil Self:nLinea+1, 1 SAY ::armarlinea(elemento[2])
      ::nlinea:= ::nLinea+3
   NEXT

   RETURN ( NIL )
Gracias.
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 08:21 PM
Gustavo, con la clase Tprint puedes imprimir especificamente en unas coordenadas, y alinear el texto según te guste.
Entiendo que no puede verse como una impresion del tipo texto con saltos de linea, pero puedes utilizar diferentes formatos de letra para darle la apariencia que te complazca.
Asimismo, para imprimir una linea debajo de la otra, puedes usar LASTROW para saber donde se quedó la ultima impresion y continuar desde ahi.
Code (fw): Select all Collapse
#include "Fivewin.ch"

Function Main()
   LOCAL oPrn, aLineas , i , j, y,  oFont, oFont1, oFont2
   DEFINE FONT oFont    NAME "ARIAL"       SIZE 25,60 BOLD
   DEFINE FONT oFont1   NAME "ARIAL"       SIZE 25,70 BOLD
   DEFINE FONT oFont2   NAME "ARIAL"       SIZE 20,40 BOLD
   aLineas := { {{"Nacimiento:" ,"01/01/2000"}, ;
              {"Localidad:" ,"Buenos Aires"},;
              {"Padre:","Juan Perez"},;
              {"Madre:","Maria Lopez"},;
              {"Matrimonio:","01/01/2002"} };
              ,;
              {{"Nacimiento:" ,"01/01/1940"}, ;
              {"Localidad:" ,"Mar del Plata"},;
              {"Padre:","Juan Lopez"},;
              {"Madre:","Maria Perez"},;
              {"Matrimonio:","01/01/1952"} };
            }

   PRINT oPrn NAME "Texto Gustavo" PREVIEW MODAL
         oPrn:SetPortrait()
         oPrn:SetPage(9)
         PAGE
         
          oPrn:CmBox( .5, .5, 1.5, 20.5 ) // Box arriba
          oPrn:CmSay( .8, 9.2, "ORIGINAL", oFont1, 20.5 )   
          @ 3.5, 1  PRINT TO oPrn TEXT "FORMULARIO DE GUSTAVO" SIZE 19,1 CM FONT oFont1 ALIGN "C"                 
          y := 5
         
          FOR i = 1 TO LEN(aLineas)
              FOR j = 1 TO LEN(aLineas[i])
                 @ y, 01 PRINT TO oPrn TEXT aLineas[i][j,1] SIZE 2.8,.5 CM FONT oFont2 ALIGN "R"
                 @ y, 04 PRINT TO oPrn TEXT aLineas[i][j,2] SIZE 7,.5 CM FONT oFont1 ALIGN "L" LASTROW y
              NEXT   
              y := y + 1.5       
          NEXT                 
         ENDPAGE
   ENDPRINT
   oFont:End()
   oFont1:End()
   oFont2:End()
RETURN nil
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 08:34 PM

y para hacer el salto de hoja?

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 08:45 PM
Code (fw): Select all Collapse
#include "Fivewin.ch"

Function Main()
   LOCAL oPrn, aLineas , i , j, y,  oFont, oFont1, oFont2
   DEFINE FONT oFont    NAME "ARIAL"       SIZE 25,60 BOLD
   DEFINE FONT oFont1   NAME "ARIAL"       SIZE 25,70 BOLD
   DEFINE FONT oFont2   NAME "ARIAL"       SIZE 20,40 BOLD
   aLineas := { {{"Nacimiento:" ,"01/01/2000"}, ;
              {"Localidad:" ,"Buenos Aires"},;
              {"Padre:","Juan Perez"},;
              {"Madre:","Maria Lopez"},;
              {"Matrimonio:","01/01/2002"} };
              ,;
              {{"Nacimiento:" ,"01/01/1940"}, ;
              {"Localidad:" ,"Mar del Plata"},;
              {"Padre:","Juan Lopez"},;
              {"Madre:","Maria Perez"},;
              {"Matrimonio:","01/01/1952"} };
              ,;
              {{"Nacimiento:" ,"01/01/2000"}, ;
              {"Localidad:" ,"Buenos Aires"},;
              {"Padre:","Juan Perez"},;
              {"Madre:","Maria Lopez"},;
              {"Matrimonio:","01/01/2002"} };
              ,;
              {{"Nacimiento:" ,"01/01/1940"}, ;
              {"Localidad:" ,"Mar del Plata"},;
              {"Padre:","Juan Lopez"},;
              {"Madre:","Maria Perez"},;
              {"Matrimonio:","01/01/1952"} };
              ,;
              {{"Nacimiento:" ,"01/01/2000"}, ;
              {"Localidad:" ,"Buenos Aires"},;
              {"Padre:","Juan Perez"},;
              {"Madre:","Maria Lopez"},;
              {"Matrimonio:","01/01/2002"} };
              ,;
              {{"Nacimiento:" ,"01/01/1940"}, ;
              {"Localidad:" ,"Mar del Plata"},;
              {"Padre:","Juan Lopez"},;
              {"Madre:","Maria Perez"},;
              {"Matrimonio:","01/01/1952"} };
              ,;
              {{"Nacimiento:" ,"01/01/2000"}, ;
              {"Localidad:" ,"Buenos Aires"},;
              {"Padre:","Juan Perez"},;
              {"Madre:","Maria Lopez"},;
              {"Matrimonio:","01/01/2002"} };
              ,;
              {{"Nacimiento:" ,"01/01/1940"}, ;
              {"Localidad:" ,"Mar del Plata"},;
              {"Padre:","Juan Lopez"},;
              {"Madre:","Maria Perez"},;
              {"Matrimonio:","01/01/1952"} };
              ,;
              {{"Nacimiento:" ,"01/01/2000"}, ;
              {"Localidad:" ,"Buenos Aires"},;
              {"Padre:","Juan Perez"},;
              {"Madre:","Maria Lopez"},;
              {"Matrimonio:","01/01/2002"} };
              ,;
              {{"Nacimiento:" ,"01/01/1940"}, ;
              {"Localidad:" ,"Mar del Plata"},;
              {"Padre:","Juan Lopez"},;
              {"Madre:","Maria Perez"},;
              {"Matrimonio:","01/01/1952"} };
            }

   PRINT oPrn NAME "Texto Gustavo" PREVIEW MODAL
         oPrn:SetPortrait()
         oPrn:SetPage(9)
         PAGE
         
          oPrn:CmBox( .5, .5, 1.5, 20.5 ) // Box arriba
          oPrn:CmSay( .8, 9.2, "ORIGINAL", oFont1, 20.5 )   
          @ 3.5, 1  PRINT TO oPrn TEXT "FORMULARIO DE GUSTAVO" SIZE 19,1 CM FONT oFont1 ALIGN "C"                 
          y := 5
         
          FOR i = 1 TO LEN(aLineas)
              FOR j = 1 TO LEN(aLineas[i])
                 @ y, 01 PRINT TO oPrn TEXT aLineas[i][j,1] SIZE 2.8,.5 CM FONT oFont2 ALIGN "R"
                 @ y, 04 PRINT TO oPrn TEXT aLineas[i][j,2] SIZE 7,.5 CM FONT oFont1 ALIGN "L" LASTROW y
              NEXT   
              IF y > 25
                 ENDPAGE
                 PAGE
                    oPrn:CmBox( .5, .5, 1.5, 20.5 ) // Box arriba
                    oPrn:CmSay( .8, 9.2, "ORIGINAL", oFont1, 20.5 )   
                    @ 3.5, 1  PRINT TO oPrn TEXT "FORMULARIO DE GUSTAVO" SIZE 19,1 CM FONT oFont1 ALIGN "C"                 
                 y := 5
                 ELSE 
                 y := y + 1.5       
              ENDIF   
          NEXT                 
         ENDPAGE
   ENDPRINT
   oFont:End()
   oFont1:End()
   oFont2:End()
RETURN nil
Posts: 1956
Joined: Fri Oct 07, 2005 07:08 PM
Re: TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 08:51 PM

gracias.

voy a comenzar con eso porque la de RAFA me tira para atras. tira errores y por lo que veo ya dejaron de darle soporte.

gracias.

FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
Posts: 1344
Joined: Wed Nov 16, 2005 09:14 PM
Re: TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 09:34 PM

Dale Gustavo, cualquier cosa avisa.

Yo casualmente estuve investigando un poco con la clase de la version mas nueva (22.00 aunque no es la ultima) y la verdad que con harupdf la calidad de los pdfs es muy buena.

Posts: 8515
Joined: Tue Dec 20, 2005 07:36 PM
Re: TIMPRIME necesito salto de linea y TAB
Posted: Mon Aug 14, 2023 10:44 PM
Gustavo, TIMPRIME funciona perfecto. Mira:

Download completo:

https://mega.nz/file/Ic8yHAYB#zCqvDKSh3mqKwEsJ1r0rmimlTLmGnNIMLUDDt2GFChM

Regards, saludos.
João Santos - São Paulo - Brasil - Phone: +55(11)95150-7341

Continue the discussion