Altura de lineas en TReport

Altura de lineas en TReport

Postby FranciscoA » Tue May 24, 2022 2:11 pm

Saludos.
Desde siempre he usado la Classe TReport para todos mis reportes. ( TPrinter la he usado unicamente en formatos pre-impresos )
Hoy tengo la necesidad de hacer reportes con TREPORT en los que la altura de lineas pueda ser establecida (Aumentada).

He revisado la Classe TREPORT referente a la Data nStdLineHeight, pero no he obtenido resultados.

Alguno de ustedes que haya tenido esta necesidad, y la haya resuelto, puede compartir un ejemplo?

Gracias.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2114
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.

Re: Altura de lineas en TReport

Postby cmsoft » Thu May 26, 2022 1:31 pm

Francisco:
Tengo entendido que el alto de la fila te lo da el tamaño maximo del font mas grande que uses.
O tambien el tamaño de la imagen que uses (si mostrases imagenes)
Una forma casera de ampliar el alto de la row es agregar una imagen en blanco del tamaño que quieras que tenga cada row o con un tamaño de font grande para una columna
Code: Select all  Expand view

LOCAL oFont1, oFont2, oFont3, oBmp, oPen1, oPen2

     DEFINE FONT oFont1 NAME "ARIAL" SIZE 0,-10
     DEFINE FONT oFont2 NAME "ARIAL" SIZE 0,-10 BOLD
     DEFINE FONT oFont3 NAME "ARIAL" SIZE 0,-25 BOLD ITALIC
     REPORT oReport ;
          TITLE  "Francisco*";
          FONT   oFont1, oFont2, oFont3 ;
          HEADER "Fecha: "+dtoc(date()),;
                 "Hora:  "+time() ;
                 RIGHT ;
          FOOTER OemtoAnsi("Página: ")+str(oReport:nPage,3) ;
                 CENTERED ;
          PREVIEW

     COLUMN TITLE "ST" ;
          DATA Test->State ;
          FONT 2

     COLUMN TITLE "City" ;
          DATA Test->City

     COLUMN TITLE "First Name";
          DATA Test->First

     COLUMN TITLE "Last Name" ;
          DATA Test->Last

     COLUMN TITLE "   Salary" ;
          DATA Test->Salary ;
          PICTURE "9,999,999" ;          
          FONT 2
     COLUMN TITLE "Observaciones" ;
          DATA "..\BITMAPS\vacio.jpg" IMAGE

     END REPORT
     oReport:oTitle:aFont[1] := {|| 2 }
     ACTIVATE REPORT oReport


 
User avatar
cmsoft
 
Posts: 1204
Joined: Wed Nov 16, 2005 9:14 pm
Location: Mercedes - Bs As. Argentina

Re: Altura de lineas en TReport

Postby FranciscoA » Thu May 26, 2022 2:22 pm

Gracias Cesar.
Ya lo habia resuelto de la siguiente manera, aunque un poco complicado.
Probaré tu código.

Code: Select all  Expand view
   DEFINE FONT oFont1 NAME "MS SAN SERIF" SIZE 0,-04 OF oPrn     //Esta font es la que decide el alto de las lineas
     DEFINE FONT oFont2 NAME "MS SAN SERIF" SIZE 0,-10 OF oPrn
     DEFINE FONT oFont3 NAME "MS SAN SERIF" SIZE 0,-12 BOLD OF oPrn
     DEFINE PEN oPen1 WIDTH 1

     PrinterSetup(oPrn)

     REPORT oReport ;
          TITLE  EMPRESA,MEMBRE,;
                 "INFORME DE CORTE DE CAJA",;
                 "" ;
          FONT   oFont1,oFont2,oFont3 ;
          PEN    oPen1 ;
          FOOTER "  ","  ";
          CAPTION "INFORME CORTE DE CAJA" ;
          PREVIEW
     
     GROUP ON FIELD->GPO ;
     HEADER IF(oReport:aGroups[1]:cValue = "1", "RECIBOS DE CAJA","FACTURAS DE CONTADO") ;
     FONT 3

     COLUMN TITLE " Fecha de"," Emision" DATA FIELD->FECHPAGO  SIZE 8  FONT 2  GRID 1  
     COLUMN TITLE " Numero de"," Documento" DATA FIELD->NumdocPago +if(field->observ="ANULADO","NULO","") SIZE 10  FONT 2  GRID 1
     COLUMN TITLE "Valor           ","Recibido       "  ;
          DATA FIELD->MontoPago + (FIELD->Deslizam + FIELD->Interes + FIELD->OtroIngr);
                                - (FIELD->RetencIR + FIELD->RetencALC) ;
          PICTURE "@Z 99,999,999.99"  SIZE 14  TOTAL  FONT 2  GRID 1
     COLUMN TITLE "       Nombre Del Cliente"  DATA FIELD->Nombre  SIZE 30  FONT 2  GRID 1

    END REPORT

     AEval(oReport:aColumns, {|o| o:bTitleFont := {|| 2 } })
     oReport:oTitle:aFont[1] := {|| 3 }  
     oReport:oTitle:aFont[2] := {|| 3 }
     oReport:oTitle:aFont[3] := {|| 2 }
     oReport:oTitle:aFont[4] := {|| 2 }
     oReport:nGrandTotalFont := 2  //Antigua modificacion a TReport por FranciscoA

     ACTIVATE REPORT oReport;
              ON CHANGE if( lDobleLin, oReport:NewLine(), )  ;
              ON STARTGROUP ( oReport:NewLine() )

     oFont1:End()
     oFont2:End()
     oFont3:End()
ENDIF
RETURN NIL
 

Saludos.
Francisco J. Alegría P.
Chinandega, Nicaragua.

Fwxh-MySql-TMySql
User avatar
FranciscoA
 
Posts: 2114
Joined: Fri Jul 18, 2008 1:24 am
Location: Chinandega, Nicaragua, C.A.


Return to FiveWin para Harbour/xHarbour

Who is online

Users browsing this forum: Maurizio and 23 guests