C#中Winform下通用打印类(3)-ReportPrintCreator(ReportPrint的创建者)

public class ReportPrintCreator
    
{
        ReportPrint Instance;
        
public ReportPrintCreator(){}
        
public ReportPrint ReportPrintProduct(FileProduct FileConfig)
        
{
            
string Item=FileConfig.GetItem ();
            Instance
=new ReportPrint ();
            
//int Origin_X;int Origin_Y;

            
//Origin_X=FileConfig.Read_Int ("Origin_X");
            
//Origin_Y=FileConfig.Read_Int ("Origin_Y");
            Report_ManyColumnsVariable(FileConfig);
            Report_PageSetupCreator(FileConfig);
            FileConfig.SetItem (Item
+"_Title");
            Report_TitleCreator(FileConfig);
            FileConfig.SetItem (Item
+"_ReportHeader");
            Report_ReportHeaderCreator(FileConfig);
            FileConfig.SetItem (Item
+"_PageHeader");
            Report_PageHeaderCreator(FileConfig);
            FileConfig.SetItem (Item
+"_PageDetail");
            Report_PageDetailCreator(FileConfig);
            FileConfig.SetItem (Item
+"_LineFrame");
            Report_LineFrameCreator(FileConfig);
            FileConfig.SetItem (Item
+"_ReportTailer");
            Report_TailerCreator(FileConfig);
            FileConfig.SetItem (Item);
            
return Instance;
        }

        
private void Report_PageSetupCreator(FileProduct FileConfig)
        
{
            System.Drawing .Printing .PrinterSettings _PrinterSettings;
            
string Printer_Name;
            System.Drawing .Printing .PaperSourceKind Paper_Source;
            
bool Landscape;//横向为true,纵向为false
            string Paper_Name;
        
            
int Paper_Width;
            
int Paper_Height;
            
int Margin_Top;
            
int Margin_Left;
            
int Margin_Bottom;
            
string strTemp;
            Printer_Name
=FileConfig.Read_String ("Printer_Name");
                _PrinterSettings
=new PrinterSettings ();
            
if (Printer_Name!=null)
            
{
                _PrinterSettings.PrinterName 
=Printer_Name;
            }



            strTemp
=FileConfig.Read_String ("Paper_Source");
            
switch (strTemp)
            
{
                
case "AutomaticFeed":Paper_Source=System.Drawing .Printing .PaperSourceKind .AutomaticFeed ;break;
                
case "Cassette":Paper_Source=System.Drawing .Printing .PaperSourceKind .Cassette  ;break;
                
case "Custom":Paper_Source=System.Drawing .Printing .PaperSourceKind .Custom   ;break;
                
case "Envelope":Paper_Source=System.Drawing .Printing .PaperSourceKind .Envelope   ;break;
                
case "FormSource":Paper_Source=System.Drawing .Printing .PaperSourceKind .FormSource   ;break;
                
case "LargeCapacity":Paper_Source=System.Drawing .Printing .PaperSourceKind .LargeCapacity   ;break;
                
case "LargeFormat":Paper_Source=System.Drawing .Printing .PaperSourceKind .LargeFormat   ;break;
                
case "Lower":Paper_Source=System.Drawing .Printing .PaperSourceKind .Lower   ;break;
                
case "Manual":Paper_Source=System.Drawing .Printing .PaperSourceKind .Manual   ;break;
                
case "ManualFeed":Paper_Source=System.Drawing .Printing .PaperSourceKind .ManualFeed   ;break;
                
case "Middle":Paper_Source=System.Drawing .Printing .PaperSourceKind .Middle   ;break;
                
case "SmallFormat":Paper_Source=System.Drawing .Printing .PaperSourceKind .SmallFormat   ;break;
                
case "TractorFeed":Paper_Source=System.Drawing .Printing .PaperSourceKind .TractorFeed   ;break;
                
case "Upper":Paper_Source=System.Drawing .Printing .PaperSourceKind .Upper   ;break;
                
default:Paper_Source=System.Drawing .Printing .PaperSourceKind .FormSource ;break
            }

            strTemp
=FileConfig.Read_String ("Landscape");
            
switch (strTemp)
            
{
                
case "true":Landscape=true;break;
                
case "false":Landscape=false;break;
                
default:Landscape=false;break;
            }

            Paper_Name
=FileConfig.Read_String ("Paper_Name");
            Paper_Width
=System.Math .Max (FileConfig.Read_Int ("Paper_Width"),0);
            Paper_Height
=System.Math .Max (FileConfig.Read_Int ("Paper_Height"),0);
            Margin_Top
=System.Math .Max(FileConfig.Read_Int ("Margin_Top"),0);
            Margin_Left
=System.Math .Max(FileConfig.Read_Int ("Margin_Left"),0);
            Margin_Bottom
=System.Math .Max(FileConfig.Read_Int ("Margin_Bottom"),0);



            System.Drawing .Printing .PaperSize _PaperSizeTemp
=new PaperSize (Paper_Name,Paper_Width,Paper_Height);
            
int intTemp=_PrinterSettings.PaperSizes .Count ;
            
for (int i=0;i<intTemp;i++)
            
{
                
if (_PrinterSettings.PaperSizes [i].PaperName  ==Paper_Name )
                
{
                    _PaperSizeTemp
=_PrinterSettings.PaperSizes [i];
                    
break;
                }

            }


            System.Drawing .Printing .PageSettings _PageSettingsTemp
=new PageSettings ();
            _PageSettingsTemp.PaperSize 
=_PaperSizeTemp;
            _PageSettingsTemp.Landscape 
=Landscape;
            intTemp
=_PrinterSettings.PaperSources .Count ;
            
for (int i=0;i<intTemp;i++)
            
{
                
if (_PrinterSettings .PaperSources [i].Kind ==Paper_Source  )
                
{
                    _PageSettingsTemp.PaperSource 
=_PrinterSettings .PaperSources [i];
                    
break;
                }

            }

            _PageSettingsTemp.Margins .Top 
=Margin_Top;
            _PageSettingsTemp.Margins .Left 
=Margin_Left;
            _PageSettingsTemp.Margins .Bottom 
=Margin_Bottom;
            _PageSettingsTemp.Margins .Right 
=0;
            
//_PrinterSettings.DefaultPageSettings =_PageSettingsTemp;

            intTemp
=_PrinterSettings.PaperSources .Count ;
            
for (int i=0;i<intTemp;i++)
            
{
                
if (_PrinterSettings .PaperSources [i].Kind ==Paper_Source  )
                
{
                    _PageSettingsTemp.PaperSource 
=_PrinterSettings .PaperSources [i];
                    
break;
                }

            }

            
//_PrinterSettings.DefaultPageSettings =_PageSettingsTemp;
            _PageSettingsTemp.Landscape =Landscape;
            Instance._PageSetup ._PrinterSet 
=_PrinterSettings;
            Instance._PageSetup ._PageSettings 
=_PageSettingsTemp;
        }

        
private void Report_TitleCreator(FileProduct FileConfig)
        
{
            
int intTemp1;
            
string strTemp1;string strTemp2;
            
//生成_Title
            Instance._Title ._RowHeight =FileConfig.Read_Int ("RowHeight");
            
if (Instance._Title ._RowHeight>0)
            
{
                Instance._Title ._Vertex_X 
=FileConfig.Read_Int ("X");
                Instance._Title ._Vertex_Y 
=FileConfig.Read_Int ("Y");
                Instance._Title ._Width 
=FileConfig.Read_Int ("Width");
                Instance._Title ._Height 
=FileConfig.Read_Int ("Height");
                strTemp1
=FileConfig.Read_String ("FontName");
                intTemp1
=FileConfig.Read_Int  ("FontSize");
                strTemp2
=FileConfig.Read_String ("FontStyle");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._Title ._Font =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._Title ._Font =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._Title ._Font =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._Title ._Font =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._Title ._Font =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._Title ._Font =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._Title ._Format 
=new StringFormat ();
                Instance._Title ._Format .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._Title ._Format .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._Title ._Format.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._Title ._Format.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._Title ._Format.Alignment =System.Drawing.StringAlignment .Center;    break;
                }

            }

            
        }

        
