TIMPRIME necesito salto de linea y TAB

Post Reply
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

TIMPRIME necesito salto de linea y TAB

Post by goosfancito »

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: Select all | Expand

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/
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: TIMPRIME necesito salto de linea y TAB

Post by cmsoft »

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: Select all | Expand

#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   
 
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Re: TIMPRIME necesito salto de linea y TAB

Post by goosfancito »

y para hacer el salto de hoja?
FWH 21.02
Harbour 3.2.0dev (r2104281802)
Copyright (c) 1999-2021, https://harbour.github.io/
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: TIMPRIME necesito salto de linea y TAB

Post by cmsoft »

Code: Select all | Expand

#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    
User avatar
goosfancito
Posts: 1955
Joined: Fri Oct 07, 2005 7:08 pm

Re: TIMPRIME necesito salto de linea y TAB

Post by goosfancito »

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/
User avatar
cmsoft
Posts: 1297
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina
Been thanked: 2 times

Re: TIMPRIME necesito salto de linea y TAB

Post by cmsoft »

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.
User avatar
karinha
Posts: 7935
Joined: Tue Dec 20, 2005 7:36 pm
Location: São Paulo - Brasil
Been thanked: 3 times
Contact:

Re: TIMPRIME necesito salto de linea y TAB

Post by karinha »

Gustavo, TIMPRIME funciona perfecto. Mira:

Download completo:

https://mega.nz/file/Ic8yHAYB#zCqvDKSh3 ... UDDt2GFChM

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