|
<< 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- |