private void Report_ReportHeaderCreator(FileProduct FileConfig)
        
{
            
int intTemp1;
            
string strTemp1;string strTemp2;
                        Instance._ReportHeader._RowHeight 
=FileConfig.Read_Int ("RowHeight");
            
if (Instance._ReportHeader._RowHeight>0)
            
{
                
//Left
                Instance._ReportHeader._Vertex_X_Left  =FileConfig.Read_Int ("X_Left");
                Instance._ReportHeader._Vertex_Y_Left  
=FileConfig.Read_Int ("Y_Left");
                Instance._ReportHeader ._Width_Left  
=FileConfig.Read_Int ("Width_Left");
                Instance._ReportHeader ._Height_Left  
=FileConfig.Read_Int ("Height_Left");
                strTemp1
=FileConfig.Read_String ("FontName_Left");
                intTemp1
=FileConfig.Read_Int  ("FontSize_Left");
                strTemp2
=FileConfig.Read_String ("FontStyle_Left");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._ReportHeader ._Font_Left  =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._ReportHeader ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._ReportHeader ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._ReportHeader ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._ReportHeader ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._ReportHeader ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._ReportHeader ._Format_Left  
=new StringFormat ();
                Instance._ReportHeader ._Format_Left .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_Left");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._ReportHeader ._Format_Left .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._ReportHeader ._Format_Left.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._ReportHeader ._Format_Left.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._ReportHeader ._Format_Left.Alignment =System.Drawing.StringAlignment .Center;    break;
                }


                
//Center
                Instance._ReportHeader._Vertex_X_Center   =FileConfig.Read_Int ("X_Center");
                Instance._ReportHeader._Vertex_Y_Center   
=FileConfig.Read_Int ("Y_Center");
                Instance._ReportHeader ._Width_Center   
=FileConfig.Read_Int ("Width_Center");
                Instance._ReportHeader ._Height_Center   
=FileConfig.Read_Int ("Height_Center");
                strTemp1
=FileConfig.Read_String ("FontName_Center");
                intTemp1
=FileConfig.Read_Int  ("FontSize_Center");
                strTemp2
=FileConfig.Read_String ("FontStyle_Center");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._ReportHeader ._Font_Center   =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._ReportHeader ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._ReportHeader ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._ReportHeader ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._ReportHeader ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._ReportHeader ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._ReportHeader._Format_Center   
=new StringFormat ();
                Instance._ReportHeader ._Format_Center .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_Center");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._ReportHeader ._Format_Center .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._ReportHeader ._Format_Center.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._ReportHeader ._Format_Center.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._ReportHeader ._Format_Center.Alignment =System.Drawing.StringAlignment .Center;    break;
                }


                
