Пример #1
0
        public void Read()
        {
            string strVisionConfigPath = VisionMgr.GetInstance().CurrentVisionProcessDir + "VisionMgr" + ".xml";

            if (VisionMgr.GetInstance().CurrentVisionProcessDir == null &&
                ParamSetMgr.GetInstance().CurrentProductFile == null &&
                ParamSetMgr.GetInstance().CurrentProductFile == "" &&
                !Directory.Exists(VisionMgr.GetInstance().CurrentVisionProcessDir))
            {
                Directory.CreateDirectory(VisionMgr.GetInstance().CurrentVisionProcessDir);
            }
            dicVisionType.Clear();
            dicVisionType = (SerialDictionary <string, StepVisionInfo>)AccessXmlSerializer.XmlToObject(strVisionConfigPath, dicVisionType.GetType());

            dicVision.Clear();
            if (dicVisionType == null)
            {
                dicVisionType = new SerialDictionary <string, StepVisionInfo>();
            }
            foreach (var temp in dicVisionType)
            {
                Type     type = AssemblyOperate.GetTypeFromAssembly(temp.Value.VisionType);
                object[] args = new object[]
                {
                    temp.Key
                };
                Add(temp.Key, Activator.CreateInstance(type, args) as VisionSetpBase);
                dicVision[temp.Key].Read();
                dicVision[temp.Key].m_camparam = temp.Value.CamParam;
            }
        }
Пример #2
0
        public object ReadParam2()
        {
            object obj2 = null;

            try
            {
                obj2 = AccessXmlSerializer.XmlToObject(AppDomain.CurrentDomain.BaseDirectory + @"\config\LightVal_" + LightName + ".xml", itemlightdic.GetType());
                if (obj2 != null)
                {
                    itemlightdic = (SerialDictionary <string, LightSet>)obj2;
                    if (itemlightdic.Count == 0)
                    {
                        MessageBox.Show("lingt control  数据读取出错", "Err", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        logger.Error("lingt control  数据读取出错");
                    }
                }
                else
                {
                    SaveItems();
                }
            }
            catch
            {
                obj2 = null;
            }
            if (obj2 == null)
            {
                MessageBox.Show("lingt control  数据读取出错", "Err", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
            return(obj2);
        }
Пример #3
0
    /// <summary>
    /// 序列化字典分数排序
    /// </summary>
    /// <param name="sdicUser">序列化字典数据</param>
    /// <param name="Descending">是否降序</param>
    /// <returns></returns>
    private static SerialDictionary <string, UserData> ToSort(this SerialDictionary <string, UserData> sdicUser, bool Descending = false)
    {
        Dictionary <string, UserData> dic = sdicUser;

        dic = Descending
                ? dic.OrderByDescending(o => o.Value.grade).ToDictionary(o => o.Key, p => p.Value)
                : dic.OrderBy(o => o.Value.grade).ToDictionary(o => o.Key, p => p.Value);
        return(new SerialDictionary <string, UserData>(dic));
    }