コード例 #1
0
ファイル: jasonCapture.cs プロジェクト: cbkim60/20.GitHUB
        public void jasonRead(int nDevNo)
        {
            String fileName = @".\parseJason.txt";

            if (System.IO.File.Exists(fileName) == false)
            {
                return;
            }
            bool   bSuccess = false, bEnable = false;
            int    n = 0;
            String devToken = "", tokenName = "";

            m_pRectanges.Clear();
            m_pCrop.Width = m_pCrop.Height = 0;
            try
            {
                //String allRead = System.IO.File.ReadAllText(fileName).Replace("\t", "");
                String allText = System.IO.File.ReadAllText(fileName).Replace("\t", "");
                String allRead = allText.Replace(" ", "");
                devToken = String.Format("DEVICE{0}", nDevNo);
                Debug.WriteLine(allRead);

                JObject jObj = JObject.Parse(allRead);
                Debug.WriteLine(jObj.Count);
                JToken idToken = jObj[devToken];
                String capRead = idToken.ToString();
                Debug.WriteLine(capRead);
                JObject jDevObj = JObject.Parse(capRead);

                idToken = jDevObj["BaseScale"];
                if (idToken != null)
                {
                    m_pBaseScale = Convert.ToDouble(idToken.ToString());
                }
                idToken = jDevObj["Enable"];
                if (idToken != null)
                {
                    if (idToken.ToString() == "1")
                    {
                        bEnable = true;
                    }
                    Debug.WriteLine("########################## Enabled=" + bEnable);
                }

                for (n = 1; n < 20; n++)
                {
                    tokenName = "";
                    switch (n)
                    {
                    case 1: tokenName = "auto-idle"; break;

                    case 2: tokenName = "PPID"; break;

                    case 3: tokenName = "PRESS"; break;

                    case 4: tokenName = "STEP"; break;

                    case 5: tokenName = "VALVE"; break;

                    case 6: tokenName = "RF"; break;

                    case 7: tokenName = "RFr"; break;

                    case 8: tokenName = "GAS1"; break;

                    case 9: tokenName = "GAS2"; break;

                    case 10: tokenName = "TEMP1"; break;

                    case 11: tokenName = "TEMP2"; break;

                    case 12: tokenName = "TEMP3"; break;

                    case 13: tokenName = "EFD"; break;

                    case 14: tokenName = "TIME"; break;

                    case 15: tokenName = "CYCLE"; break;

                    case 16: tokenName = "auto-end"; break;

                    case 17: tokenName = "last"; break;
                    }
                    if (tokenName.Length == 0)
                    {
                        bSuccess = true;
                        break;
                    }
                    idToken = jDevObj[tokenName];
                    String readValue = idToken.ToString();
                    if (n == 0)
                    {
                        if (readValue == "1")
                        {
                            bEnable = true;
                        }
                    }
                    else
                    {
                        CaptureRectangle pRect     = new CaptureRectangle();
                        String[]         strSplits = readValue.Split(',');
                        Debug.WriteLine(n + "]" + strSplits.Length + "<==" + tokenName);
                        if (strSplits.Length < 4)
                        {
                            break;
                        }
                        pRect.x      = Convert.ToInt32(strSplits[0]);
                        pRect.y      = Convert.ToInt32(strSplits[1]);
                        pRect.Width  = Convert.ToInt32(strSplits[2]);
                        pRect.Height = Convert.ToInt32(strSplits[3]);
                        if (strSplits.Length > 4)
                        {
                            pRect.picType = Convert.ToInt32(strSplits[4]);
                        }
                        else
                        {
                            pRect.picType = 2;
                        }
                        if (strSplits.Length > 5)
                        {
                            pRect.Resize = Convert.ToDouble(strSplits[5]);
                        }
                        else
                        {
                            pRect.Resize = m_pBaseScale;
                        }
                        if (((n >= 3) && (n < 14) && (n != 4) && (pRect.x < 700)) || ((tokenName == "CYCLE")))
                        {
                            // "PRESS":"566,65,404,22,0",
                            // "VALVE":"822,91,146,20,0,1.2",
                            pRect.Width = 146;
                            m_pRectanges.Add(pRect);
                            CaptureRectangle pRectMon = new CaptureRectangle();
                            pRectMon.x       = 822;
                            pRectMon.y       = pRect.y;
                            pRectMon.y       = pRect.y;
                            pRectMon.Width   = pRect.Width;
                            pRectMon.Height  = pRect.Height;
                            pRectMon.picType = pRect.picType;
                            pRectMon.Resize  = pRect.Resize;
                            m_pRectanges.Add(pRectMon);
                        }
                        else if (tokenName == "TIME")
                        {
                            pRect.Width = 178;
                            m_pRectanges.Add(pRect);
                            CaptureRectangle pRectMon = new CaptureRectangle();
                            pRectMon.x       = 792;
                            pRectMon.y       = pRect.y;
                            pRectMon.y       = pRect.y;
                            pRectMon.Width   = pRect.Width;
                            pRectMon.Height  = pRect.Height;
                            pRectMon.picType = pRect.picType;
                            pRectMon.Resize  = pRect.Resize;
                            m_pRectanges.Add(pRectMon);
                        }
                        else
                        {
                            m_pRectanges.Add(pRect);
                        }
                    }
                }
                idToken = jDevObj["CropRect"];
                if (idToken != null)
                {
                    String   readValue = idToken.ToString();
                    String[] strSplits = readValue.Split(',');
                    // "CropRect":"286,32,1278,400",
                    if (strSplits.Length >= 4)
                    {
                        m_pCrop.x      = Convert.ToInt32(strSplits[0]);
                        m_pCrop.y      = Convert.ToInt32(strSplits[1]);
                        m_pCrop.Width  = Convert.ToInt32(strSplits[2]);
                        m_pCrop.Height = Convert.ToInt32(strSplits[3]);
                    }
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("!!!!!!!!!!!! jasonRead()] " + ex.Message);
                Debug.WriteLine(String.Format("IDX={0} DEV={1} TOKEN={2}", n, devToken, tokenName));
            }
            Debug.WriteLine("############ COUNT]" + m_pRectanges.Count + ", Enable=" + bEnable);

            if ((bSuccess == false) || (bEnable == false))
            {
                m_pRectanges.Clear();
            }
        }
コード例 #2
0
ファイル: jasonCapture.cs プロジェクト: cbkim60/20.GitHUB
        public void jasonRead2(int nDevNo)
        {
            String fileName = @".\parseJason.txt";

            if (System.IO.File.Exists(fileName) == false)
            {
                return;
            }
            bool   bSuccess = false, bEnable = false;
            int    n = 0;
            String devToken = "", tokenName = "";

            m_pRectanges.Clear();
            m_pCrop.Width = m_pCrop.Height = 0;
            try
            {
                String allText = System.IO.File.ReadAllText(fileName).Replace("\t", "");
                String allRead = allText.Replace(" ", "");
                devToken = String.Format("DEVICE{0}", nDevNo);
                //Debug.WriteLine(allRead);

                JObject jObj = JObject.Parse(allRead);
                Debug.WriteLine(jObj.Count);
                JToken idToken = jObj[devToken];
                String capRead = idToken.ToString();
                Debug.WriteLine(capRead);
                JObject jDevObj = JObject.Parse(capRead);

                idToken = jDevObj["BaseScale"];
                if (idToken != null)
                {
                    m_pBaseScale = Convert.ToDouble(idToken.ToString());
                }

                idToken = jDevObj["Enable"];
                if (idToken != null)
                {
                    if (idToken.ToString() == "1")
                    {
                        bEnable = true;
                    }
                    Debug.WriteLine("########################## Enabled=" + bEnable);
                }

                idToken = jDevObj["CropRect"];
                if (idToken != null)
                {
                    String   readValue = idToken.ToString();
                    String[] strSplits = readValue.Split(',');
                    // "CropRect":"286,32,1278,400",
                    if (strSplits.Length >= 4)
                    {
                        m_pCrop.x      = Convert.ToInt32(strSplits[0]);
                        m_pCrop.y      = Convert.ToInt32(strSplits[1]);
                        m_pCrop.Width  = Convert.ToInt32(strSplits[2]);
                        m_pCrop.Height = Convert.ToInt32(strSplits[3]);
                    }
                }

                for (n = 0; n < 40; n++)
                {
                    tokenName = "";
                    switch (n)
                    {
                    case 0: tokenName = "auto-idle"; break;

                    case 1: tokenName = "PPID"; break;

                    case 2: tokenName = "PRESS-SET"; break;

                    case 3: tokenName = "PRESS-MON"; break;

                    case 4: tokenName = "STEP"; break;

                    case 5: tokenName = "VALVE-SET"; break;

                    case 6: tokenName = "VALVE-MON"; break;

                    case 7: tokenName = "RF-SET"; break;

                    case 8: tokenName = "RF-MON"; break;

                    case 9: tokenName = "RFr-SET"; break;

                    case 10: tokenName = "RFr-MON"; break;

                    case 11: tokenName = "GAS1-SET"; break;

                    case 12: tokenName = "GAS1-MON"; break;

                    case 13: tokenName = "GAS2-SET"; break;

                    case 14: tokenName = "GAS2-MON"; break;

                    case 15: tokenName = "TEMP1-SET"; break;

                    case 16: tokenName = "TEMP1-MON"; break;

                    case 17: tokenName = "TEMP2-SET"; break;

                    case 18: tokenName = "TEMP2-MON"; break;

                    case 19: tokenName = "TEMP3-SET"; break;

                    case 20: tokenName = "TEMP3-MON"; break;

                    case 21: tokenName = "EFD-SET"; break;

                    case 22: tokenName = "EFD-MON"; break;

                    case 23: tokenName = "TIME-SET"; break;

                    case 24: tokenName = "TIME-MON"; break;

                    case 25: tokenName = "CYCLE-SET"; break;

                    case 26: tokenName = "CYCLE-MON"; break;

                    case 27: tokenName = "auto-end"; break;

                    case 28: tokenName = "last"; break;
                    }
                    if (tokenName.Length == 0)
                    {
                        bSuccess = true;
                        break;
                    }
                    idToken = jDevObj[tokenName];
                    String readValue = idToken.ToString();

                    JObject          objInfos = JObject.Parse(readValue);
                    CaptureRectangle pRect    = new CaptureRectangle();
                    pRect.x       = Convert.ToInt32(objInfos["x"].ToString());
                    pRect.y       = Convert.ToInt32(objInfos["y"].ToString());
                    pRect.Width   = Convert.ToInt32(objInfos["Width"].ToString());
                    pRect.Height  = Convert.ToInt32(objInfos["Height".ToString()]);
                    pRect.picType = Convert.ToInt32(objInfos["picType"].ToString());
                    int nValue = Convert.ToInt32(objInfos["dataType".ToString()]);
                    pRect.dataType = nValue / 100;
                    pRect.dataSub  = nValue % 100;
                    nValue         = Convert.ToInt32(objInfos["dataLoc"].ToString());
                    pRect.locMain  = nValue / 100;
                    pRect.locSub   = nValue % 100;
                    pRect.Resize   = m_pBaseScale;
                    if (objInfos["Scale"] != null)
                    {
                        pRect.Resize = Convert.ToDouble(objInfos["Scale"].ToString());
                    }
                    m_pRectanges.Add(pRect);
                }
            }
            catch (Exception ex)
            {
                Debug.WriteLine("!!!!!!!!!!!! jasonRead()] " + ex.Message);
                Debug.WriteLine(String.Format("IDX={0} DEV={1} TOKEN={2}", n, devToken, tokenName));
            }

            if ((bSuccess == false) || (bEnable == false))
            {
                m_pRectanges.Clear();
            }
        }