コード例 #1
0
        private void LoadDSF()
        {
            list = new List <DiscreteFuzzySetBLL>();
            string path = Directory.GetCurrentDirectory() + @"\lib\";

            list = DiscreteFuzzySetBLL.GenerateAllDisFS(path);
        }
コード例 #2
0
 public FrmAddDiscreteFuzzySet(string name)
 {
     // TODO: Complete member initialization
     InitializeComponent();
     this.name = name;
     dis       = DiscreteFuzzySetBLL.GetByName(name);
 }
コード例 #3
0
        private static DiscreteFuzzySetBLL ReadEachDisFS(string path)
        {
            DiscreteFuzzySetBLL result = new DiscreteFuzzySetBLL();

            try
            {
                List <String> list = new List <string>();
                using (StreamReader reader = new StreamReader(path))
                {
                    string line;
                    while ((line = reader.ReadLine()) != null) //Only have two lines
                    {
                        list.Add(line);                        // Add to list.
                    }
                }

                result.FuzzySetName  = FuzzySetName(path);
                result.ValueSet      = SplitString(list[0]);
                result.MembershipSet = SplitString(list[1]);
                return(result);
            }
            catch
            {
                return(null);
            }
        }
コード例 #4
0
        internal static List <DiscreteFuzzySetBLL> DSDisFS(string value)
        {
            List <DiscreteFuzzySetBLL> listfs = new List <DiscreteFuzzySetBLL>();

            try
            {
                string[] seperator = { "||" };
                string[] temp = value.Split(seperator, StringSplitOptions.RemoveEmptyEntries);
                int      j1, j2;

                for (int i = 0; i < temp.Length; i++)
                {
                    j1 = temp[i].IndexOf('{');
                    j2 = temp[i].IndexOf('}');
                    string name = temp[i].Substring(j1 + 1, j2 - j1 - 1).Trim();
                    DiscreteFuzzySetBLL result = GetDiscreteFuzzySetByName(name);
                    if (result.ValueSet.Count == 0)
                    {
                        result.AddPoint(0, 0);
                    }
                    listfs.Add(result);
                }
                return(listfs);
            }
            catch
            {
                return(listfs);
            }
        }
コード例 #5
0
 private void btSaveDis_Click(object sender, EventArgs e)
 {
     try
     {
         if (txtNewNameDis.Text == "")
         {
             XtraMessageBox.Show("Missing Linguistic Lable!!!", "Error!!!");
             return;
         }
         double x;
         if (Double.TryParse(txtNewNameDis.Text.Trim(), out x) && gridViewDisCreteFuzzy.DataRowCount == 0)
         {
             String path = Directory.GetCurrentDirectory() + @"\lib\";
             //DiscreteFuzzySetBLL newDisFs = GetDataRows();
             List <String> list = new List <String>();
             list.Add(txtNewNameDis.Text.Trim());
             list.Add(txtNewNameDis.Text.Trim());
             list.Add("1");
             //if (newDisFs.Update() == 1)
             if (DiscreteFuzzySetBLL.UpdateFS(path, list.GetRange(1, 2), list[0] + ".disFS") == 1)
             {
                 XtraMessageBox.Show("Save DONE!");
                 this.Close();
             }
             else
             {
                 XtraMessageBox.Show("Save FAILED!");
             }
         }
         else
         if (gridViewDisCreteFuzzy.RowCount != 0)
         {
             String path = Directory.GetCurrentDirectory() + @"\lib\";
             //DiscreteFuzzySetBLL newDisFs = GetDataRows();
             List <String> list = GetDataRows(gridViewDisCreteFuzzy);
             //if (newDisFs.Update() == 1)
             if (DiscreteFuzzySetBLL.UpdateFS(path, list.GetRange(1, 2), list[0] + ".disFS") == 1)
             {
                 XtraMessageBox.Show("Save DONE!");
                 this.Close();
             }
             else
             {
                 XtraMessageBox.Show("Save FAILED!");
             }
         }
         else
         {
             XtraMessageBox.Show("Value and Membership are missing!");
         }
     }
     catch
     {
     }
 }
コード例 #6
0
        private List <DiscreteFuzzySetBLL> GetSelectedRows()
        {
            List <DiscreteFuzzySetBLL> result = new List <DiscreteFuzzySetBLL>();

            for (int i = 0; i < gridViewLibraryDis.DataRowCount; i++)
            {
                if (gridViewLibraryDis.GetRowCellValue(i, "gridColCheck").ToString() == "True")
                {
                    DiscreteFuzzySetBLL set = new DiscreteFuzzySetBLL();
                    set = DiscreteFuzzySetBLL.GetByName(gridViewLibraryDis.GetRowCellValue(i, "gridColName").ToString().Trim());
                    result.Add(set);
                }
            }
            return(result);
        }
コード例 #7
0
        private void RefreshData()
        {
            gridCtrLibraryDis.DataSource = null;
            dt = new DataTable();
            dt.Columns.Add("gridColCheck", typeof(bool));
            dt.Columns.Add("gridColName", typeof(String));
            dt.Columns.Add("gridColValue", typeof(String));
            dt.Columns.Add("gridColMembership", typeof(String));
            string path = Directory.GetCurrentDirectory() + @"\lib\";

            this.list = DiscreteFuzzySetBLL.GenerateAllDisFS(path);
            for (int i = 0; i < list.Count; i++)
            {
                DataRow row = dt.NewRow();
                row[0] = false;
                row[1] = list[i].FuzzySetName;
                row[2] = StringList(list[i].ValueSet);
                row[3] = StringList(list[i].MembershipSet);
                dt.Rows.Add(row);
            }
            gridCtrLibraryDis.DataSource = dt;
        }
コード例 #8
0
        internal static DiscreteFuzzySetBLL GetDiscreteFuzzySetByName(String name)
        {
            DiscreteFuzzySetBLL result = new DiscreteFuzzySetBLL(name);

            try
            {
                //get library from
                string[] filePaths = Directory.GetFiles(Directory.GetCurrentDirectory() + @"\lib\", "*.disFS");
                foreach (var item in filePaths)
                {
                    if (FuzzySetName(item) == name)
                    {
                        result = ReadEachDisFS(item);
                        break;
                    }
                }

                return(result);
            }
            catch
            {
                return(result);
            }
        }
コード例 #9
0
 public FrmAddDiscreteFuzzySet()
 {
     InitializeComponent();
     this.name = "";
     dis       = null;
 }