Ejemplo n.º 1
0
        public void AddFormalParameter(string filename)
        {
            if (MainForm.Instance().CurrentUser.LogicExplorer != (int)EXPLORER_ACCESS.Full)
            {
                System.Windows.Forms.MessageBox.Show("current user cannot add any Contrller");
            }
            if (!File.Exists(filename))
            {
                DCS.Forms.MainForm.Instance().WriteToOutputWindows("File " + filename + " does not exist");
                return;
            }
            int                ret = 0;
            string             str;
            string             _log            = "";
            int                FunctionNameCol = -1;
            string             functionname;
            bool               headerline = true;
            tblFunction        tblfunction;
            tblFormalParameter tblformalparameter = new tblFormalParameter();

            using (StreamReader reader = new StreamReader(filename))
            {
                while ((str = reader.ReadLine()) != null)
                {
                    str.Replace(",,", ", ,");
                    if (str.StartsWith("!"))
                    {
                        continue;
                    }
                    if (headerline)
                    {
                        tblformalparameter.headerString = str;
                        headerline      = false;
                        FunctionNameCol = tblformalparameter.ColumnExistInHeader("FunctionName");
                        if (FunctionNameCol == -1)
                        {
                            DCS.Forms.MainForm.Instance().WriteToOutputWindows("Formalparameter add error: FunctionName column does not exist in " + filename);
                            break;
                        }
                    }
                    else
                    {
                        tblformalparameter = new tblFormalParameter();
                        string[] _strs = str.Split(new Char[] { ',' });
                        functionname = _strs[FunctionNameCol].ToLower();
                        tblfunction  = tblSolution.m_tblSolution().functionbyName[functionname.ToUpper()];
                        if (tblfunction != null)
                        {
                            tblformalparameter.AddFromString(_strs, functionname, ref _log);
                            tblformalparameter.FunctionID = tblSolution.m_tblSolution().functionbyName[functionname.ToUpper()].FunctionID;;
                            if ((ret = tblformalparameter.Insert()) != 0)
                            {
                                if (ret == 19)
                                {
                                    DCS.Forms.MainForm.Instance().WriteToOutputWindows(_log + " Already exist in database");
                                }
                            }
                            else
                            {
                                tblfunction.m_tblFormalParameterCollection.Add(tblformalparameter);
                            }
                        }
                        else
                        {
                            DCS.Forms.MainForm.Instance().WriteToOutputWindows("Function Name " + functionname + " doesn't exist in database");
                        }
                    }
                }
                reader.Close();
            }
        }
Ejemplo n.º 2
0
        void RowExistIntblFormalparamter(string pinname, string pindescription, string pintype, string pinclass, string pininitialvalue, ref int oIndex)
        {
            foreach (tblFormalParameter tblformalparameter in _tblfunction.m_tblFormalParameterCollection)
            {
                if (tblformalparameter.PinName.ToUpper() == pinname.ToUpper())
                {
                    tblformalparameter.Description = pindescription;
                    tblformalparameter.Type        = (int)tblSolution.m_tblSolution().functionbyName[pintype.ToUpper()].Type;
                    if (pinclass == "Input")
                    {
                        tblformalparameter.Class     = (int)VarClass.Input;
                        tblformalparameter.Reference = false;
                    }
                    if (pinclass == "InOut")
                    {
                        tblformalparameter.Class     = (int)VarClass.InOut;
                        tblformalparameter.Reference = false;
                    }
                    if (pinclass == "Reference")
                    {
                        tblformalparameter.Class     = (int)VarClass.Input;
                        tblformalparameter.Reference = true;
                    }
                    if (pinclass == "Output")
                    {
                        tblformalparameter.Class     = (int)VarClass.Output;
                        tblformalparameter.Reference = false;
                    }
                    if (pinclass == "Local")
                    {
                        tblformalparameter.Class     = (int)VarClass.Local;
                        tblformalparameter.Reference = false;
                    }
                    tblformalparameter.InitializeValue = pininitialvalue;
                    tblformalparameter.oIndex          = oIndex++;
                    tblformalparameter.Update();

                    return;
                }
            }

            {
                tblFormalParameter tblformalparameter = new tblFormalParameter();
                tblformalparameter.FunctionID = _tblfunction.FunctionID;
                tblformalparameter.PinName    = pinname.ToUpper();

                tblformalparameter.Description = pindescription;
                tblformalparameter.Type        = (int)tblSolution.m_tblSolution().functionbyName[pintype.ToUpper()].Type;
                if (pinclass == "Input")
                {
                    tblformalparameter.Class     = (int)VarClass.Input;
                    tblformalparameter.Reference = false;
                }
                if (pinclass == "InOut")
                {
                    tblformalparameter.Class     = (int)VarClass.InOut;
                    tblformalparameter.Reference = false;
                }
                if (pinclass == "Reference")
                {
                    tblformalparameter.Class     = (int)VarClass.Input;
                    tblformalparameter.Reference = true;
                }
                if (pinclass == "Output")
                {
                    tblformalparameter.Class     = (int)VarClass.Output;
                    tblformalparameter.Reference = false;
                }
                if (pinclass == "Local")
                {
                    tblformalparameter.Class     = (int)VarClass.Local;
                    tblformalparameter.Reference = false;
                }
                tblformalparameter.InitializeValue = pininitialvalue;
                tblformalparameter.oIndex          = oIndex++;
                tblformalparameter.Insert();
            }
            _tblfunction.m_tblFormalParameterCollection = null;
        }