The default setup form provides basic output options for any given report. It looks like this:

Setup basic


(Beyond this basic setup form configuration, you can add both customisable page title details, and customisable report option/parameter details. These aspects are illustrated in following examples.)


The Report Title Panel

The report title panel at the top of the form displays values from ReportWriter properties ReportTitle and ReportSubTitle. These strings describe the report in the context of report setup, and are not otherwise intended to be part of the report itself, although there is nothing stopping you using them in a report.


Setup page titles


Preview, Print & File Options

The output panel presents the print, preview and file options of a report:


Setup output


You can control which of the output buttons is available for a given report by adjusting the ReportWriter.Options property:


Controlling the Available Features
FeatureOptions ValueAction
Print roCanPrint enables or disables print button
Preview roCanPreview enables or disables preview button
File roCanFile enables or disables file button
Email roCanEmail enables or disables email button
Cancel n/a always enabled
Duplex roCanDuplex enables or disables the duplex drop-down


  • emailing a report requires that the report be filed, so disabling filing precludes emailing as well.
  • collation is handled in code within VPE+, so is not device dependent.
  • duplexing is dependent on print device capabilities - roCanDuplex allows you to disable duplexing only when it is actually available for the selected output device.
  • the filename can be set in advance by assigning a path and filename value to ReportWriter.OutputFileName. The filename extension will be assigned according to the output format selected in the setup form. There are other means to set the output filename - see the example ["Assigning an Output File Name" to be added soon].
  • set ReportWriter.Options in the Object Inspector, or use ReportWriter methods/properties:
    • call procedure OptionAllow(AReportOption) to allow a single option in code
    • call procedure OptionDisallow(AReportOption) to disallow a single option in code
    • call procedure OptionsAllow(AReportOptionSet) to allow a set of options in code
    • call procedure OptionsDisallow(AReportOptionSet) to disallow a set of options in code
    • read or set Boolean property OptionAllowed(AReportOption) to change an option value in code
    • read or set Boolean property OptionDisallowed(AReportOption) to change an option value in code