//Right
                Instance._ReportHeader._Vertex_X_Right   =FileConfig.Read_Int ("X_Right");
                Instance._ReportHeader._Vertex_Y_Right   
=FileConfig.Read_Int ("Y_Right");
                Instance._ReportHeader ._Width_Right   
=FileConfig.Read_Int ("Width_Right");
                Instance._ReportHeader ._Height_Right    
=FileConfig.Read_Int ("Height_Right");
                strTemp1
=FileConfig.Read_String ("FontName_Right");
                intTemp1
=FileConfig.Read_Int  ("FontSize_Right");
                strTemp2
=FileConfig.Read_String ("FontStyle_Right");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._ReportHeader ._Font_Right   =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._ReportHeader ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._ReportHeader ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._ReportHeader ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._ReportHeader ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._ReportHeader ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._ReportHeader ._Format_Right    
=new StringFormat ();
                Instance._ReportHeader ._Format_Right .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_Right");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._ReportHeader ._Format_Right .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._ReportHeader ._Format_Right.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._ReportHeader ._Format_Right.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._ReportHeader ._Format_Right.Alignment =System.Drawing.StringAlignment .Center;    break;
                }

            }

        }

        
private void Report_PageHeaderCreator(FileProduct FileConfig)
        
{
            
int intTemp1;int ColumnNumber;
            
string strTemp1;string strTemp2;
            Instance._PageHeader._RowHeight 
=FileConfig.Read_Int ("RowHeight");
            
if (Instance._PageHeader._RowHeight >0)
            
{
                ColumnNumber
=FileConfig.Read_Int ("ColumnNumber");
                Instance._PageHeader ._PageHeaderText 
=new string [ColumnNumber];
                Instance._PageHeader ._Vertex_X 
=new int [ColumnNumber];
                Instance._PageHeader ._Vertex_Y 
=new int [ColumnNumber];
                Instance._PageHeader ._Width 
=new int [ColumnNumber];
                Instance._PageHeader ._Height 
=new int [ColumnNumber];
                Instance._PageHeader ._Font 
=new Font [ColumnNumber];
                Instance._PageHeader ._Format 
=new StringFormat [ColumnNumber]; 
                
for (int i=0;i<ColumnNumber;i++)
                
{
                    Instance._PageHeader ._PageHeaderText [i]
=FileConfig.Read_String ("PageHeaderText_"+i.ToString ());
                    Instance._PageHeader ._Vertex_X [i]
=FileConfig.Read_Int ("X_"+i.ToString ());
                    Instance._PageHeader ._Vertex_Y [i]
=FileConfig.Read_Int ("Y_"+i.ToString ());
                    Instance._PageHeader ._Width [i]
=FileConfig.Read_Int ("Width_"+i.ToString ());
                    Instance._PageHeader ._Height [i]
=FileConfig.Read_Int ("Height_"+i.ToString ());

                    strTemp1
=FileConfig.Read_String ("FontName_"+i.ToString ());
                    intTemp1
=FileConfig.Read_Int  ("FontSize_"+i.ToString ());
                    strTemp2
=FileConfig.Read_String ("FontStyle_"+i.ToString ());
                    
switch (strTemp2)
                    
{
                        
case "Bold":Instance._PageHeader ._Font [i]  =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                        
case "Italic":Instance._PageHeader ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                        
case "Regular":Instance._PageHeader ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                        
case "Strikeout":Instance._PageHeader ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                        
case "Underline":Instance._PageHeader ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                        
default:Instance._PageHeader ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                    }


                    Instance._PageHeader ._Format [i]    
=new StringFormat ();
                    Instance._PageHeader ._Format [i]  .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                    strTemp1
=FileConfig.Read_String ("Alignment_"+i.ToString ());
                    
switch (strTemp1)
                    
{
                        
case "Near":Instance._PageHeader ._Format [i]  .Alignment  =System.Drawing.StringAlignment .Near;    break;
                        
case "Center":Instance._PageHeader ._Format [i] .Alignment =System.Drawing.StringAlignment .Center ;    break;
                        
case "Far":Instance._PageHeader ._Format [i] .Alignment =System.Drawing.StringAlignment .Far ;    break;
                        
default:Instance._PageHeader ._Format [i] .Alignment =System.Drawing.StringAlignment .Center;    break;
                    }

                }

            }

        }

        
