1Use dfrptvw.pkg 2Use DataDict.pkg 3Use dfRadio.pkg 4Use Windows.pkg 5Use cWinReport2.pkg 6Use CUSTOMER.DD 7 8ACTIVATE_VIEW Activate_oCustomerListWP FOR oCustomerListWP 9 10Object oCustomerListWP is a ReportView 11 12 Property Boolean pbComments False 13 14 Set Label to "Customer List" 15 Set Location to 6 6 16 Set Size to 95 180 17 18 Object Customer_DD is a Customer_DataDictionary 19 Send DefineAllExtendedFields 20 End_Object // Customer_DD 21 22 Set Main_DD to Customer_DD 23 Set Server to Customer_DD 24 25 Object oPrintTo is a RadioGroup 26 Set Size to 50 80 27 Set Location to 5 5 28 Set Label to "Send Report to" 29 Object oScreenRadio is a Radio 30 Set Label to "Report Viewer" 31 Set Size to 10 61 32 Set Location to 15 10 33 Set Status_Help to "Preview the report to screen" 34 End_Object // oScreenRadio 35 36 Object oPrinterRadio is a Radio 37 Set Label to "Printer" 38 Set Size to 10 37 39 Set Location to 30 10 40 Set Status_Help to "Send the report to the default printer" 41 End_Object // oPrinterRadio 42 43 Function IsToPrinter Returns boolean 44 integer iRadio 45 Get Current_radio to iRadio 46 Function_return (iRadio=1) 47 End_Function // IsToPrinter 48 49 End_Object // oPrintTo 50 51 Object oOrder is a RadioGroup 52 Set Size to 50 80 53 Set Location to 5 95 54 Set Label to "Report Order" 55 Object oNumberRadio is a Radio 56 Set Label to "Number" 57 Set Size to 10 41 58 Set Location to 15 10 59 Set Status_Help to "Sort by customer number" 60 End_Object // oNumberRadio 61 62 Object oNameRadio is a Radio 63 Set Label to "Name" 64 Set Size to 10 35 65 Set Location to 30 10 66 Set Status_Help to "Sort by customer name" 67 End_Object // oNameRadio 68 69 Function IsSortedByNumber Returns boolean 70 integer iRadio 71 Get Current_radio to iRadio 72 Function_return (iRadio=1) 73 End_Function // IsSortedByNumber 74 75 End_Object // oOrder 76 77 Object oCommentsCkBx is a CheckBox 78 Set Label to "Print Comments" 79 Set Size to 10 65 80 Set Location to 59 95 81 82 End_Object // oCommentsCkBx 83 84 Object oBtnPrint is a Button 85 Set Label to "Print" 86 Set Location to 76 7 87 88 Procedure OnClick 89 Send StartReport 90 End_Procedure 91 92 End_Object // oBtnPrint 93 94 Object oBtnCancel is a Button 95 Set Label to "Cancel" 96 Set Location to 76 65 97 98 Procedure OnClick 99 Send Close_Panel 100 End_Procedure 101 102 End_Object // oBtnCancel 103 104 Object oBtnPrinterSetup is a Button 105 Set Label to "Printer Setup" 106 Set Location to 76 123 107 108 Procedure OnClick 109 Boolean bSetupOk 110 Get DFPrintSetupDialog of oReport to bSetupOk 111 End_Procedure 112 113 End_Object // oBtnPrinterSetup 114 115 Object oReport is a cWinReport2 116 Set Report_Title to "Customer List" 117 118 // Set DDO, Index and breaks for the report 119 Set Server to Customer_DD 120 Set Ordering to 1 121 122 // Report_Breaks file.field // no breaks in this report 123 124 Property Boolean pbLandscape false 125 126 Function Starting_Main_Report Returns Integer 127 Integer iIndex 128 Boolean bOn bErr 129 130 Send DFSetMetrics wpm_cm 131 Send DFSetmargins 1 1 1 1 132 133 Get pbComments to bOn 134 Send DFSetLandscape (if(bOn,True,false)) // This can be used to force a page orientation 135 Get DFGetLandscape to bOn 136 Set pbLandscape to bOn 137 138 Forward Get Starting_Main_Report To bErr 139 140 Function_return bErr 141 End_Function 142 143 // Page_Top is printed first at the top margin of each page 144 Procedure Page_Top 145 string sFont 146 integer iFontSize iStyle 147 148 Move "arial" to sFont 149 Move 8 to iFontSize 150 Move (Font_Default) to iStyle 151 152 DFFont sFont 153 DFFontSize iFontSize 154 DFBeginHeader DFPageTop 155 DFHeaderFrame Hdr_NoFrame 156 DFHeaderPos Hdr_Left 157 DFWriteLn ("Page:" * "#pagecount#") iStyle 158 DFEndHeader 159 160 End_Procedure 161 162 Procedure Page_Header 163 integer iFill iBorder iStyle 164 string sFont sReportTitle 165 integer iFontSize 166 167 Move "arial" to sFont 168 Move 16 to iFontSize 169 Move (Font_bold + rgb_White) to iStyle 170 Move (rgb_dGrey) to iFill 171 Move (rgb_dGrey) to iBorder 172 Get Report_Title to sReportTitle 173 174 DFFont sFont 175 DFFontSize iFontSize 176 DFBeginHeader DFPageHeader 177 DFHeaderPos Hdr_Left 178 DFHeaderFrame Hdr_Margins 0.01 iBorder iFill 179 DFWritelnPos sReportTitle 0.1 iStyle 180 DFHeaderMargin HM_BottomOuter 0.08 181 DFEndHeader 182 183 End_Procedure // Page_Header 184 185 Procedure Page_Title 186 string sFont 187 integer iFontSize iHeaderStyle iFill iBorder 188 Boolean bOn 189 190 Get pbLandscape to bOn 191 192 Move "arial" to sFont 193 Move 8 to iFontSize 194 Move (Font_Bold + rgb_dBlue) to iHeaderStyle 195 Move (rgb_Grey) to iFill 196 Move (rgb_Grey) to iBorder 197 198 DFFont sFont 199 DFFontSize iFontSize 200 DFBeginHeader DFPageTitle 201 DFHeaderPos Hdr_Left 202 DFHeaderFrame Hdr_Margins 0 iBorder iFill 203 DfHeaderMargin HM_TopInner 0.01 204 DfHeaderMargin HM_BottomInner 0.01 205 DFHeaderMargin HM_BottomOuter 0.16 206 207 DfWritePos "Number" 0.1 (iHeaderStyle) 208 DfWritePos "Customer Name" 2 (iHeaderStyle) 209 DfWritePos "Address" 7 (iHeaderStyle) 210 DfWritePos "City" 12 (iHeaderStyle) 211 DfWritePos "St." 15 (iHeaderStyle) 212 DfWritePos "Zip" 17 (iHeaderStyle) 213 214 If bOn begin 215 DfWritePos "Comments" 19 (iHeaderStyle) 216 end 217 DfWriteln 218 DFEndHeader 219 220 End_Procedure // Page_Title 221 222 Procedure Body 223 string sFont 224 integer iFontSize iStyle 225 Boolean bOn 226 227 Send Update_Status (String(Customer.Customer_number)) 228 229 Get pbLandscape to bOn 230 231 Move "arial" to sFont 232 Move 8 to iFontSize 233 Move (font_default) to iStyle 234 235 DFFont sFont 236 DFFontSize iFontSize 237 DFLineCheck 5 238 239 DfWritePos Customer.Customer_Number 0.8 (iStyle + Font_Right) 0 240 DfWritePos Customer.Name 2 iStyle -1 4.98 241 DfWritePos Customer.Address 7 iStyle -1 4.98 242 DfWritePos Customer.City 12 iStyle -1 3.98 243 DfWritePos Customer.State 15 iStyle -1 0.98 244 DfWritePos Customer.Zip 17 iStyle -1 1.98 245 246 If bOn begin 247 DfWritePos Customer.Comments 19 iStyle -1 0 248 dfWriteln 249 end 250 dfWriteln 251 End_Procedure // Body 252 253 // Page_Bottom is printed last at the bottom margin of each page 254 Procedure Page_Bottom 255 string sFont 256 integer iFontSize iBorder iStyle iFill 257 DateTime dtDT 258 259 Move (CurrentDateTime()) to dtDT 260 261 Move "arial" to sFont 262 Move 8 to iFontSize 263 Move (font_default) to iStyle 264 Move (rgb_dGrey) to iBorder 265 Move (rgb_White) to iFill 266 267 DFFont sFont 268 DFFontSize iFontSize 269 DFBeginHeader DFPageBottom 270 DFHeaderFrame Hdr_Margins 0 iBorder iFill 271 DFHeaderPos Hdr_Center // Write data in center 272 DFWriteln ("Report Printed on" * string(dtDT)) (iStyle) 273 DFEndHeader 274 275 End_Procedure // Page_Bottom 276 277 End_Object // oReport 278 279 Procedure StartReport 280 Boolean bToPrinter bComments bSortByNumber 281 282 // determine if direct print 283 Get IsToPrinter of oPrintTo to bToPrinter 284 Set OutPut_Device_Mode of oReport to (If(bToPrinter, PRINT_TO_PRINTER, PRINT_TO_WINDOW)) 285 286 // determine if sort order is by number or name 287 Get IsSortedByNumber of oOrder to bSortByNumber 288 Set Ordering of oReport to (if(bSortByNumber, 2, 1)) 289 290 Get Checked_State of oCommentsCkBx to bComments 291 Set pbComments to bComments 292 293 // run the report 294 Send Run_Report of oReport 295 296 End_Procedure // StartReport 297 298End_Object // oCustomerListWP