예제 #1
0
파일: PstnMan.cs 프로젝트: zoro-008/Works
        public static void Load(string _sJobName)
        {
            string sExeFolder  = System.AppDomain.CurrentDomain.BaseDirectory;
            string sDevicePath = sExeFolder + "JobFile\\" + _sJobName + "\\MotrPstn.ini";
            string sCommonPath = sExeFolder + "Util\\CommonPstn.ini";
            string sMinMaxPath = sExeFolder + "Util\\LimitPstn.ini";

            CIniFile IniDevice = new CIniFile(sDevicePath);
            CIniFile IniCommon = new CIniFile(sCommonPath);
            CIniFile IniMinMax = new CIniFile(sMinMaxPath);

            string sSection;

            //Save Device.
            for (int m = 0; m < m_iMaxMotr; m++)
            {
                //Set Dir.
                sSection = "Motor" + m.ToString();
                for (int i = 0; i < MotrPstn[m].PstnValue.Length; i++)
                {
                    if (MotrPstn[m].PstnValue[i].bCommon)
                    {
                        IniCommon.Load(sSection, MotrPstn[m].PstnValue[i].sName, out MotrPstn[m].PstnValue[i].dValue);
                    }
                    else
                    {
                        IniDevice.Load(sSection, MotrPstn[m].PstnValue[i].sName, out MotrPstn[m].PstnValue[i].dValue);
                    }
                    IniMinMax.Load(sSection, MotrPstn[m].PstnValue[i].sName.Trim() + "_MIN", out MotrPstn[m].PstnValue[i].dMin);
                    IniMinMax.Load(sSection, MotrPstn[m].PstnValue[i].sName.Trim() + "_MAX", out MotrPstn[m].PstnValue[i].dMax);
                    IniMinMax.Load(sSection, MotrPstn[m].PstnValue[i].sName.Trim() + "_SPD", out MotrPstn[m].PstnValue[i].iSpdPer);

                    if (MotrPstn[m].PstnValue[i].dMax <= 0)
                    {
                        MotrPstn[m].PstnValue[i].dMax = ML.MT_GetMaxPosition(m);
                    }
                    if (MotrPstn[m].PstnValue[i].iSpdPer <= 0)
                    {
                        MotrPstn[m].PstnValue[i].iSpdPer = 100;
                    }
                    if (MotrPstn[m].PstnValue[i].iSpdPer > 100)
                    {
                        MotrPstn[m].PstnValue[i].iSpdPer = 100;
                    }

                    //if (MotrPstn[m].PstnValue[i].dMax    <= 0 )
                    //ML.MT_GetInPosSgnl
                }
            }
        }
예제 #2
0
        public void LoadSaveDayIni(bool _bLoad, ref TData _tData)
        {
            //Make Dir.
            string sPath = DAY_FOLDER + "DayInfo.ini";

            if (_bLoad)
            {
                CIniFile IniLoadDayInfo = new CIniFile(sPath);

                IniLoadDayInfo.Load("Data", "dWorkTime ", out _tData.dWorkTime);
                IniLoadDayInfo.Load("Data", "dStopTime ", out _tData.dStopTime);
                IniLoadDayInfo.Load("Data", "dErrTime  ", out _tData.dErrTime);
                IniLoadDayInfo.Load("Data", "dTotalTime", out _tData.dTotalTime);
                IniLoadDayInfo.Load("Data", "dUPEH     ", out _tData.dUPEH);
                IniLoadDayInfo.Load("Data", "dUPH      ", out _tData.dUPH);
                IniLoadDayInfo.Load("Data", "iWorkCnt  ", out _tData.iWorkCnt);
                IniLoadDayInfo.Load("Data", "iLotCnt   ", out _tData.iLotCnt);
            }
            else
            {
                CIniFile IniSaveDayInfo = new CIniFile(sPath);

                IniSaveDayInfo.Save("Data", "dWorkTime ", _tData.dWorkTime);
                IniSaveDayInfo.Save("Data", "dStopTime ", _tData.dStopTime);
                IniSaveDayInfo.Save("Data", "dErrTime  ", _tData.dErrTime);
                IniSaveDayInfo.Save("Data", "dTotalTime", _tData.dTotalTime);
                IniSaveDayInfo.Save("Data", "dUPEH     ", _tData.dUPEH);
                IniSaveDayInfo.Save("Data", "dUPH      ", _tData.dUPH);
                IniSaveDayInfo.Save("Data", "iWorkCnt  ", _tData.iWorkCnt);
                IniSaveDayInfo.Save("Data", "iLotCnt   ", _tData.iLotCnt);
            }
        }
예제 #3
0
        public void LoadId(string _sId, ref IdData Data)
        {
            //Make Dir.
            string   sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
            string   sPath      = sExeFolder + "Util\\LogOn.ini";
            CIniFile Ini        = new CIniFile(sPath);
            int      iTemp      = 0;

            //Load Device.

            Ini.Load(_sId, "Password", out Data.Password);
            Ini.Load(_sId, "Level", out iTemp); Data.Level = (EN_LEVEL)iTemp;
            Data.ID = _sId;
        }
예제 #4
0
파일: OptionMan.cs 프로젝트: zoro-008/Works
        public static void LoadNodePos(string _sJobName)
        {
            string sExeFolder   = System.AppDomain.CurrentDomain.BaseDirectory;
            string sDevOptnPath = sExeFolder + "JobFile\\" + _sJobName + "\\NodePos.ini";

            CIniFile IniNodePos = new CIniFile(sDevOptnPath);

            for (int i = 0; i < OM.MAX_NODE_POS; i++)
            {
                IniNodePos.Load(i.ToString(), "dWrkSttPos", out NodePos[i].dWrkSttPos);
                IniNodePos.Load(i.ToString(), "iDirection", out NodePos[i].iDirection);
                IniNodePos.Load(i.ToString(), "dDegree   ", out NodePos[i].dDegree);
                IniNodePos.Load(i.ToString(), "iWrkCnt   ", out NodePos[i].iWrkCnt);
                IniNodePos.Load(i.ToString(), "iWrkPitch ", out NodePos[i].dWrkPitch);
            }
        }
예제 #5
0
        public void SaveData(double _dStartTime, string _sLotNo, TLotData _LotData)
        {
            try
            {
                string sSpcFd = System.IO.Directory.GetParent(SPC.LOT.Folder).Parent.FullName.ToString();
                string sSttDt = DateTime.FromOADate(_dStartTime).ToString("yyyyMMdd");//DateTime.Now.ToString("yyyyMMdd");

                string        sPath = SPC.LOT.Folder + sSttDt + "\\" + _sLotNo + ".ini";
                DirectoryInfo di    = new DirectoryInfo(Path.GetDirectoryName(sPath));
                //DirectoryInfo di = new DirectoryInfo(sPath);
                if (!di.Exists)
                {
                    di.Create();
                }

                //몬가 마음에 안드는데 ... 시간상 패스 대충 쓸라고 만든거임
                //카운트 저장.
                int      iCnt   = 0;
                CIniFile IniCnt = new CIniFile(sPath);
                IniCnt.Load("ETC", "DataCnt", ref iCnt);//이거 여기서 저장하는데 Datamap에서도 가져다가 쓴다.
                IniCnt.Save("ETC", "DataCnt", iCnt + 1);

                //데이터 저장.
                CAutoIniFile.SaveStruct(sPath, "LotData" + (iCnt).ToString(), ref _LotData);
            }
            catch (Exception _e)
            {
                Log.Trace("Data Save Fail" + _e.Message);
            }
        }