private void Report_PageDetailCreator(FileProduct FileConfig)
        
{
            
int intTemp1;int ColumnNumber;
            
string strTemp1;string strTemp2;
            ColumnNumber
=FileConfig.Read_Int ("ColumnNumber");
            Instance._PageDetail ._FieldName  
=new string [ColumnNumber];
            Instance._PageDetail  ._Vertex_X 
=new int [ColumnNumber];
            Instance._PageDetail ._Vertex_Y 
=new int [ColumnNumber];
            Instance._PageDetail ._Width 
=new int [ColumnNumber];
            Instance._PageDetail ._Height 
=new int [ColumnNumber];
            Instance._PageDetail ._Font 
=new Font [ColumnNumber];
            Instance._PageDetail ._Format 
=new StringFormat [ColumnNumber]; 
            Instance._PageDetail ._PrintDealType 
=new PrintDealType [ColumnNumber];
            
for (int i=0;i<ColumnNumber;i++)
            
{
                strTemp1
=FileConfig.Read_String ("PrintDealType_"+i.ToString ());
                
switch (strTemp1)
                
{
                    
case "Direct":Instance._PageDetail ._PrintDealType[i]=PrintDealType.Direct ;break;
                    
case "ThrowoffTailZero":Instance._PageDetail ._PrintDealType[i]=PrintDealType.ThrowoffTailZero  ;break;
                    
case "HideZero":Instance._PageDetail ._PrintDealType[i]=PrintDealType.HideZero   ;break;
                    
case "HideOrThrowoffTailZero":Instance._PageDetail ._PrintDealType[i]=PrintDealType.HideOrThrowoffTailZero  ;break;
                    
case "LitterToUpper":Instance._PageDetail ._PrintDealType[i]=PrintDealType.LitterToUpper   ;break;
                    
case "Percent":Instance._PageDetail ._PrintDealType [i]=PrintDealType.Percent ;break;
                    
default:Instance._PageDetail ._PrintDealType[i]=PrintDealType.Direct ;break;
                }


                Instance._PageDetail ._FieldName [i]
=FileConfig.Read_String ("FieldName_"+i.ToString ());
                Instance._PageDetail ._Vertex_X [i]
=FileConfig.Read_Int ("X_"+i.ToString ());
                Instance._PageDetail ._Vertex_Y [i]
=FileConfig.Read_Int ("Y_"+i.ToString ());
                Instance._PageDetail ._Width [i]
=FileConfig.Read_Int ("Width_"+i.ToString ());
                Instance._PageDetail ._Height [i]
=FileConfig.Read_Int ("Height_"+i.ToString ());

                strTemp1
=FileConfig.Read_String ("FontName_"+i.ToString ());
                intTemp1
=FileConfig.Read_Int  ("FontSize_"+i.ToString ());
                strTemp2
=FileConfig.Read_String ("FontStyle_"+i.ToString ());
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._PageDetail ._Font [i]  =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._PageDetail ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._PageDetail ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._PageDetail ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._PageDetail ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._PageDetail ._Font [i] =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }


                Instance._PageDetail ._Format [i]    
=new StringFormat ();
                Instance._PageDetail ._Format [i]  .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_"+i.ToString ());
                
switch (strTemp1)
                
{
                    
case "Near":Instance._PageDetail ._Format [i]  .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._PageDetail ._Format [i] .Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._PageDetail ._Format [i] .Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._PageDetail ._Format [i] .Alignment =System.Drawing.StringAlignment .Center;    break;
                }

            }

            Instance._PageDetail._RowHeight 
