| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386 | using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threading.Tasks;using OTSINTERFACE;using NSLogFunExport;using System.Drawing;using System.Data;using System.Collections;namespace OTSPeriodicTable{    #region 枚举定义    /// <summary>    /// 作用类别    /// </summary>    enum OTS_SOFT_PACKAGE_ID    {        OTSIncA = 0,             //夹杂物分析        OTSPartA = 1,            //颗粒度分析    };    /// <summary>    /// 当前选择标准库下拉选项    /// </summary>    enum OTS_STDLIB_SELECT_OPTIONS    {        SySSTDData = 0,        GeneralSTDData = 1,        GeneralAlloySteelSTDData = 2,        SpringSteelSTDSata = 3,    }    #endregion    public class OTSPeriodicTableFun    {        #region 变量定义        ClassinicationRuleForm m_CRF;        //public CPartSTDFileMnrClr m_cpartstdfilemnrclr;              //STD文件类                public CGenParamClr m_cgenparamclr;                          //参数类        //public CPartSTDDataClr m_cpartstddataclr;                   //std类 用这个类先定义一个文件,然后再进行操作        // 初始化日志类        public CFunExportClass m_LogFunExport = null;                //日志类        const String m_csFileName = "OTSMeasureAppLog";              // 测量程序日志文件名        //为了获取默认路径而定义        public COTSProgMgrCLR m_cotsprogmgrclr;                            //从这里开始load        public COTSProgMgrParamFileClr m_cotsprogmgrparamfileclr;          //参数类        //国际化        OTSSysMgrTools.Language lan;        Hashtable table;        #endregion        #region 构造函数        /// <summary>        /// 构造函数        /// </summary>        public OTSPeriodicTableFun(ClassinicationRuleForm in_crf)        {            m_LogFunExport = new CFunExportClass();            m_LogFunExport.InitLog(m_csFileName);            //m_cpartstdfilemnrclr = new CPartSTDFileMnrClr();            m_cgenparamclr = new CGenParamClr();            //m_cpartstddataclr = new CPartSTDDataClr();            m_cotsprogmgrparamfileclr = new COTSProgMgrParamFileClr();            m_cotsprogmgrclr = new COTSProgMgrCLR();            m_CRF = in_crf;            //国际化            lan = new OTSSysMgrTools.Language();            table = lan.GetNameTable("ClassinicationRuleForm");        }        #endregion        #region STD文件操作相关        /// <summary>        /// 读取STD文件        /// </summary>        //public bool STDLoad(string strPath)        //{        //    //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDLoad)  加载STD文件数据");        //    if (false == m_cpartstdfilemnrclr.Load(strPath, true))        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.STDLoad)  加载STD文件数据错误");        //        return false;        //    }        //    return true;        //}        /// <summary>        /// 保存STD文件        /// </summary>        /// <returns></returns>        //public bool STDSave(string strPath,string LibraryName)        //{        //    //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDSave)  保存STD文件数据");                    //    //先将std类设置给std文件类        //    bool b_ret = m_cpartstdfilemnrclr.SetPartSTDData(m_cpartstddataclr);        //    if (false == b_ret)        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.SetPartSTDData)  将STD类设置给STD文件类失败!");        //        return false;        //    }        //    //最后再进行保存        //    if (false == m_cpartstdfilemnrclr.Save(strPath, LibraryName))        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.STDLoad)  保存STD文件数据错误");        //        return false;        //    }        //    return true;        //}        /// <summary>        /// 设置库名        /// </summary>        /// <param name="strName"></param>        //public void STDPartSetName(string strName)        //{        //    // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDPartSetName)  设置库名");        //    m_cpartstddataclr.SetName(strName);        //}        /// <summary>        /// 获取库名        /// </summary>        /// <returns></returns>        //public string STDPartGetName()        //{        //    // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.STDPartGetName)  获取库名");        //    //将std类设置给std文件夹,再获取名字        //    m_cpartstddataclr = m_cpartstdfilemnrclr.GetPartSTDData();        //    if (null == m_cpartstddataclr)        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.STDPartGetName)  获取STD类失败,导致获取库名失败!");        //        return "";        //    }        //    string strName = m_cpartstddataclr.GetName();        //    return strName;        //}        /// <summary>        /// 设置CPartSTDDataClr类给CPartSTDFileMnrClr        /// </summary>        /// <param name="in_CPartSTDDataClr"></param>        /// <returns></returns>        //public bool SetPartSTDData(CPartSTDDataClr in_CPartSTDDataClr)        //{        //    bool b_ret = false;        //    // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetPartSTDData)  将CPartSTDDataClr类给CPartSTDFileMnrClr");        //    //用这个设置        //    b_ret = m_cpartstdfilemnrclr.SetPartSTDData(in_CPartSTDDataClr);        //    //还是用这个设置?        //    m_cgenparamclr.SetPartSTDLib(in_CPartSTDDataClr);        //    if (b_ret == false)        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.SetPartSTDData)  将CPartSTDDataClr类给CPartSTDFileMnrClr失败!");        //    }        //    return b_ret;        //}        /// <summary>        /// 获取系统 设置的std文件路径        /// </summary>        /// <returns></returns>        public string GetPartSTDLibFolderName()        {            // m_LogFunExport.TraceLog("(OTSPeriodicTableFun.GetPartSTDLibFolderName)  获取STD设置的路径");            m_cotsprogmgrparamfileclr = m_cotsprogmgrclr.LoadInfoFromProgMgrFile((int)OTS_SOFT_PACKAGE_ID.OTSIncA);            if (null == m_cotsprogmgrparamfileclr)            {                m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetPartSTDLibFolderName)  获取STD设置的路径失败!");                return "";            }            m_cgenparamclr = m_cotsprogmgrparamfileclr.GetGenParam();            if (null == m_cgenparamclr)            {                m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetPartSTDLibFolderName)  获取STD设置的路径失败!");                return "";            }            return m_cgenparamclr.GetPartSTDLibFolderName().ToString();        }        #endregion        #region 元素操作相关        /// <summary>        /// 获取元素列表        /// </summary>        /// <returns></returns>        //public List<CElementClr> GetElementsList()        //{        //    //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.GetElementsList)  获取元素列表");        //    List<CElementClr> l_celementclr = new List<CElementClr>();        //    l_celementclr = m_cpartstdfilemnrclr.GetElementsList();        //    if (null == l_celementclr)        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetElementsList)  获取元素列表失败");        //    }        //    return l_celementclr;        //}        /// <summary>        /// 设置元素列表        /// </summary>        /// <returns></returns>        public bool SetElementsList()        {            List<CElementClr> l_celementclr = new List<CElementClr>();            //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetElementsList)  设置元素列表");            for (int i = 0; i < m_CRF.m_otf_small.m_List_Periodic.Count(); i++)            {                CElementClr ls_celementclr = new CElementClr();                //少元素名字,不用名字,只传入原子数就可以了                //原子数,传入序号                int ls_atomnum = Convert.ToInt32(m_CRF.m_otf_small.m_List_Periodic[i].XH);                ls_celementclr.SetAtomNum(ls_atomnum);                ////百分比,目前无用                //double ls_percentage = Convert.ToDouble(CRF.otf_small.List_Periodic[i].YZZL);                //ls_celementclr.SetPercentage(ls_percentage);                //添加到list                l_celementclr.Add(ls_celementclr);            }            //最后将elementlist添加给std类            //m_cpartstddataclr.SetElementsList(l_celementclr);            return true;        }        #endregion        #region 夹杂物操作相关        /// <summary>        /// 设置夹杂物列表        /// </summary>        /// <returns></returns>        //public bool SetSTDItemsList()        //{        //    string str6= table["str6"].ToString();        //    string str8 = table["str8"].ToString();        //    string str9 = table["str9"].ToString();        //    string str10 = table["str10"].ToString();        //    string str11 = table["str11"].ToString();        //    string str12 = table["str12"].ToString();        //    string str16 = table["str16"].ToString();        //    string str18 = table["str18"].ToString();        //    string str19 = table["str19"].ToString();        //    //STD默认编号        //    int nIdInit = 1000;        //    //夹杂物主List        //    List<CSTDItemClr> l_cstditemclr = new List<CSTDItemClr>();        //    //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList)  设置夹杂物列表");        //    for (int i = 0; i < m_CRF.m_dt_jzw.Rows.Count; i++)        //    {        //        //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList)  设置夹杂物列表,夹杂物" + m_CRF.dt_jzw.Rows[i]["夹杂物名"].ToString());        //        CSTDItemClr ls_cstditemclr = new CSTDItemClr(); //详细参数类        //        //这里改成对系统库的编号进行判断并保存        //        if (Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str6].ToString()) > 10000)        //        {        //            ls_cstditemclr.SetSTDId(Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str6].ToString()));        //        }        //        else        //        {        //            ls_cstditemclr.SetSTDId(nIdInit);        //            ++nIdInit;        //        }        //        ls_cstditemclr.SetName(m_CRF.m_dt_jzw.Rows[i][str8].ToString());        //        ls_cstditemclr.SetColor(m_CRF.m_dt_jzw.Rows[i][str9].ToString());        //        //ls_cstditemclr.SetColor(Color.FromArgb(Convert.ToInt32( CRF.dt_fl.Rows[i]["代表色"].ToString())));        //        ls_cstditemclr.SetWidth_HeightRadio(Convert.ToDouble(m_CRF.m_dt_jzw.Rows[i][str10].ToString()));        //        CIntRangeClr ls_cintrangeclr = new CIntRangeClr(Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str11].ToString()),        //            Convert.ToInt32(m_CRF.m_dt_jzw.Rows[i][str12].ToString()));        //        ls_cstditemclr.SetGrayLevelRange(ls_cintrangeclr);                                                                                                                                                                                                                                                                                                                                                                                                       //        //再保存详细的规则        //        List<CElementRangeClr> l_celemenrangeclr = new List<CElementRangeClr>();        //        //获取对应的规则列表        //        DataRow[] ls_drs = m_CRF.m_dt_ysxx.Select(str6+" ='" + m_CRF.m_dt_jzw.Rows[i][str6].ToString() + "'");        //        for (int y = 0; y < ls_drs.Count(); y++)        //        {        //            //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList)  设置夹杂物列表元素" + m_CRF.dt_ysxx.Rows[y]["元素名"].ToString());        //            CElementRangeClr ls_celementrangeclr = new CElementRangeClr(); //规则项        //            CElementClr ls_celementclr = new CElementClr();  //元素        //            //原子数        //            int ls_atomnum = Convert.ToInt32(ls_drs[y][str16].ToString());        //            ls_celementclr.SetAtomNum(ls_atomnum);        //            //百分比        //            ls_celementrangeclr.SetElement(ls_celementclr);        //            CIntRangeClr ls_cintrangeclr2 = new CIntRangeClr(Convert.ToInt32(ls_drs[y][str18].ToString()),        //                Convert.ToInt32(ls_drs[y][str19].ToString()));        //            ls_celementrangeclr.SetRange(ls_cintrangeclr2);        //            l_celemenrangeclr.Add(ls_celementrangeclr);        //        }        //        //设置元素规则        //        ls_cstditemclr.SetElementRangeList(l_celemenrangeclr);        //        //添加夹杂物主List        //        l_cstditemclr.Add(ls_cstditemclr);        //    }        //    //最后将夹杂物规则添加给std类        //    m_cpartstddataclr.SetSTDItemsList(l_cstditemclr);        //    //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.SetSTDItemsList)  设置夹杂物列表完成");        //    return true;        //}        /// <summary>        /// 获取夹杂物列表        /// </summary>        /// <returns></returns>        //public List<CSTDItemClr> GetSTDItemsList()        //{        //    //m_LogFunExport.TraceLog("(OTSPeriodicTableFun.GetSTDItemsList)  获取夹杂物列表");        //    List<CSTDItemClr> l_cstditemclr = new List<CSTDItemClr>();        //    l_cstditemclr = m_cpartstdfilemnrclr.GetSTDItemsList();        //    if (null == l_cstditemclr)        //    {        //        m_LogFunExport.TraceErrorLog("(OTSPeriodicTableFun.GetSTDItemsList)  获取夹杂物列表失败");        //    }        //    return l_cstditemclr;        //}        #endregion        #region 自定义方法        /// <summary>        /// 写入追踪日志        /// </summary>        /// <param name="strlog"></param>        /// <returns></returns>        public int TraceLog(string strlog)        {            int ireslut = m_LogFunExport.TraceLog(strlog);            return ireslut;        }        /// <summary>        /// 写入错误日志        /// </summary>        /// <param name="strlog"></param>        /// <returns></returns>        public int TraceErrorLog(string strlog)        {            int ireslut = m_LogFunExport.TraceErrorLog(strlog);            return ireslut;        }        #endregion    }}
 |