home *** CD-ROM | disk | FTP | other *** search
/ PC World 2002 June / PCWorld_2002-06_cd.bin / Software / Komercni / xbase / express / exd17208.r04 / exp17 / Include / Dcprint.ch < prev    next >
Text File  |  2002-01-30  |  35KB  |  581 lines

  1. /*
  2.    Program..: DCPRINT.CH
  3.    Author...: Roger Donnay
  4.    Notice...: (c) DONNAY Software Designs 1987-2001
  5.    Date.....: Jun 14, 2001
  6.    Notes....: Special Printer Dialog commands for dCLIP++ / eXpress++
  7. */
  8.  
  9. // ****************************************************************************
  10. // Pre-defined paper sizes for XbpPrinter:setFormSize()
  11. // ****************************************************************************
  12.  
  13. #ifndef XPBPRN_FORM_LETTER
  14.  
  15. #define  XBPPRN_FORM_LETTER                     1
  16. #define  XBPPRN_FORM_LETTERSMALL                2
  17. #define  XBPPRN_FORM_TABLOID                    3
  18. #define  XBPPRN_FORM_LEDGER                     4
  19. #define  XBPPRN_FORM_LEGAL                      5
  20. #define  XBPPRN_FORM_STATEMENT                  6
  21. #define  XBPPRN_FORM_EXECUTIVE                  7
  22. #define  XBPPRN_FORM_A3                         8
  23. #define  XBPPRN_FORM_A4                         9
  24. #define  XBPPRN_FORM_A4SMALL                    10
  25. #define  XBPPRN_FORM_A5                         11
  26. #define  XBPPRN_FORM_B4                         12
  27. #define  XBPPRN_FORM_B5                         13
  28. #define  XBPPRN_FORM_FOLIO                      14
  29. #define  XBPPRN_FORM_QUARTO                     15
  30. #define  XBPPRN_FORM_10X14                      16
  31. #define  XBPPRN_FORM_11X17                      17
  32. #define  XBPPRN_FORM_NOTE                       18
  33. #define  XBPPRN_FORM_ENVELOPE_9                 19
  34. #define  XBPPRN_FORM_ENVELOPE_10                20
  35. #define  XBPPRN_FORM_ENVELOPE_11                21
  36. #define  XBPPRN_FORM_ENVELOPE_12                22
  37. #define  XBPPRN_FORM_ENVELOPE_14                23
  38. #define  XBPPRN_FORM_CSHEET                     24
  39. #define  XBPPRN_FORM_DSHEET                     25
  40. #define  XBPPRN_FORM_ESHEET                     26
  41. #define  XBPPRN_FORM_ENVELOPE_DL                27
  42. #define  XBPPRN_FORM_ENVELOPE_C5                28
  43. #define  XBPPRN_FORM_ENVELOPE_C3                29
  44. #define  XBPPRN_FORM_ENVELOPE_C4                30
  45. #define  XBPPRN_FORM_ENVELOPE_C6                31
  46. #define  XBPPRN_FORM_ENVELOPE_C65               32
  47. #define  XBPPRN_FORM_ENVELOPE_B4                33
  48. #define  XBPPRN_FORM_ENVELOPE_B5                34
  49. #define  XBPPRN_FORM_ENVELOPE_B6                35
  50. #define  XBPPRN_FORM_ENVELOPE_ITALY             36
  51. #define  XBPPRN_FORM_ENVELOPE_MONARCH           37
  52. #define  XBPPRN_FORM_ENVELOPE_PERS              38
  53. #define  XBPPRN_FORM_FANFOLD_US                 39
  54. #define  XBPPRN_FORM_FANFOLD_GER                40
  55. #define  XBPPRN_FORM_FANFOLD_LGL_GER            41
  56. #define  XBPPRN_FORM_ISO_B4                     42
  57. #define  XBPPRN_FORM_JAPANESE_POSTCARD          43
  58. #define  XBPPRN_FORM_9X11                       44
  59. #define  XBPPRN_FORM_10X11                      45
  60. #define  XBPPRN_FORM_15X11                      46
  61. #define  XBPPRN_FORM_ENVELOPE_INV               47
  62. #define  XBPPRN_FORM_LETTER_EXTRA               50
  63. #define  XBPPRN_FORM_LEGAL_EXTRA                51
  64. #define  XBPPRN_FORM_TABLOID_EXTRA              52
  65. #define  XBPPRN_FORM_A4_EXTRA                   53
  66. #define  XBPPRN_FORM_LETTER_TRANSVERSE          54
  67. #define  XBPPRN_FORM_A4_TRANSVERSE              55
  68. #define  XBPPRN_FORM_LETTER_XTRA_TRANS          56
  69. #define  XBPPRN_FORM_A_PLUS                     57
  70. #define  XBPPRN_FORM_B_PLUS                     58
  71. #define  XBPPRN_FORM_LETTER_PLUS                59
  72. #define  XBPPRN_FORM_A4_PLUS                    60
  73. #define  XBPPRN_FORM_A5_TRANSVERSE              61
  74. #define  XBPPRN_FORM_B5_TRANSVERSE              62
  75. #define  XBPPRN_FORM_A3_EXTRA                   63
  76. #define  XBPPRN_FORM_A5_EXTRA                   64
  77. #define  XBPPRN_FORM_B5_EXTRA                   65
  78. #define  XBPPRN_FORM_A2                         66
  79. #define  XBPPRN_FORM_A3_TRANSVERSE              67
  80. #define  XBPPRN_FORM_A3_EXTRA_TRANS             68
  81.  
  82. #endif
  83.  
  84. #ifndef XBPPRN_PAPERBIN_SINGLE
  85.   #define  XBPPRN_PAPERBIN_SINGLE         1
  86.   #define  XBPPRN_PAPERBIN_LOWER          2
  87.   #define  XBPPRN_PAPERBIN_MIDDLE         3
  88.   #define  XBPPRN_PAPERBIN_MANUAL         4
  89.   #define  XBPPRN_PAPERBIN_ENVELOPE       5
  90.   #define  XBPPRN_PAPERBIN_ENVMANUAL      6
  91.   #define  XBPPRN_PAPERBIN_AUTO           7
  92.   #define  XBPPRN_PAPERBIN_TRACTOR        8
  93.   #define  XBPPRN_PAPERBIN_SMALLFORMAT    9
  94.   #define  XBPPRN_PAPERBIN_LARGEFORMAT   10
  95.   #define  XBPPRN_PAPERBIN_LARGECAPACITY 11
  96.   #define  XBPPRN_PAPERBIN_CASETTE       14
  97.   #define  XBPPRN_PAPERBIN_FORMSOURCE    15
  98. #endif
  99.  
  100.  
  101. #ifndef XPBPRN_COLLATIONMODE_OFF
  102.   #define  XBPPRN_COLLATIONMODE_OFF       0
  103.   #define  XBPPRN_COLLATIONMODE_ON        1
  104. #endif
  105.  
  106. #ifndef XPBPRN_DUPLEXMODE_OFF
  107.   #define  XBPPRN_DUPLEXMODE_OFF          1
  108.   #define  XBPPRN_DUPLEXMODE_MEMO         2
  109.   #define  XBPPRN_DUPLEXMODE_BOOK         3
  110. #endif
  111.  
  112. #ifndef XPBPRN_COLORMODE_OFF
  113.   #define  XBPPRN_COLORMODE_OFF           1
  114.   #define  XBPPRN_COLORMODE_ON            2
  115. #endif
  116.  
  117. #ifndef XPBPRN_FILE_PROMPT
  118.   #define  XBPPRN_FILE_PROMPT            "FILE:"
  119. #endif
  120.  
  121. #ifndef XBPPRN_RESOLUTION_DRAFT
  122.   #define  XBPPRN_RESOLUTION_DRAFT         (-1)
  123.   #define  XBPPRN_RESOLUTION_LOW           (-2)
  124.   #define  XBPPRN_RESOLUTION_MEDIUM        (-3)
  125.   #define  XBPPRN_RESOLUTION_HIGH          (-4)
  126. #endif
  127.  
  128. #ifndef XBPPRN_ORIENT_LANDSCAPE
  129.   #define  XBPPRN_ORIENT_PORTRAIT                 1
  130.   #define  XBPPRN_ORIENT_LANDSCAPE                2
  131. #endif
  132.  
  133. /*
  134. #define PROW()      DC_PrinterRow()
  135. #define PRow()      DC_PrinterRow()
  136. #define prow()      DC_PrinterRow()
  137.  
  138. #define PCOL()      DC_PrinterCol()
  139. #define PCol()      DC_PrinterCol()
  140. #define pcol()      DC_PrinterCol()
  141. */
  142.  
  143. #define DCPRINT_DIALOG_EXPRESS       1
  144. #define DCPRINT_DIALOG_DRIVER        2
  145.  
  146. #define DCPRINT_ALIGN_BOTTOM          0
  147. #define DCPRINT_ALIGN_LEFT            0
  148. #define DCPRINT_ALIGN_TOP             1
  149. #define DCPRINT_ALIGN_RIGHT           2
  150. #define DCPRINT_ALIGN_HCENTER         4
  151. #define DCPRINT_ALIGN_VCENTER         8
  152.  
  153. #define DCPRINT_BUTTON_PLUS           1
  154. #define DCPRINT_BUTTON_MINUS          2
  155. #define DCPRINT_BUTTON_FIRSTPAGE      3
  156. #define DCPRINT_BUTTON_PREVPAGE       4
  157. #define DCPRINT_BUTTON_NEXTPAGE       5
  158. #define DCPRINT_BUTTON_LASTPAGE       6
  159. #define DCPRINT_BUTTON_PRINT          7
  160. #define DCPRINT_BUTTON_FIND           8
  161. #define DCPRINT_BUTTON_EXIT           9
  162.  
  163. #define DCPRINT_OPTIONARRAY_SIZE     56
  164.  
  165. #xcommand DCPRINT SAY <uText> [<opt,...>] => @ nil, nil DCPRINT SAY <uText> [<opt>]
  166.  
  167. #command @ <nRow>, <nCol> DCPRINT SAY <uText>                            ;
  168.                    [PRINTER <o>]                                         ;
  169.                    [PICTURE <p>]                                         ;
  170.                    [<truetype:TRUETYPE>] [_TRUETYPE <_truetype>]         ;
  171.                    [<pixel:PIXEL,NOSCALE>] [_PIXEL <_pixel>]             ;
  172.                    [<fixed:FIXED>] [_FIXED <_fixed>]                     ;
  173.                    [FONT <ocFont> [CODEPAGE <nCodePage>]]                ;
  174.                    [ATTRIBUTE <aAttr>]                                   ;
  175.                    [ALIGN <nAlign>]                                      ;
  176.                    [<outline:OUTLINE>] [_OUTLINE <_outline>]             ;
  177.                    [WHEN <bWhen>]                                        ;
  178.       =>                                                                 ;
  179.    DC_PrinterObject(<o>):AtSay( <nRow>, <nCol>,                          ;
  180.                      TransForm(<uText>,DC_XtoC(<p>)),                    ;
  181.                      <.truetype.> [.OR. <_truetype>],                    ;
  182.                      <.pixel.> [.OR. <_pixel>],                          ;
  183.                      <.fixed.> [.OR. <_fixed>],                          ;
  184.                      <ocFont>,                                           ;
  185.                      <aAttr>,                                            ;
  186.                      <nCodePage>,                                        ;
  187.                      <nAlign>,                                           ;
  188.                      <.outline.> [.OR. <_outline>],                      ;
  189.                      <bWhen> )
  190.  
  191.  
  192. // Command DCRIGHTPRINT by Michael Rudrich
  193. // This is made to enable right-justfied printing of numerics even when a true-type font is selected
  194.  
  195. #command @ <nRow>, <nCol> DCRIGHTPRINT SAY <uText>                       ;
  196.                    [PRINTER <o>]                                         ;
  197.                    [PICTURE <p>]                                         ;
  198.                    [<truetype:TRUETYPE>] [_TRUETYPE <_truetype>]         ;
  199.                    [<pixel:PIXEL,NOSCALE>] [_PIXEL <_pixel>]             ;
  200.                    [<fixed:FIXED>] [_FIXED <_fixed>]                     ;
  201.                    [FONT <ocFont> [CODEPAGE <nCodePage>] ]               ;
  202.                    [ATTRIBUTE <aAttr>]                                   ;
  203.                    [WHEN <bWhen>]                                        ;
  204.       =>                                                                 ;
  205.    DC_PrinterObject(<o>):AtSay( <nRow>, DC_CalcPrinterColForRightJustified(<o>,<uText>,<nCol>,<p>),   ;
  206.                      TransForm(<uText>,DC_XtoC(<p>)),                    ;
  207.                      <.truetype.> [.OR. <_truetype>],                    ;
  208.                      <.pixel.> [.OR. <_pixel>],                          ;
  209.                      <.fixed.> [.OR. <_fixed>],                          ;
  210.                      <ocFont>,                                           ;
  211.                      <aAttr>,                                            ;
  212.                      <nCodePage>, nil, nil,                              ;
  213.                      <bWhen> )
  214.  
  215. #command @ <nSRow>, <nSCol> [,<nERow>,<nECol>] DCPRINT BITMAP <ncRes>    ;
  216.                    [PRINTER <o>]                                         ;
  217.                    [<autoscale:AUTOSCALE>]                               ;
  218.                    [<noautoscale:NOAUTOSCALE>]                           ;
  219.                    [<center:CENTER>] [_CENTER <_center>]                 ;
  220.                    [SCALE <nScale>]                                      ;
  221.                    [<pixel:PIXEL,NOSCALE>] [_PIXEL <_pixel>]             ;
  222.                    [WHEN <bWhen>]                                        ;
  223.       =>                                                                 ;
  224.  DC_PrinterObject(<o>):BitMap( <nSRow>, <nSCol>, <nERow>, <nECol>,       ;
  225.                        <ncRes>, [<.autoscale.>] [!<.noautoscale.>],      ;
  226.                        <.center.> [.OR. <_center>], <nScale>, ;
  227.                        <.pixel.> [.OR. <_pixel>], <bWhen> )
  228.  
  229.  
  230. #command @ <nSRow>, <nSCol>, <nERow>, <nECol> DCPRINT BOX                ;
  231.                    [PRINTER <o>]                                         ;
  232.                    [FILL <nFill>]                                        ;
  233.                    [HRADIUS <nHrad>]                                     ;
  234.                    [VRADIUS <nVrad>]                                     ;
  235.                    [ATTRIBUTE <aAttr>]                                   ;
  236.                    [AREAATTR <aAreaAttr>]                                ;
  237.                    [LINEATTR <aLineAttr>]                                ;
  238.                    [<pixel:PIXEL,NOSCALE>] [_PIXEL <_pixel>]             ;
  239.                    [LINEWIDTH <nLineWidth>]                              ;
  240.                    [WHEN <bWhen>]                                        ;
  241.       =>                                                                 ;
  242.  DC_PrinterObject(<o>):Box( <nSRow>, <nSCol>, <nERow>, <nECol>,          ;
  243.                          <nFill>, <nHrad>, <nVrad>,                      ;
  244.                          [<aAttr>] [<aAreaAttr>], <aLineAttr>,           ;
  245.                          <.pixel.> [.OR. <_pixel>], <nLineWidth>,        ;
  246.                          <bWhen>  )
  247.  
  248. #command @ <nSRow>, <nSCol>, <nERow>, <nECol> DCPRINT LINE               ;
  249.                    [PRINTER <o>]                                         ;
  250.                    [ATTRIBUTE <aAttr>]                                   ;
  251.                    [<pixel:PIXEL,NOSCALE>] [_PIXEL <_pixel>]             ;
  252.                    [WHEN <bWhen>]                                        ;
  253.       =>                                                                 ;
  254.  DC_PrinterObject(<o>):Line( <nSRow>, <nSCol>, <nERow>, <nECol>,         ;
  255.                              <aAttr>, <.pixel.> [.OR. <_pixel>],         ;
  256.                              <bWhen>  )
  257.  
  258.  
  259. #command @ <nSRow>, <nSCol> DCPRINT MARKER                               ;
  260.                    [PRINTER <o>]                                         ;
  261.                    [ATTRIBUTE <aAttr>]                                   ;
  262.                    [<pixel:PIXEL,NOSCALE>] [_PIXEL <_pixel>]             ;
  263.                    [WHEN <bWhen>]                                        ;
  264.       =>                                                                 ;
  265.  DC_PrinterObject(<o>):Marker( <nSRow>, <nSCol>, <aAttr>,                ;
  266.                                <.pixel.> [.OR. <_pixel>], <bWhen> )
  267.  
  268.  
  269. #command DCPRINT EJECT [PRINTER <o>] => DC_PrinterObject(<o>):Eject()
  270.  
  271. #command DCPRINT ABORT [PRINTER <o>] => DC_PrinterObject(<o>):Abort()
  272.  
  273. #command DCPRINT ? [<uText>] [PRINTER <o>]  ;
  274.          [PICTURE <p>] [AT <n>] ;
  275.          [ATTRIBUTE <a>] ;
  276.          [WHEN <b>]
  277.   => DC_PrinterObject(<o>):Qout(<uText>,<p>,<n>,<a>,<b>)
  278.  
  279. #command DCPRINT ?? [<uText>] [<lUsePenCoords:USEPENCOORDS>] [PRINTER <o>] ;
  280.          [PICTURE <p>] [AT <n>] ;
  281.          [ATTRIBUTE <a>] ;
  282.          [WHEN <b>] ;
  283.      =>  ;
  284.          DC_PrinterObject(<o>):QQout(<uText>,<.lUsePenCoords.>,<p>,<n>,<a>,<b>)
  285.  
  286. #command DCPRINT FONT <ocFont>     ;
  287.          [PRINTER <o>]             ;
  288.          [CODEPAGE <n>]            ;
  289.          [WHEN <b>]                ;
  290.      =>                            ;
  291.          DC_PrinterObject(<o>):SetFont(<ocFont>,<n>,<b>)
  292.  
  293. #command DCPRINT OFF [PRINTER <o>] [PAGE <nPage>] => DC_PrinterOff(<o>,<nPage>)
  294.  
  295. #command DCPRINT SIZE <nRows>,<nCols> [PRINTER <o>] [WHEN <b>] => ;
  296.          DC_PrinterObject(<o>):SetSize( <nRows>, <nCols>, <b> )
  297.  
  298. #command DCPRINT ROWS <nRows> [PRINTER <o>] [WHEN <b>] => ;
  299.          DC_PrinterObject(<o>):SetSize( <nRows>, nil, <b> )
  300.  
  301. #command DCPRINT COLS <nCols> [PRINTER <o>] [WHEN <b>] => ;
  302.          DC_PrinterObject(<o>):SetSize( nil, <nCols>, <b> )
  303.  
  304. #command DCPRINT ON [ TO <oPrinter> ]                                      ;
  305.                  [ NAME <cPrinterName> ]                                   ;
  306.                  [ SIZE <nRows>,<nCols> ]                                  ;
  307.                  [ PAGES <nFrom>, <nTo> ]                                  ;
  308.                  [ PAGESIZE <nPageWidth>, <nPageHeight> ]                  ;
  309.                  [ VIEWPORT <nX1>, <nY1>, <nX2>, <nY2> ]                   ;
  310.                  [ <allpages:ALLPAGES> ] [_ALLPAGES <_allpages>]           ;
  311.                  [ COPIES <nCopies> ]                                      ;
  312.                  [ <lCopyLoop:COPYLOOP> ] [_COPYLOOP <_copyloop>]          ;
  313.                  [ <collate:COLLATE> ] [_COLLATE <_collate>]               ;
  314.                  [ <tofile:TOFILE> ] [_TOFILE <_tofile>]                   ;
  315.                  [ <textonly:TEXTONLY> ] [_TEXTONLY <_textonly>]           ;
  316.                  [ OUTFILE <(cOutFile)>                                    ;
  317.                      [<ow:OVERWRITE>] [_OVERWRITE <_overwrite>]            ;
  318.                      [<ap:APPEND>] [_APPEND <_append>] ]                   ;
  319.                  [ <selection:SELECTION> ] [_SELECTION <_selection>]       ;
  320.                  [ FONT <ocFont> ]                                         ;
  321.                  [ <fixed:FIXED> ] [_FIXED <_fixed>]                       ;
  322.                  [ <pixel:PIXEL,NOSCALE> ] [_PIXEL <_pixel>]               ;
  323.                  [ UNITS <nUnits> ]                                        ;
  324.                  [ <default:USEDEFAULT> ] [_USEDEFAULT <_usedefault>]      ;
  325.                  [ HANDLER <bHandler> ]                                    ;
  326.                  [ <fontbutton:FONTBUTTON>] [_FONTBUTTON <_fontbutton>]    ;
  327.                  [ ORIENTATION <nOrientation> ]                            ;
  328.                  [ MARGIN <anMargin> ]                                     ;
  329.                  [ OPTIONS <aAltOptions> ]                                 ;
  330.                  [ TITLE <cTitle> ]                                        ;
  331.                  [ PAPERBIN <nPaperBin> ]                                  ;
  332.                  [ FORMSIZE <nFormSize> ]                                  ;
  333.                  [ <lEnableCancel:ENABLECANCEL,CANCELENABLE,CANCEL> ]      ;
  334.                      [_ENABLECANCEL <_enablecancel>]                       ;
  335.                  [ <preview:PREVIEW> ] [_PREVIEW <_preview>]               ;
  336.                  [ <lNonStop:NOSTOP,NONSTOP> ] [_NONSTOP <_nonstop>]       ;
  337.                  [ <lHide:HIDE> ] [_HIDE <_hide>]                          ;
  338.                  [ ZOOMFACTOR <nZoomFactor> [,<nZoomIncr>] ]               ;
  339.                  [ SCROLLFACTOR <nScrollFactor> ]                          ;
  340.                  [ PPOSITION <nPreviewCol>, <nPreviewRow> ]                ;
  341.                  [ PSIZE <nPreviewWidth> [,<nPreviewHeight>] ]             ;
  342.                  [ <NoPrintButton:NOPRINTBUTTON> ]                         ;
  343.                       [_NOPRINTBUTTON <_noprintbutton>]                    ;
  344.                  [ BUSYMESSAGE <cBusyMsg> ]                                ;
  345.                  [ <lForceDlg:FORCEPRINTDIALOG,FORCEDIALOG,PRINTDIALOG> ]  ;
  346.                       [_FORCEDIALOG <_forcedialog>]                        ;
  347.                  [ <lAutoEject:AUTOEJECT> ] [_AUTOEJECT <_autoeject>]      ;
  348.                  [ DIALOGSTYLE <nDialogStyle> ]                            ;
  349.                  [ <lGrid:GRID> ] [_GRID <_grid>]                          ;
  350.                  [ DUPLEXMODE <nDuplexMode> ]                              ;
  351.                  [ COLORMODE <nColorMode> ]                                ;
  352.                  [ RESOLUTION <nResolution> ]                              ;
  353.                  [ <lNoTrans:NOTRANSLATE> ] [_NOTRANSLATE <_notrans>]      ;
  354.                  [ <lBorder:BORDER> ] [_BORDER <_border>]                  ;
  355.                  [ <lFindButton:FINDBUTTON> ] [_FINDBUTTON <_findbutton>]  ;
  356.                  [ BUTTONS <aButtons> ]                                    ;
  357.    =>                                                                      ;
  358.     [ <oPrinter> := ] DC_PrinterOn( {                                      ;
  359.                      <cPrinterName>,                          /*   1 */    ;
  360.                      <nFrom>,                                 /*   2 */    ;
  361.                      <nTo>,                                   /*   3 */    ;
  362.                      <nRows>,                                 /*   4 */    ;
  363.                      <nCols>,                                 /*   5 */    ;
  364.                      <nCopies>,                               /*   6 */    ;
  365.                      <.selection.> [.OR. <_selection>],       /*   7 */    ;
  366.                      <.collate.> [.OR. <_collate>],           /*   8 */    ;
  367.                      <.tofile.> [.OR. <_tofile>],             /*   9 */    ;
  368.                      [{<nPageWidth>,<nPageHeight>}],          /*  10 */    ;
  369.                      <ocFont>,                                /*  11 */    ;
  370.                      nil,                                     /*  12 */    ;
  371.                      <.fixed.> [.OR. <_fixed>],               /*  13 */    ;
  372.                      <.pixel.> [.OR. <_pixel>],               /*  14 */    ;
  373.                      <.preview.> [.OR. <_preview>],           /*  15 */    ;
  374.                      [{<nX1>,<nY1>,<nX2>,<nY2>}],             /*  16 */    ;
  375.                      nil,                                     /*  17 */    ;
  376.                      <(cOutFile)>,                            /*  18 */    ;
  377.                      <.textonly.> [.OR. <_textonly>],         /*  19 */    ;
  378.                      <nUnits>,                                /*  20 */    ;
  379.                      <nZoomFactor>,                           /*  21 */    ;
  380.                      <nZoomIncr>,                             /*  22 */    ;
  381.                      <nScrollFactor>,                         /*  23 */    ;
  382.                      <nPreviewCol>,                           /*  24 */    ;
  383.                      <nPreviewRow>,                           /*  25 */    ;
  384.                      <nPreviewWidth>,                         /*  26 */    ;
  385.                      <nPreviewHeight>,                        /*  27 */    ;
  386.                      <.default.> [.OR. <_usedefault>],        /*  28 */    ;
  387.                      <bHandler>,                              /*  29 */    ;
  388.                      <.fontbutton.> [.OR. <_fontbutton>],     /*  30 */    ;
  389.                      IIF(<.ow.>,1,0) + IIF(<.ap.>,2,0),       /*  31 */    ;
  390.                      <nOrientation>,                          /*  32 */    ;
  391.                      nil,                                     /*  33 */    ;
  392.                      nil,                                     /*  34 */    ;
  393.                      nil,                                     /*  35 */    ;
  394.                      <anMargin>,                              /*  36 */    ;
  395.                      <cTitle>,                                /*  37 */    ;
  396.                      !<.lNonStop.> [.AND. !<_nonstop>],       /*  38 */    ;
  397.                      <.lHide.> [.OR. <_hide>],                /*  39 */    ;
  398.                      <nPaperBin>,                             /*  40 */    ;
  399.                      <nFormSize>,                             /*  41 */    ;
  400.                      !<.NoPrintButton.> [.AND. !<_noprintbutton>],  /*  42 */ ;
  401.                      <.lEnableCancel.> [.OR. <_enablecancel>],/*  43 */    ;
  402.                      <cBusyMsg>,                              /*  44 */    ;
  403.                      <.lForceDlg.> [.OR. <_forcedialog>],     /*  45 */    ;
  404.                      <.lAutoEject.> [.OR. <_autoeject>],      /*  46 */    ;
  405.                      <.lCopyLoop.> [.OR. <_copyloop>],        /*  47 */    ;
  406.                      <nDialogStyle>,                          /*  48 */    ;
  407.                      <.lGrid.> [.OR. <_grid>],                /*  49 */    ;
  408.                      <nDuplexMode>,                           /*  50 */    ;
  409.                      <nColorMode>,                            /*  51 */    ;
  410.                      <nResolution>,                           /*  52 */    ;
  411.                      !<.lNoTrans.> [.AND. !<_notrans>],       /*  53 */    ;
  412.                      <.lBorder.> [.OR. <_border>],            /*  54 */    ;
  413.                      <.lFindButton.> [.OR. <_findbutton>],    /*  55 */    ;
  414.                      <aButtons>,                              /*  56 */    ;
  415.                   }, <aAltOptions> )
  416.  
  417. #command DCPRINT OPTIONS                                                  ;
  418.                  [ TO <aOptions> ]                                        ;
  419.                  [ NAME <cPrinterName> ]                                  ;
  420.                  [ SIZE <nRows>,<nCols> ]                                 ;
  421.                  [ PAGES <nFrom>, <nTo> ]                                 ;
  422.                  [ PAGESIZE <nPageWidth>, <nPageHeight> ]                 ;
  423.                  [ VIEWPORT <nX1>, <nY1>, <nX2>, <nY2> ]                  ;
  424.                  [ <allpages:ALLPAGES> ] [_ALLPAGES <_allpages>]          ;
  425.                  [ COPIES <nCopies> ]                                     ;
  426.                  [ <lCopyLoop:COPYLOOP> ] [_COPYLOOP <_copyloop>]         ;
  427.                  [ <collate:COLLATE> ] [_COLLATE <_collate>]              ;
  428.                  [ <tofile:TOFILE> ] [_TOFILE <_tofile>]                  ;
  429.                  [ <textonly:TEXTONLY>                                    ;
  430.                    [OUTFILE <cOutFile> [<ow:OVERWRITE>] [<ap:APPEND>] ] ] ;
  431.                  [ <selection:SELECTION> ] [_SELECTION <_selection>]      ;
  432.                  [ FONT <ocFont> ]                                        ;
  433.                  [ <fixed:FIXED> ] [_FIXED <_fixed>]                      ;
  434.                  [ <pixel:PIXEL,NOSCALE> ] [_PIXEL <_pixel>]              ;
  435.                  [ <preview:PREVIEW> ] [_PREVIEW <_preview>]              ;
  436.                  [ UNITS <nUnits> ]                                       ;
  437.                  [ ZOOMFACTOR <nZoomFactor> [,<nZoomIncr>] ]              ;
  438.                  [ SCROLLFACTOR <nScrollFactor> ]                         ;
  439.                  [ PPOSITION <nPreviewCol>, <nPreviewRow> ]               ;
  440.                  [ PSIZE <nPreviewWidth>, <nPreviewHeight> ]              ;
  441.                  [ <default:USEDEFAULT> ] [_USEDEFAULT <_usedefault>]     ;
  442.                  [ HANDLER <bHandler> ]                                   ;
  443.                  [ <fontbutton:FONTBUTTON> ] [_FONTBUTTON <_fontbutton>]  ;
  444.                  [ ORIENTATION <nOrientation> ]                           ;
  445.                  [ MARGIN <nMargin> ]                                     ;
  446.                  [ TITLE <cTitle> ]                                       ;
  447.                  [ <lNonStop:NOSTOP,NONSTOP> ] [_NONSTOP <_nonstop>]      ;
  448.                  [ <lHide:HIDE> ] [_HIDE <_hide>]                         ;
  449.                  [ PAPERBIN <nPaperBin> ]                                 ;
  450.                  [ FORMSIZE <nFormSize> ]                                 ;
  451.                  [ <NoPrintButton:NOPRINTBUTTON> ]                        ;
  452.                    [_NOPRINTBUTTON <_noprintbutton>]                      ;
  453.                  [ <lEnableCancel:ENABLECANCEL,CANCELENABLE,CANCEL> ]     ;
  454.                    [_ENABLECANCEL <_enablecancel>]                        ;
  455.                  [ BUSYMESSAGE <cBusyMsg> ]                               ;
  456.                  [ <lForceDlg:FORCEPRINTDIALOG,FORCEDIALOG,PRINTDIALOG> ] ;
  457.                    [_FORCEDIALOG <_forcedialog>]                          ;
  458.                  [ <lAutoEject:AUTOEJECT> ] [_AUTOEJECT <_autoeject>]     ;
  459.                  [ DIALOGSTYLE <nDialogStyle> ]                           ;
  460.                  [ <lGrid:GRID> ] [_GRID <_grid>]                         ;
  461.                  [ DUPLEXMODE <nDuplexMode> ]                             ;
  462.                  [ COLORMODE <nColorMode> ]                               ;
  463.                  [ RESOLUTION <nResolution> ]                             ;
  464.                  [ <lNoTrans:NOTRANSLATE> ] [_NOTRANSLATE <_notrans>]     ;
  465.                  [ <lBorder:BORDER> ] [_BORDER <_border>]                 ;
  466.                  [ <lFindButton:FINDBUTTON> ] [_FINDBUTTON <_findbutton>] ;
  467.                  [ BUTTONS <aButtons> ]                                   ;
  468.   =>                                                                      ;
  469.   [<aOptions> :=]  { <cPrinterName>,                           /*   1 */  ;
  470.                      <nFrom>,                                  /*   2 */  ;
  471.                      <nTo>,                                    /*   3 */  ;
  472.                      <nRows>,                                  /*   4 */  ;
  473.                      <nCols>,                                  /*   5 */  ;
  474.                      <nCopies>,                                /*   6 */  ;
  475.                      <.selection.> [.OR. <_selection>],        /*   7 */  ;
  476.                      <.collate.> [.OR. <_collate>],            /*   8 */  ;
  477.                      <.tofile.> [.OR. <_tofile>],              /*   9 */  ;
  478.                      {<nPageWidth>,<nPageHeight>},             /*  10 */  ;
  479.                      <ocFont>,                                 /*  11 */  ;
  480.                      nil,                                      /*  12 */  ;
  481.                      <.fixed.> [.OR. <_fixed>],                /*  13 */  ;
  482.                      <.pixel.> [.OR. <_pixel>],                /*  14 */  ;
  483.                      <.preview.> [.OR. <_preview>],            /*  15 */  ;
  484.                      [{<nX1>,<nY1>,<nX2>,<nY2>}],              /*  16 */  ;
  485.                      <.allpages.> [.OR. <_allpages>],          /*  17 */  ;
  486.                      <(cOutFile)>,                             /*  18 */  ;
  487.                      <.textonly.>,                             /*  19 */  ;
  488.                      <nUnits>,                                 /*  20 */  ;
  489.                      <nZoomFactor>,                            /*  21 */  ;
  490.                      <nZoomIncr>,                              /*  22 */  ;
  491.                      <nScrollFactor>,                          /*  23 */  ;
  492.                      <nPreviewCol>,                            /*  24 */  ;
  493.                      <nPreviewRow>,                            /*  25 */  ;
  494.                      <nPreviewWidth>,                          /*  26 */  ;
  495.                      <nPreviewHeight>,                         /*  27 */  ;
  496.                      <.default.> [.OR. <_usedefault>],         /*  28 */  ;
  497.                      <bHandler>,                               /*  29 */  ;
  498.                      <.fontbutton.> [.OR. <_fontbutton>],      /*  30 */  ;
  499.                      IIF(<.ow.>,1,0) + IIF(<.ap.>,2,0),        /*  31 */  ;
  500.                      <nOrientation>,                           /*  32 */  ;
  501.                      nil,                                      /*  33 */  ;
  502.                      nil,                                      /*  34 */  ;
  503.                      nil,                                      /*  35 */  ;
  504.                      <nMargin>,                                /*  36 */  ;
  505.                      <cTitle>,                                 /*  37 */  ;
  506.                      !<.lNonStop.> [.AND. !<_nonstop>],        /*  38 */  ;
  507.                      <.lHide.> [.OR. <_hide>],                 /*  39 */  ;
  508.                      <nPaperBin>,                              /*  40 */  ;
  509.                      <nFormSize>,                              /*  41 */  ;
  510.                      !<.NoPrintButton.> [.AND. !<_noprintbutton>], /*  42 */  ;
  511.                      <.lEnableCancel.> [.OR. <_enablecancel>], /*  43 */  ;
  512.                      <cBusyMsg>,                               /*  44 */  ;
  513.                      <.lForceDlg.> [.OR. <_forcedialog>],      /*  45 */  ;
  514.                      <.lAutoEject.> [.OR. <_autoeject>],       /*  46 */  ;
  515.                      <.lCopyLoop.> [.OR. <_copyloop>],         /*  47 */  ;
  516.                      <nDialogStyle>,                           /*  48 */  ;
  517.                      <.lGrid.> [.OR. <_grid>],                 /*  49 */  ;
  518.                      <nDuplexMode>,                            /*  50 */  ;
  519.                      <nColorMode>,                             /*  51 */  ;
  520.                      <nResolution>,                            /*  52 */  ;
  521.                      !<.lNoTrans.> [.AND. !<_notrans>],        /*  53 */  ;
  522.                      <.lBorder.> [.OR. <_border>],             /*  54 */  ;
  523.                      <.lFindButton.> [.OR. <_findbutton>],     /*  55 */  ;
  524.                      <aButtons> }                              /*  56 */
  525.  
  526. #command DCPRINT ATTRIBUTE                                                ;
  527.              [PRINTER <o>]                                                ;
  528.              [<text:TEXT,STRING> <aText>]                                 ;
  529.              [LINE <aLine>]                                               ;
  530.              [AREA <aArea>]                                               ;
  531.              [MARKER <aMarker>]                                           ;
  532.              [WHEN <bWhen>]                                               ;
  533.          =>                                                               ;
  534.   DC_PrinterObject(<o>):SetAttr( <aText>,<aLine>,<aArea>,<aMarker>,<bWhen> )
  535.  
  536.  
  537. #command DCPRINT EVAL <bProc> [PRINTER <o>] [WHEN <bWhen>]                ;
  538.          =>                                                               ;
  539.   DC_PrinterObject(<o>):Eval( <bProc>, <bWhen> )
  540.  
  541.  
  542. #command DCREPORT FORM <frm>                                              ;
  543.          [HEADING <heading>]                                              ;
  544.          [<plain: PLAIN>]                                                 ;
  545.          [<noeject: NOEJECT>]                                             ;
  546.          [<summary: SUMMARY>]                                             ;
  547.          [<noconsole: NOCONSOLE>]                                         ;
  548.          [PRINTER <oPrinter>]                                             ;
  549.          [<print: TO PRINTER>]                                            ;
  550.          [TO FILE <(toFile)>]                                             ;
  551.          [FOR <for>]                                                      ;
  552.          [WHILE <while>]                                                  ;
  553.          [NEXT <next>]                                                    ;
  554.          [RECORD <rec>]                                                   ;
  555.          [<rest:REST>]                                                    ;
  556.          [ALL]                                                            ;
  557.          [<xbp:XBP>]                                                      ;
  558.          [TITLEFONT <titlefont>]                                          ;
  559.          [HEADFONT <headfont>]                                            ;
  560.          [SIZE <nRows>,<nCols>]                                           ;
  561.          [FONT <font>]                                                    ;
  562.          [<preview:PREVIEW>]                                              ;
  563.          [<textonly:TEXTONLY>]                                            ;
  564.       => DC_ReportForm(                                                   ;
  565.                        <(frm)>, <.print.>, <(toFile)>, <.noconsole.>,     ;
  566.                        <{for}>, <{while}>, <next>, <rec>, <.rest.>,       ;
  567.                        <.plain.>, <heading>,                              ;
  568.                        <.noeject.>, <.summary.>,                          ;
  569.                        <.xbp.>, { <titlefont>,<headfont>,<font> },        ;
  570.                        { <nRows>,<nCols> }, <.preview.>, <oPrinter>,      ;
  571.                        <.textonly.>)
  572.  
  573. #command DCPRINT FONT <ocFont>     ;
  574.          [PRINTER <o>]             ;
  575.          [CODEPAGE <n>]            ;
  576.      =>                            ;
  577.          DC_PrinterObject(<o>):SetFont(<ocFont>,<n>)
  578.  
  579. #command DCPRINT OFF [PRINTER <o>] [PAGE <nPage>] => DC_PrinterOff(<o>,<nPage>)
  580.  
  581.