Basics

<< Click to Display Table of Contents >>

Navigation:  »No topics above this level«

Basics

 

The vpxPrint Report Template needs at least vpxPrint version 10.28 to run.

 

Deployment:

Language

Template

vpxPrint

Demo program

C#

ReportTemplate.cs

vpxPrint.cs

C#\runReport\demoRT.csproj

C++

ReportTemplate.h

vpxPrint.h

C++\DemoRT\demoRT.sln

C++ Builder

ReportTemplate.h

vpxPrint.h

C++ Builder\DemoRT\runReport.cbproj

Delphi

ReportTemplate.pas

vpxPrint.pas

Delphi\DemoRT\demoRT.dproj

Progress OpenEdge

{ RT.i }

{ xPrint.i }

runReport.w runCustomer.w runInvoice.w runFirst.w

QT

ReportTemplate.h

vpxPrint.h & .cpp

QT\DemoRT\

 

Main logic:

 

1.Define an output stream:

a)DEF STREAM O.        // example stream_name O

 

2.Include files: see the table above and the demo programs

a){ xprint.i }                                                //        standard vpxPrint include

b){ RT.i                &STREAM = stream_name }                //        the vpxPrint Report Template include

 

3.Open the stream in PAGED mode: see the demo programs

a)OUTPUT STREAM stream_name TO xxxxx PAGED.

 

4.RUN startReport

 

5.FOR EACH detail_record......

a)RUN printRow(lastDetail).                // lastDetail as logical, set it to true on last record

 

6.RUN endReport

 

 

vpxPrint Report Template uses a callback strategy to give back control to the application.

It uses dynamic calls, so all callback procedures or functions are optional, except reportInialize (recommended), reportRowHeight() and reportRow().

 

The vpxPrint Report Template gives the control to the application only when needed by the report logic and the settings, this is entirely managed by the template.

 

 

Standard callbacks strategy:

1.startReport:

reportInitialize

*MANDATORY*

onBeforePage

-optional-

reportHeader

-optional-

reportTitle

-optional-

2.printRow:

reportRowHeight()

-optional-

reportRow

*MANDATORY*

reportTitle

-optional-

reportFinal

-optional-

onBeforeDrawLines

-optional-

onBeforeNextPage()

-optional-

onBeforePage

-optional-

onAfterPage

-optional-

 

3.endReport:

onBeforeDrawLines

-optional-

onAfterPage

-optional-

reportFooter

-optional-