예제 #6
0
        public void SaveErrIni(TData _tData)
        {
            string sPath;

            string   sCaption;
            DateTime tErrDateTime;

            tErrDateTime = DateTime.FromOADate(_tData.dSttTime);

            sPath = ERR_FOLDER + DateTime.Now.ToString("yyyyMMdd") + ".ini";

            int      iCnt;
            CIniFile IniSaveErr = new CIniFile(sPath);

            IniSaveErr.Load("ETC", "ErrCnt", out iCnt);

            sCaption = iCnt.ToString();

            IniSaveErr.Save(sCaption, "iErrNo  ", _tData.iErrNo);
            IniSaveErr.Save(sCaption, "sErrName", _tData.sErrName);
            IniSaveErr.Save(sCaption, "dSttTime", _tData.dSttTime);
            IniSaveErr.Save(sCaption, "sErrMsg ", _tData.sErrMsg);
            IniSaveErr.Save(sCaption, "sLotId  ", _tData.sLotId);

            iCnt++;
            IniSaveErr.Save("ETC", "ErrCnt", iCnt);
        }
예제 #7
0
        public static void Load(string _sJobName)
        {
            string sExeFolder  = System.AppDomain.CurrentDomain.BaseDirectory;
            string sDevicePath = sExeFolder + "JobFile\\" + _sJobName + "\\MotrPstn.ini";
            string sCommonPath = sExeFolder + "Util\\CommonPstn.ini";

            CIniFile IniDevice = new CIniFile(sDevicePath);
            CIniFile IniCommon = new CIniFile(sCommonPath);

            string sSection;

            //Save Device.
            for (int m = 0; m < m_iMaxMotr; m++)
            {
                //Set Dir.
                sSection = "Motor" + m.ToString();
                for (int i = 0; i < MotrPstn[m].PstnValue.Length; i++)
                {
                    if (MotrPstn[m].PstnValue[i].bCommon)
                    {
                        IniCommon.Load(sSection, MotrPstn[m].PstnValue[i].sName, out MotrPstn[m].PstnValue[i].dValue);
                    }
                    else
                    {
                        IniDevice.Load(sSection, MotrPstn[m].PstnValue[i].sName, out MotrPstn[m].PstnValue[i].dValue);
                    }
                }
            }
        }
예제 #8
0
        public void DispStripMap(string _sDate, string _sLotId, int _iMgz, int _iSlot, ListView _lvMap)
        {
            string sPath;

            int iColCnt;
            int iRowCnt;


            sPath = LOT_FOLDER + _sDate + "//" + _sLotId + ".ini";

            CIniFile IniLoadMap = new CIniFile(sPath);

            //작업 메거진 카운트 갱신.
            IniLoadMap.Load("ETC", "ColCnt", out iColCnt);
            IniLoadMap.Load("ETC", "RowCnt", out iRowCnt);

            iRowCnt = _lvMap.Items.Count - 1;
            iColCnt = _lvMap.Columns.Count - 1;

            //_lvMap.FixedCols = 1;
            //_lvMap.FixedRows = 1;


            //맵 저장.
            string sRowData;
            string sCaption;
            string sIndex;
            string sData;

            sCaption = _iMgz.ToString() + "_" + _iSlot;
            for (int r = 0; r < iRowCnt; r++)
            {
                _lvMap.Items[r + 1].SubItems[0].Text = r.ToString();
                sIndex = string.Format("Row{0:00}", r);
                IniLoadMap.Load(sCaption, sIndex, out sRowData);
                for (int c = 0; c < iColCnt; c++)
                {
                    if (r == 0)
                    {
                        _lvMap.Items[0].SubItems[c + 1].Text = c.ToString();
                    }
                    sData = sRowData.Substring(1, 2);
                    //sRowData.Delete(1,3) ;
                    _lvMap.Items[r + 1].SubItems[c + 1].Text = sData;
                }
            }
        }
예제 #9
0
파일: Pattern.cs 프로젝트: zoro-008/Works
        //색깔 바꾸는거 저장/로드하는부분
        public void LoadPttColor(string _sJobName)
        {
            string sExeFolder    = System.AppDomain.CurrentDomain.BaseDirectory;
            string sPttColorPath = sExeFolder + "JobFile\\" + _sJobName + "\\HeightColor.ini";

            CIniFile IniPttColor = new CIniFile(sPttColorPath);

            IniPttColor.Load("PttColor", "m_iHghtRgb     ", ref m_iHghtRgb);
        }
예제 #10
0
        public void Load()
        {
            //Set Dir.
            //ERR_FOLDER    ;
            string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
            string sFileName  = string.Format("ComPort_{0:0}", iPortNo);


            string sSerialPath = sExeFolder + sFileName + ".ini";

            string sTitle = string.Format("ComPort_{0:0}", iPortNo);

            CIniFile IniSerialInfo = new CIniFile(sSerialPath);

            IniSerialInfo.Load(sTitle, "PortNo   ", out iPortNo);
            IniSerialInfo.Load(sTitle, "PortName ", out sPortName);
            IniSerialInfo.Load(sTitle, "BaudRate ", out iBaudRate);
            IniSerialInfo.Load(sTitle, "DataBit  ", out iDataBit);
            IniSerialInfo.Load(sTitle, "ParityBit", out iParityBit);
            IniSerialInfo.Load(sTitle, "StopBit  ", out iStopBit);

            //IniSerialInfo.Save(sTitle, "PortNo   ", iPortNo);
            //IniSerialInfo.Save(sTitle, "PortName ", sPortName);
            //IniSerialInfo.Save(sTitle, "BaudRate ", iBaudRate);
            //IniSerialInfo.Save(sTitle, "DataBit  ", iDataBit);
            //IniSerialInfo.Save(sTitle, "ParityBit", iParityBit);
            //IniSerialInfo.Save(sTitle, "StopBit  ", iStopBit);
        }
예제 #11
0
        public void LoadSaveLastErr(bool _bLoad)
        {
            //Set Dir.
            //ERR_FOLDER    ;
            string sPath = ERR_FOLDER + "LastErr.ini";

            if (_bLoad)
            {
                CIniFile IniLastErrInfo = new CIniFile(sPath);

                IniLastErrInfo.Load("LastInfo", "m_iLastErr", out m_iLastErr);
                IniLastErrInfo.Load("LastInfo", "m_sLastErrMsg", out m_sLastErrMsg);
            }
            else
            {
                CIniFile IniLastErrInfo = new CIniFile(sPath);

                //IniLastErrInfo.ClearFile(sPath) ;
                IniLastErrInfo.Save("LastInfo", "m_iLastErr", m_iLastErr);
                IniLastErrInfo.Save("LastInfo", "m_sLastErrMsg", m_sLastErrMsg);
            }
        }
