1160 lines
		
	
	
		
			56 KiB
		
	
	
	
		
			C#
		
	
			
		
		
	
	
			1160 lines
		
	
	
		
			56 KiB
		
	
	
	
		
			C#
		
	
using System;
 | 
						|
using System.Linq;
 | 
						|
using System.Collections.ObjectModel;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.ComponentModel;
 | 
						|
using System.Drawing.Imaging;
 | 
						|
using System.Data;
 | 
						|
using System.Drawing;
 | 
						|
using System.IO;
 | 
						|
using System.Text;
 | 
						|
using System.Threading;
 | 
						|
using System.Windows.Forms;
 | 
						|
 | 
						|
using SmartX;
 | 
						|
using INT69DC_ImageDll;
 | 
						|
using INT69DC_7C.DialogForms;
 | 
						|
using INT69DC_7C.Controls;
 | 
						|
 | 
						|
namespace INT69DC_7C.Forms
 | 
						|
{
 | 
						|
    public partial class FormDataStatistics : Form
 | 
						|
    {
 | 
						|
        #region Field
 | 
						|
        private int FileIndex;
 | 
						|
        public string SelectFilePath;
 | 
						|
       
 | 
						|
        private FormMain m_ParentForm;
 | 
						|
        public DataCommonList CurrentDataCommonList;
 | 
						|
 | 
						|
        private Collection<string[]> CollectionWeightData;              //파일에서 읽은 데이터
 | 
						|
        private Collection<DataCollector> CollectionLaneData;           //파일에서 읽은 데이터를 통계 계산 처리된 데이터
 | 
						|
 | 
						|
        private Collection<SmartLabel> CollectionCommonLabel;
 | 
						|
        private Collection<SmartLabel> CollectionLane;
 | 
						|
        private Collection<SmartLabel> CollectionPassCount;
 | 
						|
        private Collection<SmartLabel> CollectionPassAverage;
 | 
						|
        private Collection<SmartLabel> CollectionPassPercentage;
 | 
						|
        private Collection<SmartLabel> CollectionPassSD;
 | 
						|
        private Collection<SmartLabel> CollectionPassMinWeight;
 | 
						|
        private Collection<SmartLabel> CollectionPassMaxWeight;
 | 
						|
        private Collection<SmartLabel> CollectionOverCount;
 | 
						|
        private Collection<SmartLabel> CollectionOverSumWeight;
 | 
						|
        private Collection<SmartLabel> CollectionOverPercentage;
 | 
						|
        private Collection<SmartLabel> CollectionUnderCount;
 | 
						|
        private Collection<SmartLabel> CollectionUnderSumWeight;
 | 
						|
        private Collection<SmartLabel> CollectionUnderPercentage;
 | 
						|
        private Collection<SmartLabel> CollectionExNgCount;
 | 
						|
        private Collection<SmartLabel> CollectionExNgPercentage;
 | 
						|
        private Collection<SmartLabel> CollectionTotalCount;
 | 
						|
        private Collection<SmartLabel> CollectionTotalNGCount;
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Constructor
 | 
						|
        public FormDataStatistics(FormMain parent)
 | 
						|
        {
 | 
						|
            InitializeComponent();
 | 
						|
 | 
						|
            this.ParentForm = parent;
 | 
						|
 | 
						|
            this.InitializeDesign();
 | 
						|
            this.DefaultSetting();
 | 
						|
            this.InitializeControl();
 | 
						|
        } 
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Property
 | 
						|
        public FormMain ParentForm
 | 
						|
        {
 | 
						|
            get { return this.m_ParentForm; }
 | 
						|
            private set { this.m_ParentForm = value; }
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Method
 | 
						|
        private void InitializeDesign()
 | 
						|
        {
 | 
						|
            ImageDll images = new ImageDll();
 | 
						|
 | 
						|
            if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Korean)
 | 
						|
            {
 | 
						|
                this.labelTitleInformation.Text = "정보";
 | 
						|
                this.labelTitleStartTime.Text = "시작시간";
 | 
						|
                this.labelTitleEndTime.Text = "종료시간";
 | 
						|
 | 
						|
                this.labelTitleRange.Text = "범위[g]";
 | 
						|
                this.labelTitleRangeOver.Text = "상한";
 | 
						|
                this.labelTitleRangePass.Text = "기준";
 | 
						|
                this.labelTitleRangeUnder.Text = "하한";
 | 
						|
                this.labelTitleRangeTare.Text = "용기";
 | 
						|
 | 
						|
                this.labelTitleAllCnt.Text = "수량[ea/%]";
 | 
						|
                this.labelTitleAllCntOver.Text = "상한";
 | 
						|
                this.labelTitleAllCntPass.Text = "정상";
 | 
						|
                this.labelTitleAllCntUnder.Text = "하한";
 | 
						|
                this.labelTitleAllCntExng.Text = "기타불량";
 | 
						|
                this.labelTitleAllCntTotalNg.Text = "전체불량";
 | 
						|
                this.labelTitleAllCntTotal.Text = "전체수량";
 | 
						|
 | 
						|
                this.labelTitleAllSumWeight.Text = "누적 중량[kg]";
 | 
						|
                this.labelTitleAllSumWeightOver.Text = "상한";
 | 
						|
                this.labelTitleAllSumWeightUnder.Text = "하한";
 | 
						|
 | 
						|
                this.labelTitleAllPass.Text = "정상[g]";
 | 
						|
                this.labelTitleAllPassAverage.Text = "평균";
 | 
						|
                this.labelTitleAllPassSd.Text = "표준편차";
 | 
						|
 | 
						|
                this.labelTitlePassCnt.Text = "정상/수량[ea]";
 | 
						|
                this.labelTitlePassAverage.Text = "평균[g]";
 | 
						|
                this.labelTitlePassPercentage.Text = "백분율[%]";
 | 
						|
                this.labelTitlePassSd.Text = "표준편차[g]";
 | 
						|
                this.labelTitlePassMinWeight.Text = "최소중량[g]";
 | 
						|
                this.labelTitlePassMaxWeight.Text = "최대중량[g]";
 | 
						|
                this.labelTitleOverCnt.Text = "상한/수량[ea]";
 | 
						|
                this.labelTitleOverSumWeight.Text = "누적중량[kg]";
 | 
						|
                this.labelTitleOverPercentage.Text = "백분율[%]";
 | 
						|
                this.labelTitleUnderCnt.Text = "하한/수량[ea]";
 | 
						|
                this.labelTitleUnderSumWeight.Text = "누적중량[kg]";
 | 
						|
                this.labelTitleUnderPercentage.Text = "백분율[%]";
 | 
						|
                this.labelTitleExngCnt.Text = "기타불량/수량[ea]";
 | 
						|
                this.labelTitleExngPercentage.Text = "백분율[%]";
 | 
						|
                this.labelTitleTotalCnt.Text = "전체수량[ea]";
 | 
						|
                this.labelTitleTotalNgCnt.Text = "전체불량[ea]";
 | 
						|
 | 
						|
                this.labelTitleExngCnt.Font = new Font("New Gulim", 9F, FontStyle.Bold);
 | 
						|
            }
 | 
						|
            else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.English)
 | 
						|
            {
 | 
						|
                this.labelTitle.Text = "Data Statistics";
 | 
						|
 | 
						|
                this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDisable));
 | 
						|
                this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupDown));
 | 
						|
                this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackupUp));
 | 
						|
 | 
						|
                this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDisable));
 | 
						|
                this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackDown));
 | 
						|
                this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.engBackUp));
 | 
						|
            }
 | 
						|
            else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Chinese)
 | 
						|
            {
 | 
						|
                this.labelTitle.Text = "Data Statistics";
 | 
						|
 | 
						|
                this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupDisable));
 | 
						|
                this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupDown));
 | 
						|
                this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackupUp));
 | 
						|
 | 
						|
                this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectDisable));
 | 
						|
                this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectDown));
 | 
						|
                this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnFileSelectUp));
 | 
						|
 | 
						|
                this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDisable));
 | 
						|
                this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackDown));
 | 
						|
                this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.chnBackUp));
 | 
						|
            }
 | 
						|
            else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.Czech)
 | 
						|
            {
 | 
						|
                this.labelTitle.Text = "Data Statistics";
 | 
						|
 | 
						|
                this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDisable));
 | 
						|
                this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupDown));
 | 
						|
                this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackupUp));
 | 
						|
 | 
						|
                this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectDisable));
 | 
						|
                this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectDown));
 | 
						|
                this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeFileSelectUp));
 | 
						|
 | 
						|
                this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDisable));
 | 
						|
                this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackDown));
 | 
						|
                this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.czeBackUp));
 | 
						|
            }
 | 
						|
            else if (this.ParentForm.SystemConfig.Language == DataStore.LanguageID.German)
 | 
						|
            {
 | 
						|
                this.labelTitle.Text = "Data Statistics";
 | 
						|
 | 
						|
                this.buttonSave.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDisable));
 | 
						|
                this.buttonSave.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupDown));
 | 
						|
                this.buttonSave.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackupUp));
 | 
						|
 | 
						|
                this.buttonFileSelect.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectDisable));
 | 
						|
                this.buttonFileSelect.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectDown));
 | 
						|
                this.buttonFileSelect.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerFileSelectUp));
 | 
						|
 | 
						|
                this.buttonBack.DisableImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDisable));
 | 
						|
                this.buttonBack.DownImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackDown));
 | 
						|
                this.buttonBack.UpImage = new Bitmap(images.GetImage(ImageDll.ButtonImages.gerBackUp));
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
 | 
						|
            }
 | 
						|
        }
 | 
						|
        private void InitializeControl()
 | 
						|
        {
 | 
						|
            int locationX = 0;
 | 
						|
 | 
						|
            #region Label Visible
 | 
						|
            for (int i = this.ParentForm.SystemConfig.EquipmentColumns; i < 12; i++)
 | 
						|
            {
 | 
						|
                this.CollectionLane[i].Visible = false;
 | 
						|
                this.CollectionPassCount[i].Visible = false;
 | 
						|
                this.CollectionPassAverage[i].Visible = false;
 | 
						|
                this.CollectionPassPercentage[i].Visible = false;
 | 
						|
                this.CollectionPassSD[i].Visible = false;
 | 
						|
                this.CollectionPassMinWeight[i].Visible = false;
 | 
						|
                this.CollectionPassMaxWeight[i].Visible = false;
 | 
						|
                this.CollectionOverCount[i].Visible = false;
 | 
						|
                this.CollectionOverSumWeight[i].Visible = false;
 | 
						|
                this.CollectionOverPercentage[i].Visible = false;
 | 
						|
                this.CollectionUnderCount[i].Visible = false;
 | 
						|
                this.CollectionUnderSumWeight[i].Visible = false;
 | 
						|
                this.CollectionUnderPercentage[i].Visible = false;
 | 
						|
                this.CollectionExNgCount[i].Visible = false;
 | 
						|
                this.CollectionExNgPercentage[i].Visible = false;
 | 
						|
                this.CollectionTotalCount[i].Visible = false;
 | 
						|
                this.CollectionTotalNGCount[i].Visible = false;
 | 
						|
            }
 | 
						|
            #endregion
 | 
						|
 | 
						|
            #region Label Location
 | 
						|
            if (this.ParentForm.SystemConfig.EquipmentColumns == 7)
 | 
						|
                locationX = 50;
 | 
						|
            else if (this.ParentForm.SystemConfig.EquipmentColumns == 8)
 | 
						|
                locationX = 40;
 | 
						|
            else if (this.ParentForm.SystemConfig.EquipmentColumns == 10)
 | 
						|
                locationX = 16;
 | 
						|
 | 
						|
            for (int i = 1; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
 | 
						|
            {
 | 
						|
                this.CollectionLane[i].Location = new Point(this.CollectionLane[i].Location.X + locationX * i, this.CollectionLane[i].Location.Y);
 | 
						|
                this.CollectionPassCount[i].Location = new Point(this.CollectionPassCount[i].Location.X + locationX * i, this.CollectionPassCount[i].Location.Y);
 | 
						|
                this.CollectionPassAverage[i].Location = new Point(this.CollectionPassAverage[i].Location.X + locationX * i, this.CollectionPassAverage[i].Location.Y);
 | 
						|
                this.CollectionPassPercentage[i].Location = new Point(this.CollectionPassPercentage[i].Location.X + locationX * i, this.CollectionPassPercentage[i].Location.Y);
 | 
						|
                this.CollectionPassSD[i].Location = new Point(this.CollectionPassSD[i].Location.X + locationX * i, this.CollectionPassSD[i].Location.Y);
 | 
						|
                this.CollectionPassMinWeight[i].Location = new Point(this.CollectionPassMinWeight[i].Location.X + locationX * i, this.CollectionPassMinWeight[i].Location.Y);
 | 
						|
                this.CollectionPassMaxWeight[i].Location = new Point(this.CollectionPassMaxWeight[i].Location.X + locationX * i, this.CollectionPassMaxWeight[i].Location.Y);
 | 
						|
                this.CollectionOverCount[i].Location = new Point(this.CollectionOverCount[i].Location.X + locationX * i, this.CollectionOverCount[i].Location.Y);
 | 
						|
                this.CollectionOverSumWeight[i].Location = new Point(this.CollectionOverSumWeight[i].Location.X + locationX * i, this.CollectionOverSumWeight[i].Location.Y);
 | 
						|
                this.CollectionOverPercentage[i].Location = new Point(this.CollectionOverPercentage[i].Location.X + locationX * i, this.CollectionOverPercentage[i].Location.Y);
 | 
						|
                this.CollectionUnderCount[i].Location = new Point(this.CollectionUnderCount[i].Location.X + locationX * i, this.CollectionUnderCount[i].Location.Y);
 | 
						|
                this.CollectionUnderSumWeight[i].Location = new Point(this.CollectionUnderSumWeight[i].Location.X + locationX * i, this.CollectionUnderSumWeight[i].Location.Y);
 | 
						|
                this.CollectionUnderPercentage[i].Location = new Point(this.CollectionUnderPercentage[i].Location.X + locationX * i, this.CollectionUnderPercentage[i].Location.Y);
 | 
						|
                this.CollectionExNgCount[i].Location = new Point(this.CollectionExNgCount[i].Location.X + locationX * i, this.CollectionExNgCount[i].Location.Y);
 | 
						|
                this.CollectionExNgPercentage[i].Location = new Point(this.CollectionExNgPercentage[i].Location.X + locationX * i, this.CollectionExNgPercentage[i].Location.Y);
 | 
						|
                this.CollectionTotalCount[i].Location = new Point(this.CollectionTotalCount[i].Location.X + locationX * i, this.CollectionTotalCount[i].Location.Y);
 | 
						|
                this.CollectionTotalNGCount[i].Location = new Point(this.CollectionTotalNGCount[i].Location.X + locationX * i, this.CollectionTotalNGCount[i].Location.Y);
 | 
						|
            }
 | 
						|
            #endregion
 | 
						|
        }
 | 
						|
        private void DefaultSetting()
 | 
						|
        {
 | 
						|
            this.FileIndex = 0;
 | 
						|
            this.SelectFilePath = "";
 | 
						|
 | 
						|
            this.CurrentDataCommonList = new DataCommonList();
 | 
						|
            this.CollectionWeightData = new Collection<string[]>();
 | 
						|
            this.CollectionLaneData = new Collection<DataCollector>();
 | 
						|
 | 
						|
            this.CollectionCommonLabel = new Collection<SmartLabel>();
 | 
						|
            this.CollectionLane = new Collection<SmartLabel>();
 | 
						|
            this.CollectionPassCount = new Collection<SmartLabel>();
 | 
						|
            this.CollectionPassAverage = new Collection<SmartLabel>();
 | 
						|
            this.CollectionPassPercentage = new Collection<SmartLabel>();
 | 
						|
            this.CollectionPassSD = new Collection<SmartLabel>();
 | 
						|
            this.CollectionPassMinWeight = new Collection<SmartLabel>();
 | 
						|
            this.CollectionPassMaxWeight = new Collection<SmartLabel>();
 | 
						|
            this.CollectionOverCount = new Collection<SmartLabel>();
 | 
						|
            this.CollectionOverSumWeight = new Collection<SmartLabel>();
 | 
						|
            this.CollectionOverPercentage = new Collection<SmartLabel>();
 | 
						|
            this.CollectionUnderCount = new Collection<SmartLabel>();
 | 
						|
            this.CollectionUnderSumWeight = new Collection<SmartLabel>();
 | 
						|
            this.CollectionUnderPercentage = new Collection<SmartLabel>();
 | 
						|
            this.CollectionExNgCount = new Collection<SmartLabel>();
 | 
						|
            this.CollectionExNgPercentage = new Collection<SmartLabel>();
 | 
						|
            this.CollectionTotalCount = new Collection<SmartLabel>();
 | 
						|
            this.CollectionTotalNGCount = new Collection<SmartLabel>();
 | 
						|
 | 
						|
            this.CollectionCommonLabel.Add(this.labelProductName);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelLot);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelStartTime);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelEndTime);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelOverRange);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelPassRange);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelUnderRange);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTareRange);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalCount);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalNGCount);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalPassCount);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalOverCount);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalUnderCount);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalExNgCount);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalPassAverage);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalPassStandardDeviation);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalOverSumWeight);
 | 
						|
            this.CollectionCommonLabel.Add(this.labelTotalUnderSumWeight);
 | 
						|
 | 
						|
            for (int i = 1; i <= 12; i++)
 | 
						|
            {
 | 
						|
                this.CollectionLane.Add(FindByNameUtil.SmartLabel("labelLane" + i, this));
 | 
						|
                this.CollectionPassCount.Add(FindByNameUtil.SmartLabel("labelPassCount" + i, this));
 | 
						|
                this.CollectionPassAverage.Add(FindByNameUtil.SmartLabel("labelPassAverage" + i, this));
 | 
						|
                this.CollectionPassPercentage.Add(FindByNameUtil.SmartLabel("labelPassPercentage" + i, this));
 | 
						|
                this.CollectionPassSD.Add(FindByNameUtil.SmartLabel("labelPassStandardDeviation" + i, this));
 | 
						|
                this.CollectionPassMinWeight.Add(FindByNameUtil.SmartLabel("labelPassMinWeight" + i, this));
 | 
						|
                this.CollectionPassMaxWeight.Add(FindByNameUtil.SmartLabel("labelPassMaxWeight" + i, this));
 | 
						|
                this.CollectionOverCount.Add(FindByNameUtil.SmartLabel("labelOverCount" + i, this));
 | 
						|
                this.CollectionOverSumWeight.Add(FindByNameUtil.SmartLabel("labelOverSumWeight" + i, this));
 | 
						|
                this.CollectionOverPercentage.Add(FindByNameUtil.SmartLabel("labelOverPercentage" + i, this));
 | 
						|
                this.CollectionUnderCount.Add(FindByNameUtil.SmartLabel("labelUnderCount" + i, this));
 | 
						|
                this.CollectionUnderSumWeight.Add(FindByNameUtil.SmartLabel("labelUnderSumWeight" + i, this));
 | 
						|
                this.CollectionUnderPercentage.Add(FindByNameUtil.SmartLabel("labelUnderPercentage" + i, this));
 | 
						|
                this.CollectionExNgCount.Add(FindByNameUtil.SmartLabel("labelExNgCount" + i, this));
 | 
						|
                this.CollectionExNgPercentage.Add(FindByNameUtil.SmartLabel("labelExNgPercentage" + i, this));
 | 
						|
                this.CollectionTotalCount.Add(FindByNameUtil.SmartLabel("labelTotalCount" + i, this));
 | 
						|
                this.CollectionTotalNGCount.Add(FindByNameUtil.SmartLabel("labelTotalNGCount" + i, this));
 | 
						|
            }
 | 
						|
 | 
						|
            for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
 | 
						|
                this.CollectionLaneData.Add(new DataCollector());
 | 
						|
 | 
						|
            this.InitializeLabels();
 | 
						|
        }
 | 
						|
        private void InitializeLabels()
 | 
						|
        {
 | 
						|
            foreach (SmartLabel label in this.CollectionCommonLabel)
 | 
						|
                label.Text = "-";
 | 
						|
 | 
						|
            for (int i = 0; i < 12; i++)
 | 
						|
            {
 | 
						|
                this.CollectionPassCount[i].Text = "0";
 | 
						|
                this.CollectionPassAverage[i].Text = "0";
 | 
						|
                this.CollectionPassPercentage[i].Text = "0";
 | 
						|
                this.CollectionPassSD[i].Text = "0";
 | 
						|
                this.CollectionPassMinWeight[i].Text = "0";
 | 
						|
                this.CollectionPassMaxWeight[i].Text = "0";
 | 
						|
                this.CollectionOverCount[i].Text = "0";
 | 
						|
                this.CollectionOverSumWeight[i].Text = "0";
 | 
						|
                this.CollectionOverPercentage[i].Text = "0";
 | 
						|
                this.CollectionUnderCount[i].Text = "0";
 | 
						|
                this.CollectionUnderSumWeight[i].Text = "0";
 | 
						|
                this.CollectionUnderPercentage[i].Text = "0";
 | 
						|
                this.CollectionExNgCount[i].Text = "0";
 | 
						|
                this.CollectionExNgPercentage[i].Text = "0";
 | 
						|
                this.CollectionTotalCount[i].Text = "0";
 | 
						|
                this.CollectionTotalNGCount[i].Text = "0";
 | 
						|
            } 
 | 
						|
        }
 | 
						|
        private void SetCommonData(Collection<string[]> datas, Collection<DataCollector> laneDatas)
 | 
						|
        {
 | 
						|
            double dValue1 = 0.0, dValue2 = 0.0, passSumWeight = 0.0, overSumWeight = 0.0, underSumWeight = 0.0, passAverageWeight = 0.0, passVariance = 0.0;
 | 
						|
            string sValue = "";
 | 
						|
            int underCount = 0, passCount = 0, overCount = 0, exNGCount = 0;
 | 
						|
 | 
						|
            this.CurrentDataCommonList.ProductName = datas[datas.Count - 1][3];
 | 
						|
            this.CurrentDataCommonList.Lot = datas[datas.Count - 1][4];
 | 
						|
            this.CurrentDataCommonList.StartTime = string.Format("{0} {1}", datas[0][0], datas[0][1]);
 | 
						|
            this.CurrentDataCommonList.EndTime = string.Format("{0} {1}", datas[datas.Count - 1][0], datas[datas.Count - 1][1]);
 | 
						|
 | 
						|
            dValue1 = double.Parse(datas[datas.Count - 1][5]);
 | 
						|
            sValue = Helper.DoubleToString(dValue1, 1);
 | 
						|
            this.CurrentDataCommonList.UnderRange = sValue;
 | 
						|
 | 
						|
            dValue1 = double.Parse(datas[datas.Count - 1][6]);
 | 
						|
            sValue = Helper.DoubleToString(dValue1, 1);
 | 
						|
            this.CurrentDataCommonList.PassRange = sValue;
 | 
						|
 | 
						|
            dValue1 = double.Parse(datas[datas.Count - 1][7]);
 | 
						|
            sValue = Helper.DoubleToString(dValue1, 1);
 | 
						|
            this.CurrentDataCommonList.OverRange = sValue;
 | 
						|
 | 
						|
            dValue1 = double.Parse(datas[datas.Count - 1][8]);
 | 
						|
            sValue = Helper.DoubleToString(dValue1, 1);
 | 
						|
            this.CurrentDataCommonList.TareRange = sValue;
 | 
						|
 | 
						|
            for (int i = 0; i < laneDatas.Count; i++)
 | 
						|
            {
 | 
						|
                underCount += laneDatas[i].UnderTotalCount;
 | 
						|
                passCount += laneDatas[i].PassTotalCount;
 | 
						|
                overCount += laneDatas[i].OverTotalCount;
 | 
						|
                exNGCount += laneDatas[i].ExNgTotalCount;
 | 
						|
 | 
						|
                passSumWeight += laneDatas[i].PassSumWeight;
 | 
						|
                overSumWeight += laneDatas[i].OverSumWeight;
 | 
						|
                underSumWeight += laneDatas[i].UnderSumWeight;
 | 
						|
            }
 | 
						|
 | 
						|
            // 전체 정량 평균
 | 
						|
            passAverageWeight = passSumWeight / passCount;
 | 
						|
            // 전체 정량 분산
 | 
						|
            for (int i = 0; i < laneDatas.Count; i++)
 | 
						|
            {
 | 
						|
                for (int j = 0; j < laneDatas[i].PassWeightData.Count; j++)
 | 
						|
                {
 | 
						|
                    dValue1 = passAverageWeight - laneDatas[i].PassWeightData[j];
 | 
						|
                    dValue2 += dValue1 * dValue1;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            passVariance = dValue2 / passCount;
 | 
						|
 | 
						|
            this.CurrentDataCommonList.TotalUnderCount = underCount;
 | 
						|
            this.CurrentDataCommonList.TotalPassCount = passCount;
 | 
						|
            this.CurrentDataCommonList.TotalOverCount = overCount;
 | 
						|
            this.CurrentDataCommonList.TotalExNgCount = exNGCount;
 | 
						|
            this.CurrentDataCommonList.TotalPassSumWeight = passSumWeight;
 | 
						|
            this.CurrentDataCommonList.TotalOverSumWeight = overSumWeight;
 | 
						|
            this.CurrentDataCommonList.TotalUnderSumWeight = underSumWeight;
 | 
						|
            this.CurrentDataCommonList.TotalPassAverageWeight = passAverageWeight;
 | 
						|
            this.CurrentDataCommonList.TotalPassVariance = passVariance;
 | 
						|
        }
 | 
						|
        private void SetData(DataCollector data, string weight, DataStore.JudgmentStatus grade)
 | 
						|
        {
 | 
						|
            if (grade == DataStore.JudgmentStatus.Pass)
 | 
						|
                data.AddPassWeight(double.Parse(weight));
 | 
						|
            else if (grade == DataStore.JudgmentStatus.Over)
 | 
						|
                data.AddOverWeight(double.Parse(weight));
 | 
						|
            else if (grade == DataStore.JudgmentStatus.Under)
 | 
						|
                data.AddUnderWeight(double.Parse(weight));
 | 
						|
            else
 | 
						|
                data.AddExNgWeight(double.Parse(weight));
 | 
						|
        }
 | 
						|
        private void UpdateDisplay(DataCommonList commonList, Collection<DataCollector> datas)
 | 
						|
        {
 | 
						|
            this.SetLabelText(this.labelProductName, commonList.ProductName);
 | 
						|
            this.SetLabelText(this.labelLot, commonList.Lot);
 | 
						|
            this.SetLabelText(this.labelStartTime, commonList.StartTime);
 | 
						|
            this.SetLabelText(this.labelEndTime, commonList.EndTime);
 | 
						|
 | 
						|
            this.SetLabelText(this.labelUnderRange, commonList.UnderRange);
 | 
						|
            this.SetLabelText(this.labelPassRange, commonList.PassRange);
 | 
						|
            this.SetLabelText(this.labelOverRange, commonList.OverRange);
 | 
						|
            this.SetLabelText(this.labelTareRange, commonList.TareRange);
 | 
						|
 | 
						|
            this.SetLabelText(this.labelTotalCount, string.Format("{0}", commonList.TotalCount.ToString()));
 | 
						|
            this.SetLabelText(this.labelTotalUnderCount, string.Format("{0} / {1}", commonList.TotalUnderCount, commonList.TotalUnderPercentage));
 | 
						|
            this.SetLabelText(this.labelTotalPassCount, string.Format("{0} / {1}", commonList.TotalPassCount, commonList.TotalPassPercentage));
 | 
						|
            this.SetLabelText(this.labelTotalOverCount, string.Format("{0} / {1}", commonList.TotalOverCount, commonList.TotalOverPercentage));
 | 
						|
            this.SetLabelText(this.labelTotalExNgCount, string.Format("{0} / {1}", commonList.TotalExNgCount, commonList.TotalExNgPercentage));
 | 
						|
            this.SetLabelText(this.labelTotalNGCount, string.Format("{0}", commonList.TotalNGCount.ToString()));
 | 
						|
 | 
						|
            this.SetLabelText(this.labelTotalPassAverage, string.Format("{0:0.000}", commonList.TotalPassAverageWeight));
 | 
						|
            this.SetLabelText(this.labelTotalPassStandardDeviation, string.Format("{0:0.00}", commonList.TotalPassStandardDeviation));
 | 
						|
            this.SetLabelText(this.labelTotalOverSumWeight, string.Format("{0}", Helper.DoubleToString(commonList.TotalOverSumWeight / 1000, 3)));
 | 
						|
            this.SetLabelText(this.labelTotalUnderSumWeight, string.Format("{0}", Helper.DoubleToString(commonList.TotalUnderSumWeight / 1000, 3)));
 | 
						|
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                this.SetLabelText(this.CollectionPassCount[i], datas[i].PassTotalCount.ToString());
 | 
						|
                this.SetLabelText(this.CollectionPassAverage[i], string.Format("{0:0.000}", datas[i].PassAverage));
 | 
						|
                this.SetLabelText(this.CollectionPassPercentage[i], datas[i].PassPercentage.ToString());
 | 
						|
                this.SetLabelText(this.CollectionPassSD[i], string.Format("{0:0.00}", datas[i].PassStandardDeviation));
 | 
						|
                this.SetLabelText(this.CollectionPassMinWeight[i], Helper.DoubleToString(datas[i].PassMinWeight, 1));
 | 
						|
                this.SetLabelText(this.CollectionPassMaxWeight[i], Helper.DoubleToString(datas[i].PassMaxWeight, 1));
 | 
						|
 | 
						|
                this.SetLabelText(this.CollectionOverCount[i], datas[i].OverTotalCount.ToString());
 | 
						|
                this.SetLabelText(this.CollectionOverSumWeight[i], Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
 | 
						|
                this.SetLabelText(this.CollectionOverPercentage[i], datas[i].OverPercentage.ToString());
 | 
						|
 | 
						|
                this.SetLabelText(this.CollectionUnderCount[i], datas[i].UnderTotalCount.ToString());
 | 
						|
                this.SetLabelText(this.CollectionUnderSumWeight[i], Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
 | 
						|
                this.SetLabelText(this.CollectionUnderPercentage[i], datas[i].UnderPercentage.ToString());
 | 
						|
 | 
						|
                this.SetLabelText(this.CollectionExNgCount[i], datas[i].ExNgTotalCount.ToString());
 | 
						|
                this.SetLabelText(this.CollectionExNgPercentage[i], datas[i].ExNgPercentage.ToString());
 | 
						|
 | 
						|
                this.SetLabelText(this.CollectionTotalCount[i], datas[i].TotalCount.ToString());
 | 
						|
                this.SetLabelText(this.CollectionTotalNGCount[i], datas[i].TotalNGCount.ToString());
 | 
						|
            }
 | 
						|
        }
 | 
						|
        private void SetLabelText(SmartLabel label, string value)
 | 
						|
        {
 | 
						|
            if (label.Text != value)
 | 
						|
                label.Text = value;
 | 
						|
        }
 | 
						|
        private void LoadDataBackupFile(ref Collection<List<string[]>> datas, string path, int index)
 | 
						|
        {
 | 
						|
            int flag = 0;
 | 
						|
            long count = 0;
 | 
						|
 | 
						|
            this.ParentForm.smartFileIO.FilePathName = path;
 | 
						|
            this.ParentForm.smartFileIO.Open(2000000);
 | 
						|
            this.ParentForm.smartFileIO.ReadStringAllBuffer();
 | 
						|
 | 
						|
            count = this.ParentForm.smartFileIO.GetCount();
 | 
						|
            for (int i = 0; i < count; i++)
 | 
						|
            {
 | 
						|
                if (flag == 100)
 | 
						|
                {
 | 
						|
                    Thread.Sleep(5);
 | 
						|
                    flag = 0;
 | 
						|
                }
 | 
						|
                datas[index].Add(this.ParentForm.smartFileIO.ReadStringBuffer(i).Split(','));
 | 
						|
                flag++;
 | 
						|
            }
 | 
						|
 | 
						|
            this.ParentForm.smartFileIO.Close();
 | 
						|
 | 
						|
            datas[index].RemoveAt(0);
 | 
						|
        }
 | 
						|
        private void DataAnalysis()
 | 
						|
        {
 | 
						|
            #region Set Data
 | 
						|
            if (this.ParentForm.SystemConfig.EquipmentColumns == 7)
 | 
						|
            {
 | 
						|
                for (int i = 0; i < this.CollectionWeightData.Count; i++)
 | 
						|
                {
 | 
						|
                    this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
 | 
						|
                    this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
 | 
						|
                    this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
 | 
						|
                    this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
 | 
						|
                    this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
 | 
						|
                    this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
 | 
						|
                    this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (this.ParentForm.SystemConfig.EquipmentColumns == 8)
 | 
						|
            {
 | 
						|
                for (int i = 0; i < this.CollectionWeightData.Count; i++)
 | 
						|
                {
 | 
						|
                    this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
 | 
						|
                    this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
 | 
						|
                    this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
 | 
						|
                    this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
 | 
						|
                    this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
 | 
						|
                    this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
 | 
						|
                    this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
 | 
						|
                    this.SetData(this.CollectionLaneData[7], this.CollectionWeightData[i][23], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][24]));
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else if (this.ParentForm.SystemConfig.EquipmentColumns == 10)
 | 
						|
            {
 | 
						|
                for (int i = 0; i < this.CollectionWeightData.Count; i++)
 | 
						|
                {
 | 
						|
                    this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
 | 
						|
                    this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
 | 
						|
                    this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
 | 
						|
                    this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
 | 
						|
                    this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
 | 
						|
                    this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
 | 
						|
                    this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
 | 
						|
                    this.SetData(this.CollectionLaneData[7], this.CollectionWeightData[i][23], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][24]));
 | 
						|
                    this.SetData(this.CollectionLaneData[8], this.CollectionWeightData[i][25], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][26]));
 | 
						|
                    this.SetData(this.CollectionLaneData[9], this.CollectionWeightData[i][27], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][28]));
 | 
						|
                }
 | 
						|
            }
 | 
						|
            else
 | 
						|
            {
 | 
						|
                for (int i = 0; i < this.CollectionWeightData.Count; i++)
 | 
						|
                {
 | 
						|
                    this.SetData(this.CollectionLaneData[0], this.CollectionWeightData[i][9], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][10]));
 | 
						|
                    this.SetData(this.CollectionLaneData[1], this.CollectionWeightData[i][11], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][12]));
 | 
						|
                    this.SetData(this.CollectionLaneData[2], this.CollectionWeightData[i][13], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][14]));
 | 
						|
                    this.SetData(this.CollectionLaneData[3], this.CollectionWeightData[i][15], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][16]));
 | 
						|
                    this.SetData(this.CollectionLaneData[4], this.CollectionWeightData[i][17], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][18]));
 | 
						|
                    this.SetData(this.CollectionLaneData[5], this.CollectionWeightData[i][19], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][20]));
 | 
						|
                    this.SetData(this.CollectionLaneData[6], this.CollectionWeightData[i][21], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][22]));
 | 
						|
                    this.SetData(this.CollectionLaneData[7], this.CollectionWeightData[i][23], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][24]));
 | 
						|
                    this.SetData(this.CollectionLaneData[8], this.CollectionWeightData[i][25], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][26]));
 | 
						|
                    this.SetData(this.CollectionLaneData[9], this.CollectionWeightData[i][27], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][28]));
 | 
						|
                    this.SetData(this.CollectionLaneData[10], this.CollectionWeightData[i][29], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][30]));
 | 
						|
                    this.SetData(this.CollectionLaneData[11], this.CollectionWeightData[i][31], Helper.StringToJudgmentStatusStatistics(this.CollectionWeightData[i][32]));
 | 
						|
                }
 | 
						|
            } 
 | 
						|
            #endregion
 | 
						|
 | 
						|
            for (int i = 0; i < this.CollectionLaneData.Count; i++)
 | 
						|
                this.CollectionLaneData[i].StatisticalAnalysis();
 | 
						|
 | 
						|
            this.SetCommonData(this.CollectionWeightData, this.CollectionLaneData);
 | 
						|
            this.UpdateDisplay(this.CurrentDataCommonList, this.CollectionLaneData);
 | 
						|
        }
 | 
						|
 | 
						|
        public int DataRead()
 | 
						|
        {
 | 
						|
            int ret = 0, flag = 0;
 | 
						|
            long count = 0;
 | 
						|
 | 
						|
            if (this.SelectFilePath == "")
 | 
						|
                return ret = -1;
 | 
						|
 | 
						|
            SmartSplash splash = new SmartSplash();
 | 
						|
            splash.CenterPosition = true;
 | 
						|
            splash.AnimationInterval = 100;
 | 
						|
            splash.LoadingImagePathname = "SmartLoading4";
 | 
						|
            splash.Start();
 | 
						|
 | 
						|
            this.CollectionWeightData.Clear();
 | 
						|
 | 
						|
            this.ParentForm.smartFileIO.FilePathName = this.SelectFilePath;
 | 
						|
            this.ParentForm.smartFileIO.Open(2000000);
 | 
						|
            this.ParentForm.smartFileIO.ReadStringAllBuffer();
 | 
						|
 | 
						|
            try
 | 
						|
            {
 | 
						|
                count = this.ParentForm.smartFileIO.GetCount();
 | 
						|
                for (int i = 0; i < count; i++)
 | 
						|
                {
 | 
						|
                    if (flag == 100)
 | 
						|
                    {
 | 
						|
                        Thread.Sleep(5);
 | 
						|
                        flag = 0;
 | 
						|
                    }
 | 
						|
                    this.CollectionWeightData.Add(this.ParentForm.smartFileIO.ReadStringBuffer(i).Split(','));
 | 
						|
                    flag++;
 | 
						|
                }
 | 
						|
 | 
						|
                this.ParentForm.smartFileIO.Close();
 | 
						|
                this.CollectionWeightData.RemoveAt(0);
 | 
						|
                this.DataAnalysis();
 | 
						|
 | 
						|
                ret = 0;
 | 
						|
                splash.Finish();
 | 
						|
            }
 | 
						|
            catch
 | 
						|
            {
 | 
						|
                ret = -1;
 | 
						|
                splash.Finish();
 | 
						|
                DialogFormMessage msg = new DialogFormMessage(13, this.ParentForm.SystemConfig.Language);
 | 
						|
                msg.ShowDialog();
 | 
						|
                
 | 
						|
                this.ParentForm.smartFileIO.Close();
 | 
						|
            }
 | 
						|
          
 | 
						|
            return ret;
 | 
						|
        }
 | 
						|
        public void ClearData()
 | 
						|
        {
 | 
						|
            this.InitializeLabels();
 | 
						|
 | 
						|
            for (int i = 0; i < this.CollectionLaneData.Count; i++)
 | 
						|
                this.CollectionLaneData[i].ClearDatas();
 | 
						|
        }
 | 
						|
        private void FileBackup1(string path, DateTime time, DataCommonList commonList, Collection<DataCollector> datas)
 | 
						|
        {
 | 
						|
            bool fileCheck = false;
 | 
						|
            string fullFilePath = "";
 | 
						|
            StreamWriter sw;
 | 
						|
 | 
						|
            fullFilePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.csv", path, time);
 | 
						|
            this.ParentForm.smartFileIO.FilePathName = fullFilePath;
 | 
						|
            sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
 | 
						|
 | 
						|
            FileInfo fileInfo = new FileInfo(fullFilePath);
 | 
						|
            fileCheck = fileInfo.Exists;
 | 
						|
 | 
						|
            if (fileCheck == true)
 | 
						|
            {
 | 
						|
                this.ParentForm.smartFileIO.Open(this.ParentForm.BufferSmartUart);
 | 
						|
 | 
						|
                for (int i = 0; i < 40; i++)
 | 
						|
                {
 | 
						|
                    this.ParentForm.smartFileIO.WriteString("");
 | 
						|
                }
 | 
						|
                this.ParentForm.smartFileIO.Close();
 | 
						|
            }
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Product Name,{0}", commonList.ProductName));
 | 
						|
            sw.WriteLine(string.Format("Lot,{0}", commonList.Lot));
 | 
						|
            sw.WriteLine(string.Format("Start Time,{0}", commonList.StartTime));
 | 
						|
            sw.WriteLine(string.Format("End Time,{0}", commonList.EndTime));
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Under Range[g],{0}", commonList.UnderRange));
 | 
						|
            sw.WriteLine(string.Format("Pass Range[g],{0}", commonList.PassRange));
 | 
						|
            sw.WriteLine(string.Format("Over Range[g],{0}", commonList.OverRange));
 | 
						|
            sw.WriteLine(string.Format("Tare Range[g],{0}", commonList.TareRange));
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Total Count[ea],{0}", commonList.TotalCount));
 | 
						|
            sw.WriteLine(string.Format("Total NG Count[ea],{0}", commonList.TotalNGCount));
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Total Pass Count[ea],{0}", commonList.TotalPassCount));
 | 
						|
            sw.WriteLine(string.Format("Total Pass Percentage[%],{0}", commonList.TotalPassPercentage));
 | 
						|
            sw.WriteLine(string.Format("Total Pass Average[g],{0:0.000}", commonList.TotalPassAverageWeight));
 | 
						|
            sw.WriteLine(string.Format("Total Pass Standard Deviation[g],{0}", commonList.TotalPassStandardDeviation));
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Total Under Count[ea],{0}", commonList.TotalUnderCount));
 | 
						|
            sw.WriteLine(string.Format("Total Under Percentage[%],{0}", commonList.TotalUnderPercentage));
 | 
						|
            sw.WriteLine(string.Format("Total Under Sum Weight[kg],{0:0.000}", commonList.TotalUnderSumWeight / 1000));
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Total Over Count[ea],{0}", commonList.TotalOverCount));
 | 
						|
            sw.WriteLine(string.Format("Total Over Percentage[%],{0}", commonList.TotalOverPercentage));
 | 
						|
            sw.WriteLine(string.Format("Total Over Sum Weight[kg],{0:0.000}", commonList.TotalOverSumWeight / 1000));
 | 
						|
 | 
						|
            sw.WriteLine(string.Format("Total ExNG count[ea],{0}", commonList.TotalExNgCount));
 | 
						|
            sw.WriteLine(string.Format("Total ExNG Percentage[%],{0}", commonList.TotalExNgPercentage));
 | 
						|
 | 
						|
            sw.Write("");
 | 
						|
            sw.Write(",");
 | 
						|
            for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
 | 
						|
            {
 | 
						|
                sw.Write(string.Format("#{0}", i + 1));
 | 
						|
                sw.Write(",");
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            #region Pass
 | 
						|
            sw.Write("Pass Count[ea]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].PassTotalCount);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Pass Average[g]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(string.Format("{0:0.000}", datas[i].PassAverage));
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Pass Percentage[%]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].PassPercentage);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Pass Standard Deviation[g]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(string.Format("{0:0.00}", datas[i].PassStandardDeviation));
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Pass Min Weight[g]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].PassMinWeight, 1));
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Pass Max Weight[g]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].PassMaxWeight, 1));
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
            #endregion
 | 
						|
 | 
						|
            #region Over
 | 
						|
            sw.Write("Over Count[ea]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].OverTotalCount);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Over Sum Weight[kg]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Over Percentage[%]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].OverPercentage);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
            #endregion
 | 
						|
 | 
						|
            #region Under
 | 
						|
            sw.Write("Under Count[ea]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].UnderTotalCount);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Under Sum Weight[kg]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Under Percentage[%]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].UnderPercentage);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
            #endregion
 | 
						|
 | 
						|
            #region Ex
 | 
						|
            sw.Write("ExNG Count[ea]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].ExNgTotalCount);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("ExNG Percentage[%]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].ExNgPercentage);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
            #endregion
 | 
						|
 | 
						|
            #region Total
 | 
						|
            sw.Write("Total Count[ea]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].TotalCount);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
 | 
						|
            sw.Write("Total NG Count[ea]");
 | 
						|
            for (int i = 0; i < datas.Count; i++)
 | 
						|
            {
 | 
						|
                sw.Write(",");
 | 
						|
                sw.Write(datas[i].TotalNGCount);
 | 
						|
            }
 | 
						|
            sw.WriteLine();
 | 
						|
            #endregion
 | 
						|
 | 
						|
            sw.Close();
 | 
						|
        }
 | 
						|
        private void FileBackup2(string path, DateTime time, DataCommonList commonList, Collection<DataCollector> datas)
 | 
						|
        {
 | 
						|
            bool fileCheck = false;
 | 
						|
            string fullFilePath = "";
 | 
						|
            StreamWriter sw;
 | 
						|
 | 
						|
            fullFilePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.csv", path, time);
 | 
						|
            this.ParentForm.smartFileIO.FilePathName = fullFilePath;
 | 
						|
            sw = new StreamWriter(fullFilePath, true, Encoding.UTF8);
 | 
						|
 | 
						|
            FileInfo fileInfo = new FileInfo(fullFilePath);
 | 
						|
            fileCheck = fileInfo.Exists;
 | 
						|
 | 
						|
            // 같은 파일이 있으면 초기화
 | 
						|
            if (fileCheck == true)
 | 
						|
            {
 | 
						|
                this.ParentForm.smartFileIO.Open(this.ParentForm.BufferSmartUart);
 | 
						|
 | 
						|
                for (int i = 0; i < 40; i++)
 | 
						|
                {
 | 
						|
                    this.ParentForm.smartFileIO.WriteString("");
 | 
						|
                }
 | 
						|
                this.ParentForm.smartFileIO.Close();
 | 
						|
            }
 | 
						|
 | 
						|
            for (int i = 0; i < this.ParentForm.SystemConfig.EquipmentColumns; i++)
 | 
						|
            {
 | 
						|
                #region 데이터 출력
 | 
						|
                // Lane Number
 | 
						|
                sw.Write("{0}", i + 1);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // ProductName
 | 
						|
                sw.Write(commonList.ProductName);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lot
 | 
						|
                sw.Write(commonList.Lot);
 | 
						|
                sw.Write(",");
 | 
						|
                // StartTime
 | 
						|
                sw.Write(commonList.StartTime);
 | 
						|
                sw.Write(",");
 | 
						|
                // EndTime
 | 
						|
                sw.Write(commonList.EndTime);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // UnderRange
 | 
						|
                sw.Write(commonList.UnderRange);
 | 
						|
                sw.Write(",");
 | 
						|
                // PassRange
 | 
						|
                sw.Write(commonList.PassRange);
 | 
						|
                sw.Write(",");
 | 
						|
                // OverRange
 | 
						|
                sw.Write(commonList.OverRange);
 | 
						|
                sw.Write(",");
 | 
						|
                // TareRange
 | 
						|
                sw.Write(commonList.TareRange);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // TotalCount
 | 
						|
                sw.Write(commonList.TotalCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalNGCount
 | 
						|
                sw.Write(commonList.TotalNGCount);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // TotalPassCount
 | 
						|
                sw.Write(commonList.TotalPassCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalPassPercentage
 | 
						|
                sw.Write(commonList.TotalPassPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalPassAverage
 | 
						|
                sw.Write(string.Format("{0:0.000}", commonList.TotalPassAverageWeight));
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalPassSD
 | 
						|
                sw.Write(string.Format("{0:0.00}", commonList.TotalPassStandardDeviation));
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // TotalUnderCount
 | 
						|
                sw.Write(commonList.TotalUnderCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalUnderPercentage
 | 
						|
                sw.Write(commonList.TotalUnderPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalUnderSumWeight
 | 
						|
                sw.Write(string.Format("{0:0.0000}", commonList.TotalUnderSumWeight / 1000));
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // TotalOverCount
 | 
						|
                sw.Write(commonList.TotalOverCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalOverPercentage
 | 
						|
                sw.Write(commonList.TotalOverPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalOverSumWeight
 | 
						|
                sw.Write(string.Format("{0:0.0000}", commonList.TotalOverSumWeight / 1000));
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // TotalExNgCount
 | 
						|
                sw.Write(commonList.TotalExNgCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // TotalExNgPercentage
 | 
						|
                sw.Write(commonList.TotalExNgPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // Lane PassCount
 | 
						|
                sw.Write(datas[i].PassTotalCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane PassAverage
 | 
						|
                sw.Write(string.Format("{0:0.000}", datas[i].PassAverage));
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane PassPercentage
 | 
						|
                sw.Write(datas[i].PassPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane PassSD
 | 
						|
                sw.Write(string.Format("{0:0.00}", datas[i].PassStandardDeviation));
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane PassMinWeight
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].PassMinWeight, 1));
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane PassMaxWeight
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].PassMaxWeight, 1));
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // Lane OverCount
 | 
						|
                sw.Write(datas[i].OverTotalCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane OverSumWeight
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].OverSumWeight / 1000, 3));
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane OverPercentage
 | 
						|
                sw.Write(datas[i].OverPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // Lane UnderCount
 | 
						|
                sw.Write(datas[i].UnderTotalCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane UnderSumWeight
 | 
						|
                sw.Write(Helper.DoubleToString(datas[i].UnderSumWeight / 1000, 3));
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane UnderPercentage
 | 
						|
                sw.Write(datas[i].UnderPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // Lane ExNgCount
 | 
						|
                sw.Write(datas[i].ExNgTotalCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane ExNgPercentage
 | 
						|
                sw.Write(datas[i].ExNgPercentage);
 | 
						|
                sw.Write(",");
 | 
						|
 | 
						|
                // Lane TotalCount
 | 
						|
                sw.Write(datas[i].TotalCount);
 | 
						|
                sw.Write(",");
 | 
						|
                // Lane TotalNgCount
 | 
						|
                sw.Write(datas[i].TotalNGCount);
 | 
						|
 | 
						|
                sw.WriteLine();
 | 
						|
                #endregion
 | 
						|
            }
 | 
						|
 | 
						|
            sw.Close();
 | 
						|
        }
 | 
						|
        private bool CheckUSBMemory()
 | 
						|
        {
 | 
						|
            bool ret = false;
 | 
						|
 | 
						|
            try
 | 
						|
            {
 | 
						|
                DirectoryInfo dinfo = new DirectoryInfo("하드 디스크\\");
 | 
						|
                dinfo.GetDirectories();
 | 
						|
 | 
						|
                ret = true;
 | 
						|
            }
 | 
						|
            catch
 | 
						|
            {
 | 
						|
                ret = false;
 | 
						|
            }
 | 
						|
 | 
						|
            return ret;
 | 
						|
        }
 | 
						|
        private void FileCopy(FileInfo file, string fileName)
 | 
						|
        {
 | 
						|
            try
 | 
						|
            {
 | 
						|
                if (this.FileIndex == 0)
 | 
						|
                {
 | 
						|
                    file.CopyTo(fileName);
 | 
						|
                    this.FileIndex = 0;
 | 
						|
                }
 | 
						|
                else
 | 
						|
                {
 | 
						|
                    file.CopyTo(fileName.Insert(fileName.Length - 4, "_" + this.FileIndex.ToString()));
 | 
						|
                    this.FileIndex = 0;
 | 
						|
                }
 | 
						|
            }
 | 
						|
            catch
 | 
						|
            {
 | 
						|
                this.FileIndex++;
 | 
						|
                this.FileCopy(file, fileName);
 | 
						|
            }
 | 
						|
        }
 | 
						|
 | 
						|
        private void CreateScreenCapture(string path, DateTime time)
 | 
						|
        {
 | 
						|
            string filePath = "";
 | 
						|
            Bitmap bitMap = new Bitmap(1024, 768);
 | 
						|
 | 
						|
            bitMap = IntechGraphics.CopyFromScreen();
 | 
						|
            filePath = string.Format("{0}S{1:yyyyMMdd-HHmmss}.jpg", path, time);
 | 
						|
 | 
						|
            bitMap.Save(filePath, ImageFormat.Jpeg);
 | 
						|
        }
 | 
						|
 | 
						|
        private int Backup1()
 | 
						|
        {
 | 
						|
            int ret = 0;
 | 
						|
            string filePath = "";
 | 
						|
            bool directoryCheck = false;
 | 
						|
            DateTime time = DateTime.Now;
 | 
						|
 | 
						|
            // 메모리 장착 체크
 | 
						|
            if (this.CheckUSBMemory() == false)
 | 
						|
            {
 | 
						|
                DialogFormMessage msg = new DialogFormMessage(5, this.ParentForm.SystemConfig.Language);
 | 
						|
                msg.ShowDialog();
 | 
						|
 | 
						|
                this.buttonSave.Enabled = true;
 | 
						|
                ret = -1;
 | 
						|
                return ret;
 | 
						|
            }
 | 
						|
 | 
						|
            #region 통계 데이터 생성
 | 
						|
            // ScreenCapture
 | 
						|
            this.CreateScreenCapture(this.ParentForm.PathDataStatisticsFolder, time);
 | 
						|
            // csv File
 | 
						|
            this.FileBackup1(this.ParentForm.PathDataStatisticsFolder, time, this.CurrentDataCommonList, this.CollectionLaneData);
 | 
						|
            #endregion
 | 
						|
 | 
						|
            #region 메모리로 파일 복사
 | 
						|
            try
 | 
						|
            {
 | 
						|
                filePath = "하드 디스크\\";
 | 
						|
                DirectoryInfo dir = new DirectoryInfo(this.ParentForm.PathDataStatisticsFolder);
 | 
						|
 | 
						|
                directoryCheck = dir.Exists;
 | 
						|
                // 폴더 체크
 | 
						|
                if (directoryCheck == false)
 | 
						|
                    dir.Create();
 | 
						|
 | 
						|
                FileInfo[] files = dir.GetFiles();
 | 
						|
 | 
						|
                foreach (FileInfo file in files)
 | 
						|
                {
 | 
						|
                    this.FileCopy(file, filePath + file.Name);
 | 
						|
                    file.Delete();
 | 
						|
                }
 | 
						|
                DialogFormMessage msg = new DialogFormMessage("2", this.ParentForm.SystemConfig.Language);
 | 
						|
                msg.ShowDialog();
 | 
						|
            }
 | 
						|
            catch
 | 
						|
            {
 | 
						|
                DialogFormMessage msg = new DialogFormMessage(6, this.ParentForm.SystemConfig.Language);
 | 
						|
                msg.ShowDialog();
 | 
						|
                ret = -1;
 | 
						|
                return ret;
 | 
						|
            }
 | 
						|
            #endregion
 | 
						|
 | 
						|
            return ret;
 | 
						|
        }
 | 
						|
        private int Backup2()
 | 
						|
        {
 | 
						|
            int ret = 0;
 | 
						|
            DateTime time = DateTime.Now;
 | 
						|
 | 
						|
            // csv File
 | 
						|
            this.FileBackup2(this.ParentForm.PathDataBackupFolder, time, this.CurrentDataCommonList, this.CollectionLaneData);
 | 
						|
 | 
						|
            return ret;
 | 
						|
        }
 | 
						|
 | 
						|
        public void DisplayRefresh()
 | 
						|
        {
 | 
						|
            this.ParentForm.SystemConfig.CurrentForm = DataStore.FormStore.FormDataStatistics;
 | 
						|
 | 
						|
            this.ClearData();
 | 
						|
            this.buttonSave.Enabled = false;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Override Member
 | 
						|
        protected override void OnLoad(EventArgs e)
 | 
						|
        {
 | 
						|
            base.OnLoad(e);
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
 | 
						|
        #region Event Handler
 | 
						|
        private void buttonBack_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            this.ParentForm.ChildFormMenu.DisplayRefresh();
 | 
						|
            ((FormMain)(Owner)).smartForm.Show((int)DataStore.FormStore.FormMenu);
 | 
						|
        }
 | 
						|
        private void buttonFileSelect_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            DialogFormDataStatistics form = new DialogFormDataStatistics(this);
 | 
						|
            if (form.ShowDialog() == DialogResult.OK)
 | 
						|
                this.buttonSave.Enabled = true;
 | 
						|
            else
 | 
						|
                this.buttonSave.Enabled = false;
 | 
						|
        }
 | 
						|
        private void buttonSave_Click(object sender, EventArgs e)
 | 
						|
        {
 | 
						|
            if (this.SelectFilePath == "")
 | 
						|
                return;
 | 
						|
 | 
						|
            this.buttonSave.Enabled = false;
 | 
						|
 | 
						|
            if (this.ParentForm.SystemConfig.IsPart11 == false)
 | 
						|
                this.Backup1();
 | 
						|
            else
 | 
						|
                this.Backup2();
 | 
						|
 | 
						|
            this.buttonSave.Enabled = true;
 | 
						|
        }
 | 
						|
        #endregion
 | 
						|
    }
 | 
						|
} |