| 
					
				 | 
			
			
				@@ -60,6 +60,7 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     chkExcel2010: TCheckBox; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     dxcciExcelMode: TdxBarControlContainerItem; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     pnlReports: TPanel; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    BatchPrintXml: TPrintComXML; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure PreviewComXMLGetDataConnection(var ADOCon: TADOConnection); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure xlbRealSizeClick(Sender: TObject); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure xlbOnePageClick(Sender: TObject); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -105,9 +106,9 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 报表数据准备 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     FReportDataPrepare: TReportPrepare; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    procedure InitPageSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    procedure InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    procedure InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure InitPageSettings(APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure InitFont(APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure InitPaperSettings(ATemplate: TTemplateNode; APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     function GetHintStr: string; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -123,7 +124,7 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure ResizePreviewBox; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure PreviewReportCurPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure RepaintCurPagePreview; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    procedure LoadTemplet(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure LoadTemplet(ATemplate: TTemplateNode; APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure LoadTempletAndDisplay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure BeforeExport; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -133,7 +134,7 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure PrintReport(ATemplateNode: TTemplateNode; isPDF, isExcel: boolean; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ExcelOutputName, TemplateFileName: string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    procedure ExportXlsReport(AStartPage, AEndPage: Integer; const AFileName: string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure ExportXlsReport(AStartPage, AEndPage: Integer; const AFileName: string; APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure ExportCurXlsReport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure ExportAllSelectedXlsReports; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure PrintAllSelectedReports; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -151,7 +152,7 @@ type 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     destructor Destroy; override; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     procedure InitFormView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    procedure InitReportSettings(ATemplate: TTemplateNode = nil); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    procedure InitReportSettings(APrintCom: TPrintComXML; ATemplate: TTemplateNode = nil); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     property ProjectData: TProjectData read FProjectData write SetProjectData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 当前预览的页码 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -188,7 +189,7 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   {ReportsForm.BorderIcons := ReportsForm.BorderIcons - [biMaximize]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ReportsForm.WindowState := wsMaximized;} 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ReportsForm.ProjectData := AProjectData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  ReportsForm.InitReportSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  ReportsForm.InitReportSettings(ReportsForm.PreviewComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   ReportsForm.InitFormView; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ReportsForm.ShowModal; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -297,7 +298,7 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Screen.Cursor := crHourGlass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    LoadTemplet(vTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    LoadTemplet(vTemplateNode, PreviewComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if PreviewComXML.TotalPages > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       PreviewTemplet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -584,7 +585,7 @@ var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   sFileName := extvReport.Selected.Text; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if (PrintStartPage <= PrintEndPage) and SaveFile(sFileName, '.xls') then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    ExportXlsReport(PrintStartPage, PrintEndPage, sFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    ExportXlsReport(PrintStartPage, PrintEndPage, sFileName, PreviewComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 procedure TReportsForm.AfterExport; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -762,29 +763,32 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     LoadTempletAndDisplay; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-procedure TReportsForm.InitReportSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TReportsForm.InitReportSettings(APrintCom: TPrintComXML; ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PreviewComXML.FillZero := chkFillZero.Checked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  InitPageSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  InitPaperSettings(ATemplate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.FillZero := chkFillZero.Checked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  InitPageSettings(APrintCom); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  InitPaperSettings(ATemplate, APrintCom); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.ShowBackgroundMark := FProjectData.ProjProperties.ShowReportShading; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.BackgroundMarkStr := FProjectData.ProjProperties.ReportShading; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-procedure TReportsForm.InitPageSettings; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TReportsForm.InitPageSettings(APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 设置页面大小 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PreviewComXML.setPageSize(ReportConfig.PageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.setPageSize(ReportConfig.PageSize); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if ReportConfig.PageSize = 'A3' then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.PrintPageSizeIdx := DMPAPER_A3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.PrintPageSizeIdx := DMPAPER_A3 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   else if ReportConfig.PageSize = 'A4' then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.PrintPageSizeIdx := DMPAPER_A4;   
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.PrintPageSizeIdx := DMPAPER_A4; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   // 设置边距 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PreviewComXML.setEdge(0, '', ReportConfig.LeftEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PreviewComXML.setEdge(1, '', ReportConfig.RightEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PreviewComXML.setEdge(2, '', ReportConfig.UpEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  PreviewComXML.setEdge(3, '', ReportConfig.DownEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.setEdge(0, '', ReportConfig.LeftEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.setEdge(1, '', ReportConfig.RightEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.setEdge(2, '', ReportConfig.UpEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  APrintCom.setEdge(3, '', ReportConfig.DownEdge/10); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode; APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   procedure InitRepBorderLine; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   var 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -794,7 +798,7 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ObjList := TList.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllShapeObjs(1, ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllShapeObjs(1, ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ShapeRec := ObjList[i]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -817,7 +821,7 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				              ShapeRec.PenStyle := integer(psSolid) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setShapeObj(ShapeRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setShapeObj(ShapeRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ObjList.Free; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -834,25 +838,25 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ObjList := TList.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllFlowShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllFlowShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 设置报表表格横线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FlowContentRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FlowContentRec.LineInfo.TopThick := ReportConfig.CellHorLineWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FlowContentRec.LineInfo.BottomThick := ReportConfig.CellHorLineWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setFlowContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setFlowContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllCrossContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllCrossContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CrossContentRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CrossContentRec.CrossContent.LineInfo.TopThick := ReportConfig.CellHorLineWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CrossContentRec.CrossContent.LineInfo.BottomThick := ReportConfig.CellHorLineWidth; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setCrossContentObj(CrossContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setCrossContentObj(CrossContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 设置报表表格竖线 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllFlowShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllFlowShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FlowContentRec := ObjList[i]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -864,10 +868,10 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             FlowContentRec.LineInfo.LeftThick := 0 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           else if (i = ObjList.Count - 1) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             FlowContentRec.LineInfo.RightThick := 0; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setFlowContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setFlowContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllCrossContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllCrossContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CrossContentRec := ObjList[i]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -931,7 +935,7 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setCrossContentObj(CrossContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setCrossContentObj(CrossContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ObjList.Free; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1029,7 +1033,7 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             0..2 : SetPTRBorder(PSR.Data); //文本,参数,字段,表栏 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             7 : SetPCRBorder(PSR.Data) //Column 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          PreviewComXML.setActShowElementObj(PSR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          APrintCom.setActShowElementObj(PSR); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     finally 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1040,7 +1044,7 @@ procedure TReportsForm.InitPaperSettings(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   if not Assigned(ATemplate) or (ATemplate.SelfFormat = 0) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    InitFont;           // 各类字体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    InitFont(APrintCom);           // 各类字体 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     InitRepBorderLine;  // 报表边框 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     InitRepCellLine;    // 报表表格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     InitOtherArea;      // 活动区域 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1094,7 +1098,7 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   PreviewReportCurPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-procedure TReportsForm.InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TReportsForm.InitFont(APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   procedure AssignFontRec(AFontRec: TFontRec; AFont: TFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1113,7 +1117,7 @@ procedure TReportsForm.InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if TitleRec <> nil then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       AssignFontRec(TitleRec.FontRec, ReportConfig.TitleFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.setTitleObj(TitleRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.setTitleObj(TitleRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1143,23 +1147,23 @@ procedure TReportsForm.InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ObjList := TList.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllColumnHeadObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllColumnHeadObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ColumnRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AssignFontRec(ColumnRec.FontRec, ReportConfig.ColumnFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         InitColumnThick(ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setColumnHeadTailObj(0, ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setColumnHeadTailObj(0, ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllColumnTailObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllColumnTailObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         ColumnRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AssignFontRec(ColumnRec.FontRec, ReportConfig.ColumnFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         InitColumnThick(ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setColumnHeadTailObj(1,ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setColumnHeadTailObj(1,ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllActAreaObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllActAreaObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AAR := ObjList[i]; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1171,7 +1175,7 @@ procedure TReportsForm.InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             ColumnRec := SER.Data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             AssignFontRec(ColumnRec.FontRec, ReportConfig.ColumnFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             InitColumnThick(ColumnRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            PreviewComXML.setActShowElementObj(SER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            APrintCom.setActShowElementObj(SER); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1191,45 +1195,45 @@ procedure TReportsForm.InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ObjList := TList.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 设置表正文 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllFlowShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllFlowShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FlowContentRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not (FlowContentRec.Fixed) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AssignFontRec(FlowContentRec.FontRec, ReportConfig.ContentFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          PreviewComXML.setFlowContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          APrintCom.setFlowContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllBillShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllBillShowContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         FlowContentRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not(FlowContentRec.Fixed) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AssignFontRec(FlowContentRec.FontRec, ReportConfig.ContentFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          PreviewComXML.setBillContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          APrintCom.setBillContentObj(FlowContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllCrossContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllCrossContentObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         CrossContentRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         if not(CrossContentRec.CrossContent.Fixed) then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AssignFontRec(CrossContentRec.CrossContent.FontRec, ReportConfig.ContentFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          PreviewComXML.setCrossContentObj(CrossContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          APrintCom.setCrossContentObj(CrossContentRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 设置表合计 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to 2 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.getAllSumObjs(i,ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.getAllSumObjs(i,ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         for j := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           SumRec := ObjList[j]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AssignFontRec(SumRec.FontRec, ReportConfig.GatherFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-          PreviewComXML.setSumObj(SumRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+          APrintCom.setSumObj(SumRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     finally 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1245,19 +1249,19 @@ procedure TReportsForm.InitFont; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     ObjList := TList.Create; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllHeadObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllHeadObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         HeadTailRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AssignFontRec(HeadTailRec.FontRec, ReportConfig.GridHeaderFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setHeadTailObj(0, HeadTailRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setHeadTailObj(0, HeadTailRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.getAllTailObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.getAllTailObjs(ObjList); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       for i := 0 to ObjList.Count - 1 do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         HeadTailRec := ObjList[i]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         AssignFontRec(HeadTailRec.FontRec, ReportConfig.GridHeaderFont); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-        PreviewComXML.setHeadTailObj(1, HeadTailRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        APrintCom.setHeadTailObj(1, HeadTailRec); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       ObjList.Free; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1335,14 +1339,14 @@ procedure TReportsForm.PrintReport(ATemplateNode: TTemplateNode; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if isPDF then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.PrintPDFAll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      BatchPrintXml.PrintPDFAll; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       while not CheckPrinterReady do 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         Sleep(1000); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else if not isExcel then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreviewComXML.PrintAll(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      BatchPrintXml.PrintAll(1) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ExportXlsReport(1, PreviewComXML.TotalPages, ExcelOutputName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ExportXlsReport(1, BatchPrintXml.TotalPages, ExcelOutputName, BatchPrintXml); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1355,8 +1359,8 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Screen.Cursor := crHourGlass; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   try 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    LoadTemplet(ATemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if PreviewComXML.TotalPages > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    LoadTemplet(ATemplateNode, BatchPrintXml); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if BatchPrintXml.TotalPages > 0 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       PrintTemplet 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     {else if strRptName <> '' then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     begin 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1369,7 +1373,7 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 procedure TReportsForm.ExportXlsReport(AStartPage, AEndPage: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-  const AFileName: string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+  const AFileName: string; APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   procedure ExportPagesXlsReport(AStartPage, AEndPage: Integer; const AFileName: string); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   var 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1378,10 +1382,10 @@ procedure TReportsForm.ExportXlsReport(AStartPage, AEndPage: Integer; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     LoadExcelBorder(Border); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if IsExcel2010 then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       // 康博士代码中写批量打印是,用Printer.Canvas,打印当前时,用PreviewBox.Canvas。不懂为什么 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreViewComXML.OutputToExcelRangeXMLEx(PreviewBox.Canvas, AStartPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.OutputToExcelRangeXMLEx(PreviewBox.Canvas, AStartPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AEndPage, GetTemplateXlsFileName, AFileName, Border, ExcelMode) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      PreViewComXML.OutputToExcelFile(PreviewBox.Canvas, AStartPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      APrintCom.OutputToExcelFile(PreviewBox.Canvas, AStartPage, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				           AEndPage, GetTemplateXlsFileName, AFileName, ExcelMode, Border); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1407,13 +1411,13 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       until iStartPage > iEndPage; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     end 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     else 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-      ExportPagesXlsReport(PrintStartPage, PrintEndPage, AFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+      ExportPagesXlsReport(AStartPage, AEndPage, AFileName); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     AfterExport; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 end; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-procedure TReportsForm.LoadTemplet(ATemplate: TTemplateNode); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+procedure TReportsForm.LoadTemplet(ATemplate: TTemplateNode; APrintCom: TPrintComXML); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				 var 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   RptArchiverObj: TReportArchiver; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   Mem: TMemoryStream; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -1428,17 +1432,18 @@ begin 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 以下代码有顺序限制,不可修改,主要保证在不修改报表模板文件的基础上可以用户定制报表格式 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 私以为,原因在于这些设置修改后,并不能生效,需要保存再读取方可生效 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 读取报表模板 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    if not PreviewComXML.ReadReportStream(Mem) then Exit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    if not APrintCom.ReadReportStream(Mem) then Exit; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 将报表设置中的数据覆盖掉原模板的数据 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    InitReportSettings(ATemplate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    InitReportSettings(APrintCom, ATemplate); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 保存 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.SaveToStream(Mem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.SaveToStream(Mem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // 再次读取,使报表设置中的设置生效 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.ReadReportStream(Mem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.ReadReportStream(Mem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     // ReadReportStream之后会将PreviewComXML的FillZero值赋为True,故再赋值一次 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.FillZero := chkFillZero.Checked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.ReadDBData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-    PreviewComXML.AnalyseData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.FillZero := chkFillZero.Checked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    InitPageSettings(APrintCom); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.ReadDBData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+    APrintCom.AnalyseData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				   finally 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     if Mem <> nil then 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				       Mem.Free; 
			 |