예제 #12
0
        public void SaveDataIni(double _dOaSaveDate, ref T _tData)
        {
            string   sPath;
            DateTime tDateTime;

            tDateTime = DateTime.FromOADate(_dOaSaveDate);
            sPath     = Folder + tDateTime.ToString("yyyyMMdd") + ".ini";

            ////기존에 있던것들 지우기.
            //DirectoryInfo di = new DirectoryInfo(Folder);
            //if (!di.Exists) di.Create();
            //foreach (FileInfo fi in di.GetFiles())
            //{
            //    //if (fi.Extension != ".log") continue;
            //    // 12개월 이전 로그를 삭제합니다.
            //    if (fi.CreationTime <= DateTime.Now.AddMonths(-12))
            //    {
            //        fi.Delete();
            //    }
            //}

            //기존에 있던것들 지우기.
            DirectoryInfo di = new DirectoryInfo(Folder);

            if (!di.Exists)
            {
                di.Create();
            }
            foreach (FileInfo fi in di.GetFiles())
            {
                //if (fi.Extension != ".log") continue;
                // 12개월 이전 로그를 삭제합니다.
                if (fi.CreationTime <= DateTime.Now.AddMonths(-12))
                {
                    fi.Delete();
                }
            }

            //카운트 저장.
            int      iCnt         = 0;
            CIniFile IniGetErrCnt = new CIniFile(sPath);

            IniGetErrCnt.Load("ETC", "DataCnt", ref iCnt);//이거 여기서 저장하는데 Datamap에서도 가져다가 쓴다.
            int iAddedCnt = iCnt + 1;

            IniGetErrCnt.Save("ETC", "DataCnt", iAddedCnt);

            //데이터 저장.
            CAutoIniFile.SaveStruct <T>(sPath, iCnt.ToString(), ref _tData);
        }
예제 #13
0
파일: OptionMan.cs 프로젝트: zoro-008/Works
        public static void LoadLastInfo()
        {
            string sExeFolder    = System.AppDomain.CurrentDomain.BaseDirectory;
            string sLastInfoPath = sExeFolder + "SeqData\\LastInfo.ini";

            CIniFile IniLastInfo = new CIniFile(sLastInfoPath);

            //Load
            IniLastInfo.Load("LAST WORK INFO", "Device", out m_sCrntDev);
            if (m_sCrntDev == "")
            {
                m_sCrntDev = "NONE";
            }
        }
예제 #14
0
파일: LotUnit.cs 프로젝트: zoro-008/Works
        /*
         * public static void LoadEqpStat()
         * {
         *  string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
         *  string sEqpOptnPath = sExeFolder + "Util\\EqpStat.ini";
         *  CAutoIniFile.LoadStruct<CEqpStat>(sEqpOptnPath,"EqpStat",ref EqpStat);
         * }
         * public static void SaveEqpStat()
         * {
         *  string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
         *  string sEqpOptnPath = sExeFolder + "Util\\EqpStat.ini";
         *  CAutoIniFile.SaveStruct<CEqpStat>(sEqpOptnPath,"EqpStat",ref EqpStat);
         * }
         */

        public static bool LoadSave(bool _bLoad)
        {
            string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
            string sLotInfo   = sExeFolder + "SeqData\\LotInfo.ini";

            //Current Lot Informations.
            TLot     Data       = new TLot();
            CIniFile IniLotInfo = new CIniFile(sLotInfo);

            //int iCount = LotList.Count ;
            if (_bLoad)
            {
                //IniLotInfo.Load("Total ", "Count"    , out iCount   );
                IniLotInfo.Load("Total ", "LotOpened", out LotOpened);
                IniLotInfo.Load("Total ", "LotEnded", out LotEnded);
                CAutoIniFile.LoadStruct <TLot>(sLotInfo, "CrntLotData", ref CrntLotData);

                //LotList.Clear();
                //for(int i = 0 ; i < iCount ; i++){
                //    CAutoIniFile.LoadStruct<TLot>(sLotInfo,i.ToString(),ref Data);
                //    LotList.Add(Data);
                //}
            }
            else
            {
                //IniLotInfo.Save("Total ", "Count"    , iCount   );
                IniLotInfo.Save("Total ", "LotOpened", LotOpened);
                IniLotInfo.Save("Total ", "LotEnded", LotEnded);
                CAutoIniFile.SaveStruct <TLot>(sLotInfo, "CrntLotData", ref CrntLotData);

                //for(int i = 0 ; i < iCount ; i++){
                //    Data = LotList[i];
                //    CAutoIniFile.SaveStruct<TLot>(sLotInfo,i.ToString(),ref Data);
                //}
            }
            return(true);
        }
예제 #15
0
        public void LoadPassword(bool IsLoad)
        {
            string Path;

            //Make Dir.
            string sExeFolder   = System.AppDomain.CurrentDomain.BaseDirectory;
            string sCmnOptnPath = sExeFolder + "Util\\Password.ini";

            //Load Device.
            if (IsLoad)
            {
                CIniFile IniLoadPass = new CIniFile(sCmnOptnPath);

                IniLoadPass.Load("PASSWORD", "m_sEngineerPass", out m_sEngineerPass);
                IniLoadPass.Load("PASSWORD", "m_sMasterPass  ", out m_sMasterPass);
            }
            else
            {
                CIniFile IniSavePass = new CIniFile(sCmnOptnPath);

                IniSavePass.Save("PASSWORD", "m_sEngineerPass", m_sEngineerPass);
                IniSavePass.Save("PASSWORD", "m_sMasterPass  ", m_sMasterPass);
            }
        }
예제 #16
0
파일: LotUnit.cs 프로젝트: zoro-008/Works
        public static bool LoadSave(bool _bLoad)
        {
            string sExeFolder = System.AppDomain.CurrentDomain.BaseDirectory;
            string sLotInfo   = sExeFolder + "SeqData\\LotInfo.ini";

            CIniFile IniLotInfo = new CIniFile(sLotInfo);
            string   sLot       = "";
            int      LotCount   = 0;

            if (_bLoad)
            {
                IniLotInfo.Load("Total ", "LotCount", ref LotCount);
                IniLotInfo.Load("Total ", "LotOpened", ref LotOpened);
                IniLotInfo.Load("Total ", "LotEnded", ref LotEnded);
                IniLotInfo.Load("Total ", "iWorkMgzCnt", ref iWorkMgzCnt);
                IniLotInfo.Load("Total ", "CrntLotData", ref CrntLotData);
                IniLotInfo.Load("Total ", "LastPopLot", ref LastPopLot);

                LotList.Clear();
                for (int i = 0; i < LotCount; i++)
                {
                    IniLotInfo.Load("LotList ", i.ToString(), ref sLot);
                    LotList.Add(sLot);
                }
            }
            else
            {
                LotCount = LotList.Count;
                IniLotInfo.Save("Total ", "LotCount", LotCount);
                IniLotInfo.Save("Total ", "LotOpened", LotOpened);
                IniLotInfo.Save("Total ", "LotEnded", LotEnded);
                IniLotInfo.Save("Total ", "iWorkMgzCnt", iWorkMgzCnt);
                IniLotInfo.Save("Total ", "CrntLotData", CrntLotData);
                IniLotInfo.Save("Total ", "LastPopLot", LastPopLot);

                for (int i = 0; i < LotCount; i++)
                {
                    sLot = LotList[i];
                    IniLotInfo.Save("LotList ", i.ToString(), sLot);
                }
            }
            return(true);
        }
