Beispiel #1
0
 private void открытьToolStripMenuItem_Click(object sender, EventArgs e)
 {
     //Открыть готовую ЭС
     if (openFileDialog1.ShowDialog() == System.Windows.Forms.DialogResult.OK)
     {
         try
         {
             if (File.Exists(openFileDialog1.FileName))
             {
                 Stream          TestFileStream = File.OpenRead(openFileDialog1.FileName);
                 BinaryFormatter deserializer   = new BinaryFormatter();
                 kbase  = (BaseOfKnowledge)deserializer.Deserialize(TestFileStream);
                 ESname = kbase.Name;
                 TestFileStream.Close();
                 FileName = openFileDialog1.FileName;
                 //заполнить формы
                 kbase.FillForms(this);
                 tabControl1.Visible = true;
                 lblStatus.Text      = "Открыта ЭС: " + ESname;
             }
         }
         catch (Exception ex)
         {
             MessageBox.Show(ex.Message);
         }
     }
 }
Beispiel #2
0
        private void новыйToolStripMenuItem_Click(object sender, EventArgs e)
        {
            //Создаём новую ЭС. Запрашиваем имя
            Name nameForm = new Name();

            if (nameForm.ShowDialog() == DialogResult.OK)
            {
                ESname = nameForm.textBox1.Text;
                tabControl1.Visible = true;
                kbase          = new BaseOfKnowledge(ESname);
                lblStatus.Text = "Новая ЭС: " + ESname + "(сохранение не производилось)";
            }
        }
Beispiel #3
0
 public QuestionForm(BaseOfKnowledge kbase, Variable var)
 {
     InitializeComponent();
     this.kbase  = kbase;
     this.var    = var;
     label1.Text = var.question;
     foreach (string d in var.domain.values)
     {
         cmbAns.Items.Add(d);
     }
     if (cmbAns.Items.Count > 0)
     {
         cmbAns.SelectedIndex = 0;
     }
 }
Beispiel #4
0
 public void FillForms(BaseOfKnowledge kbase, Variable var)
 {
     lbl_goal.Text = "Цель консультации: " + var.name + " = " +
                     kbase.valuableVariable.Find(delegate(VarsWithValue v) { return(v.var.name == var.name); }).value;
     if (kbase.workedRules.Count > 0)
     {
         lbl_explain.Text = "Объяснение: " + kbase.workedRules[kbase.workedRules.Count - 1].reason;
     }
     else
     {
         lbl_explain.Text = "Цель не получена";
     }
     foreach (VarsWithValue vWv in kbase.valuableVariable)
     {
         lbx_workMemory.Items.Add(vWv.var.name + " = " + vWv.value);
     }
 }