=FileConfig.Read_Int ("RowHeight");

        }

        
private void Report_TailerCreator(FileProduct FileConfig)
        
{
            
int intTemp1;
            
string strTemp1;string strTemp2;
            
            Instance._ReportTailer._RowHeight 
=FileConfig.Read_Int ("RowHeight");
            
if (Instance._ReportTailer._RowHeight>0)
            
{
                
//Left
                Instance._ReportTailer ._Vertex_X_Left  =FileConfig.Read_Int ("X_Left");
                Instance._ReportTailer._Vertex_Y_Left  
=FileConfig.Read_Int ("Y_Left");
                Instance._ReportTailer ._Width_Left  
=FileConfig.Read_Int ("Width_Left");
                Instance._ReportTailer ._Height_Left  
=FileConfig.Read_Int ("Height_Left");
                strTemp1
=FileConfig.Read_String ("FontName_Left");
                intTemp1
=FileConfig.Read_Int  ("FontSize_Left");
                strTemp2
=FileConfig.Read_String ("FontStyle_Left");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._ReportTailer ._Font_Left  =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._ReportTailer ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._ReportTailer ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._ReportTailer ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._ReportTailer ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._ReportTailer ._Font_Left =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._ReportTailer ._Format_Left  
=new StringFormat ();
                Instance._ReportTailer ._Format_Left .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_Left");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._ReportTailer ._Format_Left .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._ReportTailer ._Format_Left.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._ReportTailer ._Format_Left.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._ReportTailer ._Format_Left.Alignment =System.Drawing.StringAlignment .Center;    break;
                }


                
//Center
                Instance._ReportTailer._Vertex_X_Center   =FileConfig.Read_Int ("X_Center");
                Instance._ReportTailer._Vertex_Y_Center   
=FileConfig.Read_Int ("Y_Center");
                Instance._ReportTailer ._Width_Center   
=FileConfig.Read_Int ("Width_Center");
                Instance._ReportTailer ._Height_Center   
=FileConfig.Read_Int ("Height_Center");
                strTemp1
=FileConfig.Read_String ("FontName_Center");
                intTemp1
=FileConfig.Read_Int  ("FontSize_Center");
                strTemp2
=FileConfig.Read_String ("FontStyle_Center");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._ReportTailer ._Font_Center   =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._ReportTailer ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._ReportTailer ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._ReportTailer ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._ReportTailer ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._ReportTailer ._Font_Center =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._ReportTailer._Format_Center   
=new StringFormat ();
                Instance._ReportTailer ._Format_Center .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_Center");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._ReportTailer ._Format_Center .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._ReportTailer ._Format_Center.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._ReportTailer ._Format_Center.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._ReportTailer ._Format_Center.Alignment =System.Drawing.StringAlignment .Center;    break;
                }


                