예제 #17
0
        public int GetDataCnt(DateTime _tSttData, DateTime _tEndData)
        {
            string sPath;

            int iCnt    = 0;
            int iCntSum = 0;

            string SearchDate;

            for (DateTime d = _tSttData; d <= _tEndData; d = d.AddDays(1))
            {
                SearchDate = d.ToString();
                sPath      = Folder + d.ToString("yyyyMMdd") + ".ini";

                CIniFile IniGetCnt = new CIniFile(sPath);

                IniGetCnt.Load("ETC", "DataCnt", ref iCnt);
                iCntSum += iCnt;
            }
            return(iCntSum);
        }
예제 #18
0
        public void LoadDataCnt(double _dStartTime, string _sLotNo, ref int [] _ChipCnts)
        {
            //if(_ChipCnts.Length != (int)cs.MAX_CHIP_STAT) return ;
            //Read&Write.
            string sSPCFolder = System.IO.Directory.GetParent(SPC.LOT.Folder).Parent.FullName.ToString();

            string sDataPath = "";
            string sDay      = DateTime.FromOADate(_dStartTime).ToString("yyyyMMdd");//DateTime.Now.ToString("yyyyMMdd");

            sDataPath = sSPCFolder + "\\DataMap\\" + sDay + "\\" + _sLotNo + "\\Data.cnt";

            DirectoryInfo di = new DirectoryInfo(Path.GetDirectoryName(sDataPath));

            if (!di.Exists)
            {
                di.Create();
            }

            CIniFile Ini = new CIniFile(sDataPath);

            Ini.Load("ChipCount", "Rslt", ref _ChipCnts);
        }
예제 #19
0
파일: Pattern.cs 프로젝트: zoro-008/Works
        //패턴 파일 단일 로딩 할때...
        public void LoadPat(string _sFileName)
        {
            string sPath, sNum;
            int    iNum;

            sPath = _sFileName;

            CIniFile IniPattern = new CIniFile(sPath);

            //dPosX
            //dPosY
            //dPosZ
            //iDelay
            //dSpeed
            //dUVSpeed
            //bDispOn


            for (iNum = 0; iNum < MAX_DSP_CMD; iNum++)
            {
                sNum = iNum.ToString();
                IniPattern.Load("PatternPara", "dPosX" + sNum, ref DspPos[iNum].dPosX);
                IniPattern.Load("PatternPara", "dPosY" + sNum, ref DspPos[iNum].dPosY);
                IniPattern.Load("PatternPara", "dPosZ" + sNum, ref DspPos[iNum].dPosZ);
                IniPattern.Load("PatternPara", "bDispOn" + sNum, ref DspPos[iNum].bDispOn);
            }

            IniPattern.Load("PatternPara", "m_dXScale", ref m_dXScale);
            IniPattern.Load("PatternPara", "m_dYScale", ref m_dYScale);
            IniPattern.Load("PatternPara", "m_dXSttOffset", ref m_dXSttOffset);
            IniPattern.Load("PatternPara", "m_dYSttOffset", ref m_dYSttOffset);
            IniPattern.Load("PatternPara", "m_dSpeed", ref m_dSpeed);
            IniPattern.Load("PatternPara", "m_iDispPosCnt", ref m_iDispPosCnt);
            IniPattern.Load("PatternPara", "m_dAcc", ref m_dAcc);
            IniPattern.Load("PatternPara", "m_dDec", ref m_dDec);
        }
예제 #20
0
        public bool LoadSave(bool _bLoad)
        {
            //if(_bLoad)
            //{
            //    CConfig Config = new CConfig();
            //    Config.Load(m_sParaFolderPath + "TowerLamp.ini",CConfig.EN_CONFIG_FILE_TYPE.ftIni);
            //
            //    sIndex = "Para";
            //    Config.GetValue("iRedAdd",sIndex,out Para.iRedAdd);
            //    Config.GetValue("iYelAdd",sIndex,out Para.iYelAdd);
            //    Config.GetValue("iGrnAdd",sIndex,out Para.iGrnAdd);
            //    Config.GetValue("iSndAdd",sIndex,out Para.iSndAdd);
            //
            //    int iTemp;
            //    sIndex = "LampInfo";
            //    for(int i = 0 ; i < (int)EN_SEQ_STAT.MAX_SEQ_STAT ; i++)
            //    {
            //        Config.GetValue("iRed ",sIndex,out iTemp);Para.LampInfo[i].iRed = (EN_LAMP_OPER)iTemp ;
            //        Config.GetValue("iYel ",sIndex,out iTemp);Para.LampInfo[i].iYel = (EN_LAMP_OPER)iTemp ;
            //        Config.GetValue("iGrn ",sIndex,out iTemp);Para.LampInfo[i].iGrn = (EN_LAMP_OPER)iTemp ;
            //        Config.GetValue("iBuzz",sIndex,out iTemp);Para.LampInfo[i].iBuzz= (EN_LAMP_OPER)iTemp ;
            //    }
            //}
            //else
            //{
            //    CConfig Config = new CConfig();
            //
            //    sIndex = "Para";
            //    Config.SetValue("iRedAdd",sIndex, Para.iRedAdd);
            //    Config.SetValue("iYelAdd",sIndex, Para.iYelAdd);
            //    Config.SetValue("iGrnAdd",sIndex, Para.iGrnAdd);
            //    Config.SetValue("iSndAdd",sIndex, Para.iSndAdd);
            //
            //    sIndex = "LampInfo";
            //    for(int i = 0;i < (int)EN_SEQ_STAT.MAX_SEQ_STAT;i++)
            //    {
            //        Config.SetValue("iRed ",sIndex,(int)Para.LampInfo[i].iRed);
            //        Config.SetValue("iYel ",sIndex,(int)Para.LampInfo[i].iYel);
            //        Config.SetValue("iGrn ",sIndex,(int)Para.LampInfo[i].iGrn);
            //        Config.SetValue("iBuzz",sIndex,(int)Para.LampInfo[i].iBuzz);
            //    }
            //    Config.Save(m_sParaFolderPath + "TowerLamp.ini",CConfig.EN_CONFIG_FILE_TYPE.ftIni);
            //}
            string  sIndex;
            CConfig Config = new CConfig();



            if (_bLoad)
            {
                CIniFile TLampConfig = new CIniFile(m_sParaFolderPath + "TowerLamp.ini");


                int iTemp;

                for (int i = 0; i < (int)EN_SEQ_STAT.MAX_SEQ_STAT; i++)
                {
                    sIndex = string.Format("TOWER_LAMP({0:0000})", i);

                    TLampConfig.Load("iRed ", sIndex, out iTemp); Para.LampInfo[i].iRed  = (EN_LAMP_OPER)iTemp;
                    TLampConfig.Load("iYel ", sIndex, out iTemp); Para.LampInfo[i].iYel  = (EN_LAMP_OPER)iTemp;
                    TLampConfig.Load("iGrn ", sIndex, out iTemp); Para.LampInfo[i].iGrn  = (EN_LAMP_OPER)iTemp;
                    TLampConfig.Load("iBuzz", sIndex, out iTemp); Para.LampInfo[i].iBuzz = (EN_LAMP_OPER)iTemp;
                }

                sIndex = "m_aAdd";
                TLampConfig.Load(sIndex, "iRedAdd", out Para.iRedAdd);
                TLampConfig.Load(sIndex, "iYelAdd", out Para.iYelAdd);
                TLampConfig.Load(sIndex, "iGrnAdd", out Para.iGrnAdd);
                TLampConfig.Load(sIndex, "iSndAdd", out Para.iSndAdd);
            }
            else
            {
                CIniFile TLampConfig = new CIniFile(m_sParaFolderPath + "TowerLamp.ini");

                for (int i = 0; i < (int)EN_SEQ_STAT.MAX_SEQ_STAT; i++)
                {
                    sIndex = string.Format("TOWER_LAMP({0:0000})", i);
                    TLampConfig.Save("iRed ", sIndex, (int)Para.LampInfo[i].iRed);
                    TLampConfig.Save("iYel ", sIndex, (int)Para.LampInfo[i].iYel);
                    TLampConfig.Save("iGrn ", sIndex, (int)Para.LampInfo[i].iGrn);
                    TLampConfig.Save("iBuzz", sIndex, (int)Para.LampInfo[i].iBuzz);
                }

                sIndex = "m_aAdd";
                TLampConfig.Save(sIndex, "iRedAdd", Para.iRedAdd);
                TLampConfig.Save(sIndex, "iYelAdd", Para.iYelAdd);
                TLampConfig.Save(sIndex, "iGrnAdd", Para.iGrnAdd);
                TLampConfig.Save(sIndex, "iSndAdd", Para.iSndAdd);
            }
            return(true);
        }
