Printing Lists

And for printing a report (LL_PROJECT_LIST):

<define all possible variables>
       (LlDefineVariableStart,
        LlDefineVariable,
        LlDefineVariableExt,
        LlDefineVariableExtHandle)
<define all possible fields>
       (LlDefineFieldStart,
        LlDefineField,
        LlDefineFieldExt,
        LlDefineFieldExtHandle)
<define options>*
       (LlSetPrinterDefaultsDir)
<start print>
       (LlPrintStart,
        LlPrintWithBoxStart)
<define options>
       (LlPrintSetOption,
        LlPrintSetOptionString,
        LlSetPrinterDefaultsDir,
        LlPreviewSetTempPath)
<let user change options>*
       (LlPrintOptionsDialog,
        LlPrintOptionsDialogTitle,
        LlPrintSelectOffsetEx,
        [LlPrinterSetup])
<define constant variables>
       (LlDefineVariable,
        LlDefineVariableExt,
        LlDefineVariableExtHandle)

<print variables> (print all objects)

        LlPrint

<while "page full" warning (LL_WRN_REPEAT_DATA) do>
        LlPrint


<repeat >
{
       <define fields>
                (LlDefineField,
                 LlDefineFieldExt,
                 LlDefineFieldExtHandle)
       <print row>
                (LlPrintFields)
       <while "page full" warning (LL_WRN_REPEAT_DATA) do>
               <define page specific variables>*
                        (LlDefineVariable,
                         LlDefineVariableExt,
                         LlDefineVariableExtHandle)
                <re-print>
                        (LlPrint)

                        (LlPrintFields)
       <goto next data record>
       <give progress report>*
                (LlPrintSetBoxText,
                 LlPrintGetCurrentPage,
                 LlPrintGetOption)
}
<until
 -error or
 -no data records left or
 -user abort
>
<Print final footer and all linked objects>
       (LlPrintFieldsEnd)
<while "page full"-warning (LL_WRN_REPEAT_DATA) do>
       (LlPrintFieldsEnd)
<end print>
       (LlPrintEnd)