FiveTech Support Forums

FiveWin / Harbour / xBase community
Board index FiveWin for Harbour/xHarbour TPrinter: Recommended way to print zebra line effect
Posts: 1096
Joined: Fri Oct 28, 2005 02:27 AM
TPrinter: Recommended way to print zebra line effect
Posted: Tue Apr 30, 2019 05:08 AM

What's the recommended way to print with zebra line effect for reports that have many columns?

TIA

FWH 11.08/FWH 19.12

BCC5.82/BCC7.3

xHarbour/Harbour
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: TPrinter: Recommended way to print zebra line effect
Posted: Tue Apr 30, 2019 07:28 AM
Please try
Code (fw): Select all Collapse
function PrintZebra

   local oPrn, oFont, oBrushColor, oBrush
   local nRow

   USE STATES

   PRINT oPrn PREVIEW

   DEFINE FONT oFont NAME "TAHOMA" SIZE 0,-12 OF oPrn
   DEFINE BRUSH oBrushColor COLOR CLR_HGRAY

   PAGE

   nRow     := 1.0

   do while STATES->( RECNO() ) < 15 .and. !STATES->( Eof() )

      @ nRow, 1.0 PRINT TO oPrn TEXT STATES->CODE SIZE 1.0, 0.3 INCHES ALIGN "L" FONT oFont COLOR CLR_BLACK, oBrush
      @ nRow, 2.0 PRINT TO oPrn TEXT STATES->NAME SIZE 3.0, 0.3 INCHES ALIGN "L" FONT oFont COLOR CLR_BLACK, oBrush

      nRow     += 0.3
      oBrush   := If( oBrush == nil, oBrushColor, nil )

      STATES->( DbSkip( 1 ) )

   enddo

   ENDPAGE
   ENDPRINT

   RELEASE FONT oFont
   RELEASE BRUSH oBrushColor

return nil


Regards



G. N. Rao.

Hyderabad, India
Posts: 1096
Joined: Fri Oct 28, 2005 02:27 AM
Re: TPrinter: Recommended way to print zebra line effect
Posted: Tue Apr 30, 2019 09:07 AM
Thanks Rao.

However I need it to encompass multi line because I want transactions belonging to the same document are grouped with the same colour

FWH 11.08/FWH 19.12

BCC5.82/BCC7.3

xHarbour/Harbour
Posts: 10733
Joined: Sun Nov 19, 2006 05:22 AM
Re: TPrinter: Recommended way to print zebra line effect
Posted: Tue Apr 30, 2019 09:25 AM

You can.
In the above example, set the oBrush to the brush you want depending on whatever condition you specify.

Regards



G. N. Rao.

Hyderabad, India

Continue the discussion