예제 #21
0
        public void LoadSaveLotIni(bool _bLoad)
        {
            string sPath;

            sPath = LOT_FOLDER + LOT.GetLotNo() + "\\LotInfo.ini";

            if (_bLoad)
            {
                CIniFile IniLoadLotInfo = new CIniFile(sPath);

                IniLoadLotInfo.Load("Data", "sLotId    ", out m_tData.sLotId);
                IniLoadLotInfo.Load("Data", "iWorkCnt  ", out m_tData.iWorkCnt);

                IniLoadLotInfo.Load("Data", "dSttTime  ", out m_tData.dSttTime);
                IniLoadLotInfo.Load("Data", "dEndTime  ", out m_tData.dEndTime);
                IniLoadLotInfo.Load("Data", "dWorkTime ", out m_tData.dWorkTime);
                IniLoadLotInfo.Load("Data", "dErrTime  ", out m_tData.dErrTime);
                IniLoadLotInfo.Load("Data", "dStopTime ", out m_tData.dStopTime);
                IniLoadLotInfo.Load("Data", "dTotalTime", out m_tData.dTotalTime);
                IniLoadLotInfo.Load("Data", "dUPEH     ", out m_tData.dUPEH);
                IniLoadLotInfo.Load("Data", "dUPH      ", out m_tData.dUPH);
                IniLoadLotInfo.Load("Data", "sJobFile  ", out m_tData.sJobFile);
            }
            else
            {
                CIniFile IniSaveLotInfo = new CIniFile(sPath);

                IniSaveLotInfo.Save("Data", "sLotId    ", m_tData.sLotId);
                IniSaveLotInfo.Save("Data", "iWorkCnt  ", m_tData.iWorkCnt);
                IniSaveLotInfo.Save("Data", "dSttTime  ", m_tData.dSttTime);
                IniSaveLotInfo.Save("Data", "dEndTime  ", m_tData.dEndTime);
                IniSaveLotInfo.Save("Data", "dWorkTime ", m_tData.dWorkTime);
                IniSaveLotInfo.Save("Data", "dErrTime  ", m_tData.dErrTime);
                IniSaveLotInfo.Save("Data", "dStopTime ", m_tData.dStopTime);
                IniSaveLotInfo.Save("Data", "dTotalTime", m_tData.dTotalTime);
                IniSaveLotInfo.Save("Data", "dUPEH     ", m_tData.dUPEH);
                IniSaveLotInfo.Save("Data", "dUPH      ", m_tData.dUPH);
                IniSaveLotInfo.Save("Data", "sJobFile  ", m_tData.sJobFile);
            }
        }
예제 #22
0
        //public bool LoadSave(bool _bLoad)
        //{
        //    CConfig Config = new CConfig();
        //
        //    //LoadSave(bool _bLoad, int _iCylNo , ref CConfig _Config)
        //    if(_bLoad)
        //    {
        //        Config.Load(m_sParaFolderPath + "Cylinder.ini",CConfig.EN_CONFIG_FILE_TYPE.ftIni);
        //        for(int i = 0;i < m_iMaxCylinder;i++)
        //        {
        //            m_aCylinder[i].LoadSave(true,i,ref Config);
        //        }
        //    }
        //    else
        //    {
        //
        //        for(int i = 0;i < m_iMaxCylinder;i++)
        //        {
        //            m_aCylinder[i].LoadSave(false,i,ref Config);
        //        }
        //        Config.Save(m_sParaFolderPath + "Cylinder.ini",CConfig.EN_CONFIG_FILE_TYPE.ftIni);
        //    }
        //    return true;
        //}

        public bool LoadSave(bool _bLoad)
        {
            CConfig Config = new CConfig();

            string sSelLan;
            string sCylNo;


            switch (m_eLangSel)
            {
            default: sSelLan = "E_"; break;

            case EN_LAN_SEL.English: sSelLan = "E_"; break;

            case EN_LAN_SEL.Korean: sSelLan = "K_"; break;

            case EN_LAN_SEL.Chinese: sSelLan = "C_"; break;
            }


            if (_bLoad)
            {
                CIniFile CylConfig = new CIniFile(m_sParaFolderPath + "Cylinder.ini");

                int iDirType = 0;

                for (int i = 0; i < m_iMaxCylinder; i++)
                {
                    sCylNo = string.Format("Cylinder({0:000})", i);
                    CylConfig.Load("sEnum", sCylNo, out m_aCylinder[i].Para.sEnum);
                    CylConfig.Load(sSelLan + "sName", sCylNo, out m_aCylinder[i].Para.sName);
                    CylConfig.Load(sSelLan + "sComment", sCylNo, out m_aCylinder[i].Para.sComment);
                    CylConfig.Load("iFwdXAdd", sCylNo, out m_aCylinder[i].Para.iFwdXAdd);
                    CylConfig.Load("iBwdXAdd", sCylNo, out m_aCylinder[i].Para.iBwdXAdd);
                    CylConfig.Load("iFwdYAdd", sCylNo, out m_aCylinder[i].Para.iFwdYAdd);
                    CylConfig.Load("iBwdYAdd", sCylNo, out m_aCylinder[i].Para.iBwdYAdd);
                    CylConfig.Load("iFwdOnDelay", sCylNo, out m_aCylinder[i].Para.iFwdOnDelay);
                    CylConfig.Load("iBwdOnDelay", sCylNo, out m_aCylinder[i].Para.iBwdOnDelay);
                    CylConfig.Load("iFwdTimeOut", sCylNo, out m_aCylinder[i].Para.iFwdTimeOut);
                    CylConfig.Load("iBwdTimeOut", sCylNo, out m_aCylinder[i].Para.iBwdTimeOut);
                    CylConfig.Load("eDirType", sCylNo, out iDirType);
                    CylConfig.Load("bActrSync", sCylNo, out m_aCylinder[i].Para.bActrSync);
                    CylConfig.Load("iActrSync", sCylNo, out m_aCylinder[i].Para.iActrSync);
                    CylConfig.Load("iRptDelay", sCylNo, out Repeat.iDelay);

                    m_aCylinder[i].Para.eDirType = (EN_MOVE_DIRECTION)iDirType;
                }
            }
            else
            {
                CIniFile CylConfig = new CIniFile(m_sParaFolderPath + "Cylinder.ini");

                for (int i = 0; i < m_iMaxCylinder; i++)
                {
                    sCylNo = string.Format("Cylinder({0:000})", i);
                    CylConfig.Save("sEnum", sCylNo, m_aCylinder[i].Para.sEnum);
                    CylConfig.Save(sSelLan + "sName", sCylNo, m_aCylinder[i].Para.sName);
                    CylConfig.Save(sSelLan + "sComment", sCylNo, m_aCylinder[i].Para.sComment);
                    CylConfig.Save("iFwdXAdd", sCylNo, m_aCylinder[i].Para.iFwdXAdd);
                    CylConfig.Save("iBwdXAdd", sCylNo, m_aCylinder[i].Para.iBwdXAdd);
                    CylConfig.Save("iFwdYAdd", sCylNo, m_aCylinder[i].Para.iFwdYAdd);
                    CylConfig.Save("iBwdYAdd", sCylNo, m_aCylinder[i].Para.iBwdYAdd);
                    CylConfig.Save("iFwdOnDelay", sCylNo, m_aCylinder[i].Para.iFwdOnDelay);
                    CylConfig.Save("iBwdOnDelay", sCylNo, m_aCylinder[i].Para.iBwdOnDelay);
                    CylConfig.Save("iFwdTimeOut", sCylNo, m_aCylinder[i].Para.iFwdTimeOut);
                    CylConfig.Save("iBwdTimeOut", sCylNo, m_aCylinder[i].Para.iBwdTimeOut);
                    CylConfig.Save("eDirType", sCylNo, (int)m_aCylinder[i].Para.eDirType);
                    CylConfig.Save("bActrSync", sCylNo, m_aCylinder[i].Para.bActrSync);
                    CylConfig.Save("iActrSync", sCylNo, m_aCylinder[i].Para.iActrSync);
                    CylConfig.Save("iRptDelay", sCylNo, Repeat.iDelay);
                }
            }
            return(true);
        }
