|
|
|
|
| Generic Listbox print routine |
Submitted by Keith Culotta, Computer Dimensions, Inc.
C_POINTER($1;$SourceBox) $SourceBox:=$1 PAGE SETUP("outPrint") PRINT SETTINGS
If (OK=1) C_LONGINT($vLBTableNum;$vLBWidth;$size;$i;$vLBHeight) ARRAY TEXT($aColNames;0) ARRAY TEXT($aHeaderNames;0) ARRAY POINTER($aColVars;0) ARRAY POINTER($aHeaderVars;0) ARRAY BOOLEAN($aVisible;0) ARRAY POINTER($aStyles;0) C_BOOLEAN($TotallyPrinted) LISTBOX GET ARRAYS($SourceBox->;$aColNames;$aHeaderNames;$aColVars;$aHeaderVars;$aVisible;$aStyles) $size:=Size of array($aColNames) ARRAY LONGINT($aColWidth;$size) ARRAY TEXT($aHeaderText;$size) $vLBWidth:=0 For ($i;1;$size) $aColWidth{$i}:=LISTBOX Get column width($aHeaderVars{$i}->) $vLBWidth:=$vLBWidth+$aColWidth{$i} $aHeaderText{$i}:=OBJECT Get title($aHeaderVars{$i}->) End for LISTBOX GET TABLE SOURCE($SourceBox->;$vLBTableNum) OPEN PRINTING JOB OPEN PRINTING FORM("outPrint") SET PRINTABLE MARGIN(0;0;0;0) GET PRINTABLE AREA($vLBHeight) OBJECT MOVE(OPBox;0;0;$vLBWidth;$vLBHeight;*) // note that the box can be set wider than the paper LISTBOX SET TABLE SOURCE(OPBox;$vLBTableNum) $size:=Size of array($aColNames) For ($i;1;$size) If ($aVisible{$i}) // don't print invisible columns $vLBWidth:=LISTBOX Get number of columns(OPBox)+1 LISTBOX INSERT COLUMN(OPBox;$vLBWidth;$aColNames{$i};$aColVars{$i}->;$aHeaderNames{$i};$aHeaderVars{$i}->) LISTBOX SET COLUMN WIDTH($aHeaderVars{$i}->;$aColWidth{$i}) OBJECT SET TITLE($aHeaderVars{$i}->;$aHeaderText{$i}) End if End for Repeat $TotallyPrinted:=Print object(OPBox) If (Not($TotallyPrinted)) PAGE BREAK End if Until ($TotallyPrinted) CLOSE PRINTING JOB End if |
|
Submit a Tip Archive  |
|
|
 |
|
|
|
| Lightning |
Develop powerful, professional quality 4D web applications fast, in record time, with minimal costs. Try it now for free. |
|
Suggest a Spotlight
|
|
|
 |
|