//Right
                Instance._ReportTailer._Vertex_X_Right   =FileConfig.Read_Int ("X_Right");
                Instance._ReportTailer._Vertex_Y_Right   
=FileConfig.Read_Int ("Y_Right");
                Instance._ReportTailer ._Width_Right   
=FileConfig.Read_Int ("Width_Right");
                Instance._ReportTailer ._Height_Right     
=FileConfig.Read_Int ("Height_Right");
                strTemp1
=FileConfig.Read_String ("FontName_Right");
                intTemp1
=FileConfig.Read_Int  ("FontSize_Right");
                strTemp2
=FileConfig.Read_String ("FontStyle_Right");
                
switch (strTemp2)
                
{
                    
case "Bold":Instance._ReportTailer ._Font_Right   =new Font(strTemp1,intTemp1,System.Drawing.FontStyle .Bold );    break;
                    
case "Italic":Instance._ReportTailer ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Italic );    break;
                    
case "Regular":Instance._ReportTailer ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );    break;
                    
case "Strikeout":Instance._ReportTailer ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Strikeout );    break;
                    
case "Underline":Instance._ReportTailer ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Underline );    break;
                    
default:Instance._ReportTailer ._Font_Right =new Font(strTemp1,intTemp1,System.Drawing.FontStyle.Regular );break;
                }

                Instance._ReportTailer ._Format_Right    
=new StringFormat ();
                Instance._ReportTailer ._Format_Right .FormatFlags 
=System.Drawing .StringFormatFlags .NoWrap ;
                strTemp1
=FileConfig.Read_String ("Alignment_Right");
                
switch (strTemp1)
                
{
                    
case "Near":Instance._ReportTailer ._Format_Right .Alignment  =System.Drawing.StringAlignment .Near;    break;
                    
case "Center":Instance._ReportTailer ._Format_Right.Alignment =System.Drawing.StringAlignment .Center ;    break;
                    
case "Far":Instance._ReportTailer ._Format_Right.Alignment =System.Drawing.StringAlignment .Far ;    break;
                    
default:Instance._ReportTailer ._Format_Right.Alignment =System.Drawing.StringAlignment .Center;    break;
                }

            }


        }

        
private void Report_LineFrameCreator(FileProduct FileConfig)
        
{
            
int    ColumnNumber=FileConfig.Read_Int ("ColumnNumber");
            Instance._LineFrame ._Vertex_X 
=new int [ColumnNumber];
            Instance._LineFrame ._Vertex_Y 
=new int [ColumnNumber];
            Instance._LineFrame ._Width 
=new int [ColumnNumber];
            Instance._LineFrame ._Height 
=new int [ColumnNumber];
            
for (int i=0;i<ColumnNumber;i++)
            
{
                Instance._LineFrame ._Vertex_X [i]
=FileConfig.Read_Int ("X_"+i.ToString ());
                Instance._LineFrame ._Vertex_Y [i]
=FileConfig.Read_Int ("Y_"+i.ToString ());
                Instance._LineFrame ._Width [i]
=FileConfig.Read_Int ("Width_"+i.ToString ());
                Instance._LineFrame ._Height [i]
=FileConfig.Read_Int ("Height_"+i.ToString ());
            }

            Instance._LineFrame._RowHeight 
=FileConfig.Read_Int ("RowHeight");
        }

        
private void Report_ManyColumnsVariable(FileProduct FileConfig)
        
{
            Instance._ManyColumnsVariable ._HeaderandDetailColumns 
=FileConfig.Read_Int  ("HeaderandDetailColumns");
            Instance._ManyColumnsVariable ._Offset_X_Columns 
=FileConfig.Read_Int  ("Offset_X_Columns");
        }

    }
posted on 2005-04-03 00:14  爱好  阅读(1418)  评论(1)    收藏  举报