예제 #23
0
파일: Pattern.cs 프로젝트: zoro-008/Works
        //패턴 파일 단일 로딩 할때...
        public void LoadPat(string _sFileName)
        {
            string sPath, sNum;
            int    iNum;

            sPath = _sFileName;

            CIniFile IniPattern = new CIniFile(sPath);

            for (iNum = 0; iNum < MAX_HGHT_CMD; iNum++)
            {
                sNum = iNum.ToString();

                IniPattern.Load("PatternPara", "m_dHghtXPos" + sNum, ref HghtPos[iNum].dPosX);
                IniPattern.Load("PatternPara", "m_dHghtYPos" + sNum, ref HghtPos[iNum].dPosY);
                IniPattern.Load("PatternPara", "m_dHghtZPos" + sNum, ref HghtPos[iNum].dPosZ);
            }

            IniPattern.Load("PatternPara", "m_dXScale", ref m_dXScale);
            IniPattern.Load("PatternPara", "m_dYScale", ref m_dYScale);

            IniPattern.Load("PatternPara", "m_dXSttOffset", ref m_dXSttOffset);
            IniPattern.Load("PatternPara", "m_dYSttOffset", ref m_dYSttOffset);

            IniPattern.Load("PatternPara", "m_dSpeed", ref m_dSpeed);
            IniPattern.Load("PatternPara", "m_iHghtPosCnt", ref m_iHghtPosCnt);

            IniPattern.Load("PatternPara", "m_dAcc", ref m_dAcc);
            IniPattern.Load("PatternPara", "m_dDec", ref m_dDec);
        }
예제 #24
0
        public bool LoadSave(bool _bLoad)
        {
            CConfig Config = new CConfig();

            string sSelLan;
            string sErrNo;


            switch (m_eLangSel)
            {
            default: sSelLan = "E_"; break;

            case EN_LAN_SEL.English: sSelLan = "E_"; break;

            case EN_LAN_SEL.Korean: sSelLan = "K_"; break;

            case EN_LAN_SEL.Chinese: sSelLan = "C_"; break;
            }


            if (_bLoad)
            {
                CIniFile ErrorConfig = new CIniFile(m_sParaFolderPath + "Error.ini");

                for (int i = 0; i < m_iMaxErr; i++)
                {
                    sErrNo = string.Format("ERR({0:000})", i);
                    ErrorConfig.Load("sEnum", sErrNo, out m_aErr[i].Para.sEnum);
                    ErrorConfig.Load(sSelLan + "sName", sErrNo, out m_aErr[i].Para.sName);
                    ErrorConfig.Load(sSelLan + "sAction", sErrNo, out m_aErr[i].Para.sAction);
                    ErrorConfig.Load("sImgPath", sErrNo, out m_aErr[i].Para.sImgPath);


                    ErrorConfig.Load("dRectLeft  ", sErrNo, out m_aErr[i].Para.dRectLeft);
                    ErrorConfig.Load("dRectTop   ", sErrNo, out m_aErr[i].Para.dRectTop);
                    ErrorConfig.Load("dRectWidth ", sErrNo, out m_aErr[i].Para.dRectWidth);
                    ErrorConfig.Load("dRectHeight", sErrNo, out m_aErr[i].Para.dRectHeight);

                    ErrorConfig.Load("iErrorLevel", sErrNo, out m_aErr[i].Para.iErrorLevel);
                }
            }
            else
            {
                CIniFile ErrorConfig = new CIniFile(m_sParaFolderPath + "Error.ini");

                for (int i = 0; i < m_iMaxErr; i++)
                {
                    sErrNo = string.Format("ERR({0:000})", i);
                    ErrorConfig.Save("sEnum", sErrNo, m_aErr[i].Para.sEnum);
                    ErrorConfig.Save(sSelLan + "sName", sErrNo, m_aErr[i].Para.sName);
                    ErrorConfig.Save(sSelLan + "sAction", sErrNo, m_aErr[i].Para.sAction);
                    ErrorConfig.Save("sImgPath", sErrNo, m_aErr[i].Para.sImgPath);


                    ErrorConfig.Save("dRectLeft  ", sErrNo, m_aErr[i].Para.dRectLeft);
                    ErrorConfig.Save("dRectTop   ", sErrNo, m_aErr[i].Para.dRectTop);
                    ErrorConfig.Save("dRectWidth ", sErrNo, m_aErr[i].Para.dRectWidth);
                    ErrorConfig.Save("dRectHeight", sErrNo, m_aErr[i].Para.dRectHeight);

                    ErrorConfig.Save("iErrorLevel", sErrNo, m_aErr[i].Para.iErrorLevel);
                }
            }
            return(true);
        }
