It’s easy to create your first PrintList Pro list area.
The variable name will be used as a parameter for the PrintList Pro commands.
Be careful to never have two PrintList Pro objects with the same variable name on a 4D form.
Each command you write must adhere to a specific syntax in order for it to be correctly understood by PrintList Pro. Some commands return a result: these are functions. You can use the commands and functions to configure every operation performed by PrintList Pro, and to get various information.
Each PrintList Pro command has a syntax, or rules, that describe how to use the command in your 4D database. For each command, the name of the command is followed by the command’s parameters, and result in case of functions.
A PrintList Pro command syntax looks like this:
PL_SetHdrStyle (areaRef:L; columnNumber:L; fontName:T; size:L; styleNum:L)
The parameters are enclosed in parenthesis, and separated by semicolons.
Each parameter is followed by a colon and a letter indicating the type of data required for that parameter:
:L - longint
:O - blob
:P - picture
:R - real
:T - text
:Y - array
:Z - pointer
Each is preceded by one of three arrow signs, which indicate whether it is a value that you pass to the command or one that the command returns to you, or a value that is passed, then modified and returned by the command in the same parameter:
→ parameter – A value that you pass to the command
← parameter – A value that is returned by the command
Note: when calling a plugin command, all omitted parameters are initialized to the NULL of the respective types (0, 0.0, "", !00:00:00!, …).
The PrintList Pro commands must only be executed in the On Printing Detail phase of a form method or object method during the execution of the PRINT SELECTION or PRINT RECORD command.
The PRINT SELECTION command will execute a On Printing Detail phase for each record in the current selection (and requires at least one record in the current selection to be executed at all). PrintList Pro will print the array(s) in any PrintList Pro object once for every record in the current selection.
If you wish to use PRINT SELECTION to print an array only once, ensure that there is only one record in the current selection of the table used for printing (the one that holds the layout, which doesn't have to be related to the data that is actually printed).
If you wish to use PRINT RECORD, ensure that there a current record in the table used for printing (the one that holds the layout, which doesn't have to be related to the data that is actually printed).
To upgrade to PrintList Pro version 6, simply install it as described in the Installation section of this manual, replacing your older version.
Version 6 includes 64-bit compatibility, MySQL direct access, use of all AreaList Pro relevant properties, new properties and new commands.
See the PrintList Pro v6 New features section.
In addition, PrintList Pro uses native drawing. Not all fonts contain italic (or bold) variations and those technologies do not synthesize styles. For example Geneva on most Macs has only the Regular typeface, Arial has Regular, Bold, Italic and Bold Italic typefaces.
Note: if bold or italic styles are set, but not installed for the font, PrintList Pro will print regular (plain) characters.
PL_AddColumn (areaRef:L; dataPointer:Z; insertAt;L) → result:L
Note: this command supports the component architecture (using arrays from the host database in a component and vice versa).
PL_Load (areaRef:L; XML:T) → result:L
PL_Save(areaRef:L; XML:T) → result:L
PL_SetBrkColRGBOpt (areaRef:L; breakLevel:L; columnNum:L; showColDivider:L; lineWidth:F; dividerRed:L; dividerGreen:L; dividerBlue:L)
PL_SetBkHColRGBOpt (areaRef:L; breakLevel:L; columnNum:L; showColDivider:L; lineWidth:F; dividerRed:L; dividerGreen:L; dividerBlue:L)
PL_SetBrkRowRGBDiv (areaRef:L; lineWidth:F; dividerRed:L; dividerGreen:L; dividerBlue:L)
PL_ProcessArrays (callbackMethodName:T; breakArrays:Y; dataArrays:Y; useDetail:L) → error:L
PL_GetBreakValue (handle:L; column:L; calculation:L) → value:F
See Using Computed Breaks for details about these powerful new commands, which can be used as array utilities without need to print anything or set up a plug-in area.
Note: the multi-style property is applied to all formatting in that column… breaks have to account for that!
Two 0.25 point lines will be printed.
In break calculations, “\Var” will compute variance and “\Dev” will compute standard deviation.
To print AreaList Pro areas, just call AL_Save and PL_Load: they use the same XML UTF-8 format.
Then set row/cell options and you are done. Or add break processing options.
Using this feature will allow you to indirectly apply AreaList Pro v9 numerous formatting options (using the v9 property-based API) to a PrintList Pro area using an AreaList Pro area as the source.
Note that this feature is only available for persistent AreaList Pro properties. Refer to the AreaList Pro v9 manual for property persistence.