Beispiel #1
0
 // Запуск мониторинга
 private void m_RunMonitoring_Click(object sender, EventArgs e)
 {
     if (b_Connect && (m_Monitoring == null || (m_Monitoring != null && !m_Monitoring.GetRun)))
     {
         // Создание потока и передача ему параметров
         m_Monitoring = new Monitoring(k_Base, d_InputTable, d_OutputTable);
         m_Monitoring.RunMonitoring();
     }
 }
Beispiel #2
0
 public Server(KnowledgeBase k_Base, Monitoring m_Monitoring,
               DataGridView d_InputTable, DataGridView d_OutputTable)
 {
     this.k_Base        = k_Base;
     this.m_Monitoring  = m_Monitoring;
     this.d_InputTable  = d_InputTable;
     this.d_OutputTable = d_OutputTable;
     s_Listener         = null;
     c_TokenCancel      = null;
 }
Beispiel #3
0
        // Подключение к бз и получение нейросети
        private void m_Connect_Click(object sender, EventArgs e)
        {
            try
            {
                // Останавливаем дополнительные потоки, если они были запущены
                if (m_Monitoring != null)
                {
                    m_Monitoring.StopMonitoring();
                }
                if (s_Server != null)
                {
                    s_Server.StopServer();
                }
                // Получение пути к БЗ
                DataConnection d_DataConnection = new DataConnection();
                if (d_DataConnection.ShowDialog() != DialogResult.Cancel)
                {
                    // Подключение к БЗ и получение данных
                    k_Base = new KnowledgeBase(d_DataConnection.GetPath);
                    k_Base.GetDataAboutFormulas();
                    m_Monitoring = new Monitoring(k_Base, d_InputTable, d_OutputTable);
                    s_Server     = new Server(k_Base, m_Monitoring, d_InputTable, d_OutputTable);
                    b_Connect    = true;

                    // Вывод в таблицу
                    int i_Count = 0;
                    for (int i = 0; i < k_Base.DataAboutFormulas.Length; i++)
                    {
                        i_Count += k_Base.DataAboutFormulas[i].GetInputParameters.Length;
                    }
                    string[,] s_Input  = new string[i_Count, 2];
                    string[,] s_Output = new string[k_Base.DataAboutFormulas.Length, 2];
                    i_Count            = 0;
                    for (int i = 0; i < k_Base.DataAboutFormulas.Length; i++)
                    {
                        for (int j = 0; j < k_Base.DataAboutFormulas[i].GetInputParameters.Length; j++)
                        {
                            s_Input[i_Count, 0] = k_Base.DataAboutFormulas[i].GetInputParameters[j];
                            s_Input[i_Count, 1] = "";
                            i_Count++;
                        }
                        s_Output[i, 0] = k_Base.DataAboutFormulas[i].GetOutputParameter;
                        s_Output[i, 1] = "";
                    }
                    Table.MainOutputInfoInTables(d_InputTable, d_OutputTable, s_Input, s_Output);
                }
            }
            catch (Exception e_Ex)
            {
                b_Connect = false;
                MessageBox.Show("Код ошибки: " + Math.Abs(e_Ex.GetHashCode()) + ", обратитесь в техподдержку.");
            }
        }
Beispiel #4
0
        public MainForm()
        {
            InitializeComponent();

            k_Base       = null;
            m_Monitoring = null;
            s_Server     = null;
            b_Connect    = false;


            // Настройка внешнего вида таблицы
            d_InputTable.ColumnHeadersDefaultCellStyle.Font = new Font("Times New Roman", 12, FontStyle.Bold);
            d_InputTable.DefaultCellStyle.Font = new Font("Times New Roman", 12);
            d_OutputTable.ColumnHeadersDefaultCellStyle.Font = new Font("Times New Roman", 12, FontStyle.Bold);
            d_OutputTable.DefaultCellStyle.Font = new Font("Times New Roman", 12);
        }
Beispiel #5
0
        // Завершение работы
        private void m_Exit_Click(object sender, EventArgs e)
        {
            if (b_Connect && m_Monitoring != null)
            {
                m_Monitoring.StopMonitoring();
            }
            m_Monitoring = null;

            if (b_Connect && s_Server != null)
            {
                s_Server.StopServer();
            }
            s_Server = null;

            if (k_Base != null)
            {
                k_Base.Dispose();
            }

            this.Close();
        }