예제 #25
0
        //-------------------------------------------------------------------------------------------------------
        //랏에 MGZ넘버가 없는 그냥 랏별 데이터 보여주기용
        //-------------------------------------------------------------------------------------------------------
        public void DispLotData(string sPath, ListView _lvTable)
        {
            if (_lvTable == null)
            {
                return;
            }

            _lvTable.BeginUpdate();

            int      iCnt   = 0;
            CIniFile IniCnt = new CIniFile(sPath);

            IniCnt.Load("ETC", "DataCnt", ref iCnt);

            List <TLotData> Datas = new List <TLotData>();

            for (int c = 0; c < iCnt; c++)
            {
                TLotData LotData = new TLotData();
                CAutoIniFile.LoadStruct(sPath, "LotData" + c.ToString(), ref LotData);
                Datas.Add(LotData);
            }

            _lvTable.Clear();
            _lvTable.View               = View.Details;
            _lvTable.LabelEdit          = true;
            _lvTable.AllowColumnReorder = true;
            _lvTable.FullRowSelect      = true;
            _lvTable.GridLines          = true;
            //_lvTable.Sorting          = SortOrder.Descending;
            _lvTable.Scrollable = true;

            //Type type = typeof(TLotData);
            //int iCntOfItem = type.GetProperties().Length;
            //FieldInfo[] f = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);
            //
            ////컬럼추가 하고 이름을 넣는다.
            //_lvTable.Columns.Add("No", 100, HorizontalAlignment.Left);
            //for (int c = 0; c < f.Length; c++)
            //{
            //    _lvTable.Columns.Add(f[c].Name, 100, HorizontalAlignment.Left);
            //}

            Type type       = typeof(TLotData);
            int  iCntOfItem = type.GetProperties().Length;

            FieldInfo[] f = type.GetFields(BindingFlags.Public | BindingFlags.NonPublic | BindingFlags.Instance);

            //컬럼추가 하고 이름을 넣는다.
            _lvTable.Columns.Add("No", 100, HorizontalAlignment.Left);

            _lvTable.Columns.Add("작업번호", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("결과", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("NG결과", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 체결토크", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 최대토크", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 후 체결토크1", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 후 최대토크1", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 후 체결토크2", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 후 최대토크2", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 후 체결토크3", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("본체결 후 최대토크3", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("높이측정 데이터1", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("높이측정 데이터2", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("높이측정 데이터3", 100, HorizontalAlignment.Left);
            _lvTable.Columns.Add("높이측정 데이터4", 100, HorizontalAlignment.Left);

            _lvTable.Items.Clear();
            string sValue = "";
            string sName  = "";

            ListViewItem[] liitem = new ListViewItem[Datas.Count];
            for (int r = 0; r < Datas.Count; r++)
            {
                liitem[r] = new ListViewItem(string.Format("{0}", r + 1));
                for (int c = 0; c < f.Length; c++)
                {
                    sName  = f[c].Name;
                    sValue = f[c].GetValue(Datas[r]).ToString();
                    liitem[r].SubItems.Add(sValue);
                }
                liitem[r].UseItemStyleForSubItems = false;
                _lvTable.Items.Add(liitem[r]);
            }
            //_lvTable.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
            //if(iCnt == 0) _lvTable.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize   );
            //else          _lvTable.AutoResizeColumns(ColumnHeaderAutoResizeStyle.ColumnContent);
            _lvTable.AutoResizeColumns(ColumnHeaderAutoResizeStyle.HeaderSize);

            _lvTable.EndUpdate();
        }
예제 #26
0
        public bool LoadSave(bool _bLoad)
        {
            string sSelLan;
            string sIndex;

            switch (m_eLangSel)
            {
            default: sSelLan = "E_"; break;

            case EN_LAN_SEL.English: sSelLan = "E_"; break;

            case EN_LAN_SEL.Korean: sSelLan = "K_"; break;

            case EN_LAN_SEL.Chinese: sSelLan = "C_"; break;
            }

            if (_bLoad)
            {
                CIniFile InputConfig = new CIniFile(m_sParaFolderPath + "Input.ini");

                for (int i = 0; i < m_iMaxIn; i++)
                {
                    sIndex = string.Format("Input({0:000})", i);
                    InputConfig.Load("Address  ", sIndex, out m_aIn[i].Para.iAdd);
                    InputConfig.Load("Invert   ", sIndex, out m_aIn[i].Para.bInv);
                    InputConfig.Load("Enum     ", sIndex, out m_aIn[i].Para.sEnum);
                    InputConfig.Load(sSelLan + "Name     ", sIndex, out m_aIn[i].Para.sName);
                    InputConfig.Load(sSelLan + "Comment  ", sIndex, out m_aIn[i].Para.SComt);
                    InputConfig.Load("OnDelay  ", sIndex, out m_aIn[i].Para.iOnDelay);
                    InputConfig.Load("OffDelay ", sIndex, out m_aIn[i].Para.iOffDelay);
                    InputConfig.Load("NotLog   ", sIndex, out m_aIn[i].Para.bNotLog);
                }

                CIniFile OutputConfig = new CIniFile(m_sParaFolderPath + "Output.ini");

                for (int i = 0; i < m_iMaxOut; i++)
                {
                    sIndex = string.Format("Output({0:000})", i);
                    OutputConfig.Load("Address  ", sIndex, out m_aOut[i].Para.iAdd);
                    OutputConfig.Load("Invert   ", sIndex, out m_aOut[i].Para.bInv);
                    OutputConfig.Load("Enum     ", sIndex, out m_aOut[i].Para.sEnum);
                    OutputConfig.Load(sSelLan + "Name     ", sIndex, out m_aOut[i].Para.sName);
                    OutputConfig.Load(sSelLan + "Comment  ", sIndex, out m_aOut[i].Para.SComt);
                    OutputConfig.Load("OnDelay  ", sIndex, out m_aOut[i].Para.iOnDelay);
                    OutputConfig.Load("OffDelay ", sIndex, out m_aOut[i].Para.iOffDelay);
                    OutputConfig.Load("NotLog   ", sIndex, out m_aOut[i].Para.bNotLog);
                }
            }
            else
            {
                CIniFile InputConfig = new CIniFile(m_sParaFolderPath + "Input.ini");
                for (int i = 0; i < m_iMaxIn; i++)
                {
                    sIndex = string.Format("Input({0:000})", i);
                    InputConfig.Save("Address  ", sIndex, m_aIn[i].Para.iAdd);
                    InputConfig.Save("Invert   ", sIndex, m_aIn[i].Para.bInv);
                    InputConfig.Save("Enum     ", sIndex, m_aIn[i].Para.sEnum);
                    InputConfig.Save(sSelLan + "Name     ", sIndex, m_aIn[i].Para.sName);
                    InputConfig.Save(sSelLan + "Comment  ", sIndex, m_aIn[i].Para.SComt);
                    InputConfig.Save("OnDelay  ", sIndex, m_aIn[i].Para.iOnDelay);
                    InputConfig.Save("OffDelay ", sIndex, m_aIn[i].Para.iOffDelay);
                    InputConfig.Save("NotLog   ", sIndex, m_aIn[i].Para.bNotLog);
                }

                CIniFile OutputConfig = new CIniFile(m_sParaFolderPath + "Output.ini");
                for (int i = 0; i < m_iMaxOut; i++)
                {
                    sIndex = string.Format("Output({0:000})", i);
                    OutputConfig.Save("Address  ", sIndex, m_aOut[i].Para.iAdd);
                    OutputConfig.Save("Invert   ", sIndex, m_aOut[i].Para.bInv);
                    OutputConfig.Save("Enum     ", sIndex, m_aOut[i].Para.sEnum);
                    OutputConfig.Save(sSelLan + "Name     ", sIndex, m_aOut[i].Para.sName);
                    OutputConfig.Save(sSelLan + "Comment  ", sIndex, m_aOut[i].Para.SComt);
                    OutputConfig.Save("OnDelay  ", sIndex, m_aOut[i].Para.iOnDelay);
                    OutputConfig.Save("OffDelay ", sIndex, m_aOut[i].Para.iOffDelay);
                    OutputConfig.Save("NotLog   ", sIndex, m_aOut[i].Para.bNotLog);
                }
            }
            return(true);
        }
예제 #27
0
        public void DispLotList(string _sDate, ListView _lvLotInfo) //SPC LotInfo ListView
        {
            //TSearchRec sr          ;
            string sPath = LOT_FOLDER + _sDate;

            string sSerchFile = sPath + "\\*.ini";

            DateTime tTime;

            //m_tData.Clear();

            _lvLotInfo.Clear();
            _lvLotInfo.View               = View.Details;
            _lvLotInfo.LabelEdit          = true;
            _lvLotInfo.AllowColumnReorder = true;
            _lvLotInfo.FullRowSelect      = true;
            _lvLotInfo.GridLines          = true;
            _lvLotInfo.Sorting            = SortOrder.Descending;
            _lvLotInfo.Scrollable         = true;

            _lvLotInfo.Columns.Add("No", 40, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("LotId", 100, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("WorkCount", 210, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("UPEH", 210, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("UPH", 210, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("Start", 210, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("End  ", 210, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("WorkTime", 210, HorizontalAlignment.Left);
            _lvLotInfo.Columns.Add("JobFile", 210, HorizontalAlignment.Left);

            //LotCount확인
            _lvLotInfo.Items.Clear();

            DirectoryInfo Info      = new DirectoryInfo(sPath);
            int           FileCount = Info.GetFiles().Length;

            ListViewItem[] liitem = new ListViewItem[FileCount];

            for (int i = 0; i < FileCount; i++)
            {
                liitem[i] = new ListViewItem(string.Format("{0}", iNo));
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");
                liitem[i].SubItems.Add("");

                liitem[i].UseItemStyleForSubItems = false;
                liitem[i].UseItemStyleForSubItems = false;

                _lvLotInfo.Items.Add(liitem[i]);
                //iNo++;
            }

            var PropError = _lvLotInfo.GetType().GetProperty("DoubleBuffered", BindingFlags.Instance | BindingFlags.NonPublic);

            PropError.SetValue(_lvLotInfo, true, null);

            //LotData
            string sTemp;

            if (Info.Exists)
            {
                m_tLotData.dUPEH = 0;
                m_tLotData.dUPH  = 0;
                foreach (FileInfo info in Info.GetFiles())
                {
                    //sIniPath = sPath + "\\" + sr.Name;
                    CIniFile IniLoadLotList = new CIniFile(sPath + "\\LotInfo.ini");

                    //랏 정보 블러오기.

                    IniLoadLotList.Load("Data", "sLotId    ", out m_tLotData.sLotId);    //_sgLotList->Cells[1][iLotCnt + 1] = tData.sLotId;
                    IniLoadLotList.Load("Data", "iWorkCnt  ", out m_tLotData.iWorkCnt);  //_sgLotList->Cells[2][iLotCnt + 1] = tData.iWorkCnt;

                    IniLoadLotList.Load("Data", "dUPEH     ", out m_tLotData.dUPEH);     //_sgLotList->Cells[3][iLotCnt + 1] = sTemp;

                    IniLoadLotList.Load("Data", "dUPH      ", out m_tLotData.dUPH);      //_sgLotList->Cells[4][iLotCnt + 1] = sTemp;
                    IniLoadLotList.Load("Data", "dSttTime  ", out m_tLotData.dSttTime);  //tTime.Val = tData.dSttTime; _sgLotList->Cells[5][iLotCnt + 1] = tTime.FormatString("hh:nn:ss");
                    IniLoadLotList.Load("Data", "dEndTime  ", out m_tLotData.dEndTime);  //tTime.Val = tData.dEndTime; _sgLotList->Cells[6][iLotCnt + 1] = tTime.FormatString("hh:nn:ss");
                    IniLoadLotList.Load("Data", "dWorkTime ", out m_tLotData.dWorkTime); //tTime.Val = tData.dWorkTime; _sgLotList->Cells[7][iLotCnt + 1] = tTime.FormatString("hh:nn:ss");
                    IniLoadLotList.Load("Data", "sJobFile  ", out m_tLotData.sJobFile);  //_sgLotList->Cells[9][iLotCnt + 1] = tData.sJobFile;
                    IniLoadLotList.Load("Data", "dErrTime  ", out m_tLotData.dErrTime);  //디스플레이 안함.
                    IniLoadLotList.Load("Data", "dStopTime ", out m_tLotData.dStopTime); //디스플레이 안함.
                }


                for (int i = 0; i < FileCount; i++)
                {
                    _lvLotInfo.Items[i].SubItems[1].Text = m_tLotData.sLotId;
                    _lvLotInfo.Items[i].SubItems[2].Text = m_tLotData.iWorkCnt.ToString();
                    sTemp = string.Format("{0:000}", m_tLotData.dUPEH);
                    _lvLotInfo.Items[i].SubItems[3].Text = sTemp;
                    sTemp = string.Format("{0:000}", m_tLotData.dUPH);
                    _lvLotInfo.Items[i].SubItems[4].Text = sTemp;
                    tTime = DateTime.FromOADate(m_tLotData.dSttTime);
                    _lvLotInfo.Items[i].SubItems[5].Text = tTime.ToString("HH:mm:ss");
                    tTime = DateTime.FromOADate(m_tLotData.dEndTime);
                    _lvLotInfo.Items[i].SubItems[6].Text = tTime.ToString("HH:mm:ss");
                    tTime = DateTime.FromOADate(m_tLotData.dWorkTime);
                    _lvLotInfo.Items[i].SubItems[7].Text = tTime.ToString("HH:mm:ss");
                    _lvLotInfo.Items[i].SubItems[9].Text = m_tLotData.sJobFile;
                }
            }



            DateTime tCmprTime1;
            DateTime tCmprTime2;

            for (int i = 1; i < _lvLotInfo.Items.Count; i++)
            {
                if (_lvLotInfo.Items[9].SubItems[i] == null)
                {
                    continue;                                         //null일때 문제 없는지 확인해야함 진섭
                }
                for (int j = i + 1; j < _lvLotInfo.Items.Count; j++)
                {
                    if (_lvLotInfo.Items[9].SubItems[j] == null)
                    {
                        continue;
                    }
                    tCmprTime1 = Convert.ToDateTime(_lvLotInfo.Items[9].SubItems[i]);
                    tCmprTime2 = Convert.ToDateTime(_lvLotInfo.Items[9].SubItems[j]);
                    tCmprTime1 = Convert.ToDateTime(string.Format("fffff.ffffffffff"));
                    tCmprTime2 = Convert.ToDateTime(string.Format("fffff.ffffffffff"));
                    if (tCmprTime1 > tCmprTime2)
                    {
                        for (int x = 1; x < _lvLotInfo.Columns.Count; x++)
                        {
                            _lvLotInfo.Items[x].SubItems[_lvLotInfo.Items.Count] = _lvLotInfo.Items[x].SubItems[i];
                            _lvLotInfo.Items[x].SubItems[i] = _lvLotInfo.Items[x].SubItems[j];
                            _lvLotInfo.Items[x].SubItems[j] = _lvLotInfo.Items[x].SubItems[_lvLotInfo.Items.Count];
                        }
                    }
                }
            }
        }