示例#1
0
 private void deleteClick(object sender, EventArgs e)
 {
     if (u != -1)
     {
         if (project.projectID != int.Parse(dataSet.Tables[0].Rows[u][0].ToString()))
         {
             SqlDataBaseClient.SQLCommandDeleteProject(dataSet.Tables[0].Rows[u][0].ToString());
             dataSet = SqlDataBaseClient.SQLCommandSelectAllFrom("Project");
             files   = new string[dataSet.Tables[0].Rows.Count];
             listView1.Items.Clear();
             for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
             {
                 files[i] = dataSet.Tables[0].Rows[i][1].ToString();
             }
             foreach (string file in files)
             {
                 ListViewItem lvi = new ListViewItem();
                 lvi.Text = file;
                 listView1.Items.Add(lvi);
             }
             u = -1;
         }
         else
         {
             MessageBox.Show("Не удалось выполнить удаление, так как проект открыт в программе. Закройте текущий проект и повторите удаление.");
         }
     }
     else
     {
         MessageBox.Show("Выберите проект.");
     }
 }
示例#2
0
 private void set_projectName_Click(object sender, EventArgs e)
 {
     is_unique = true;
     dataSet   = SqlDataBaseClient.SQLCommandSelectAllFromColumn("Project", "ProjectName");
     if (textBox1.Text.Length != 0)
     {
         for (int i = 0; i < dataSet.Tables[0].Rows.Count && is_unique; i++)
         {
             if (dataSet.Tables[0].Rows[i][0].ToString() == textBox1.Text)
             {
                 MessageBox.Show("Такое название проекта уже существует, выберите другое.");
                 is_unique = false;
             }
         }
         if (is_unique)
         {
             sol = new Solver();
             mainform.TARAT(sol);
             project.projectID = SqlDataBaseClient.SQLCustomCommandSelectMAXFrom("Project", "ProjectID") + 1;
             project.set_default();
             project.projectName = textBox1.Text;
             Close();
             mainform.Activate();
         }
     }
     else
     {
         MessageBox.Show("Введите название проекта.");
     }
 }
示例#3
0
 private void button1_Click(object sender, EventArgs e)
 {
     SqlDataBaseClient.SQLCommandCreateProject(project.projectID + ", N\'" + project.projectName + "\',"
                                               + project.countDevices, project.crossEstimate, project.chanellsVolume.ToString());
     for (i = 0; i < project.countDevices; i++)
     {
         for (j = i + 1; j < project.countDevices; j++)
         {
             if (sol.matrix_conn[i, j] != 0)
             {
                 SqlDataBaseClient.SQLCommandCreateCon(p + "," + project.projectID + "," + i + "," + j);
                 p++;
             }
             if (sol.matrix_chan[i, j] != 0)
             {
                 SqlDataBaseClient.SQLCommandCreateChan(t + "," + project.projectID + "," + i + "," + j + ", ", sol.matrix_chan[i, j]);
                 for (int iu = 0; iu < project.countCon; iu++)
                 {
                     for (int ju = 0; ju < sol.matrix_kol_versh_v_soed[iu] - 1; ju++)
                     {
                         if ((sol.matrix_y[iu, ju] == i && sol.matrix_y[iu, ju + 1] == j) || (sol.matrix_y[iu, ju + 1] == i && sol.matrix_y[iu, ju] == j))
                         {
                             SqlDataBaseClient.SQLCommandCreateTrack(project.projectID + "," + iu + "," + t);
                         }
                     }
                 }
                 t++;
             }
         }
     }
     for (i = 0; i < project.countCon; i++)
     {
         for (j = i; j < project.countCon; j++)
         {
             if (sol.matrix_x[i, j] != 0)
             {
                 SqlDataBaseClient.SQLCommandCreateEMC(project.projectID + "," + i + "," + j);
             }
         }
     }
     project.is_opened = true;
     project.is_set    = false;
     mainform.Activate();
     Close();
 }
示例#4
0
 public Start(Project project, MainForm mainform, Solver sol)
 {
     this.sol      = sol;
     u             = -1;
     this.project  = project;
     this.mainform = mainform;
     InitializeComponent();
     dataSet = SqlDataBaseClient.SQLCommandSelectAllFrom("Project");
     files   = new string[dataSet.Tables[0].Rows.Count];
     for (int i = 0; i < dataSet.Tables[0].Rows.Count; i++)
     {
         files[i] = dataSet.Tables[0].Rows[i][1].ToString();
     }
     foreach (string file in files)
     {
         ListViewItem lvi = new ListViewItem();
         lvi.Text = file;
         listView1.Items.Add(lvi);
     }
 }
示例#5
0
 private void MainForm_Activated(object sender, EventArgs e)
 {
     if (project.projectID != 0)
     {
         if (project.is_opened && project.is_set == false)
         {
             Text           = "Просмотр открытого проекта: " + project.projectName;
             project.is_set = true;
             n = project.countDevices;
             dataGridView1.ColumnCount = dataGridView1.RowCount = n;
             matrix_chan = new double[n, n];
             matrix_con  = new int[n, n];
             dataGridView1_setDefault_Chan();
             dataGridView1_setDefault_Con();
             dataset_con      = SqlDataBaseClient.SQLCustomCommandSelectAllFrom("DeviceConnectionSettings", "projectid=" + project.projectID);
             dataset_chan     = SqlDataBaseClient.SQLCustomCommandSelectAllFrom("ChannelConnectionParameters", "projectid=" + project.projectID);
             dataset_x        = SqlDataBaseClient.SQLCustomCommandSelectAllFrom("EmcParameters", "projectid=" + project.projectID);
             dataset_y        = SqlDataBaseClient.SQLCustomCommandSelectAllFrom("trackoptions", "projectid=" + project.projectID);
             m_chan           = dataset_chan.Tables[0].Rows.Count;
             project.countCon = m = dataset_con.Tables[0].Rows.Count;
             sol.matrix_y     = new int[m, n];
             dataGridView1_setOpen();
             sol.matrix_kol_versh_v_soed = new int[m];
             sol.matrix_x      = new int[m, m];
             sol.dist_put_all  = new double[m];
             sol.crossEstimate = project.crossEstimate;
             for (int gh = 0; gh < m; gh++)
             {
                 sol.matrix_kol_versh_v_soed[gh] = SqlDataBaseClient.SQLCustomCommandSelectOneFromInt("trackoptions", "ConnectionID=" + gh + " and projectid=" + project.projectID) + 1;
                 for (i = 0; i < dataset_x.Tables[0].Rows.Count; i++)
                 {
                     sol.matrix_x[int.Parse(dataset_x.Tables[0].Rows[i][1].ToString()), int.Parse(dataset_x.Tables[0].Rows[i][2].ToString())] = 1;
                 }
             }
             int[] ter_soed = new int[m];
             for (int dh = 0; dh < m;)                                                                                        //текущее соединение
             {
                 for (int gh = 0; gh < dataset_y.Tables[0].Rows.Count; gh++)                                                  //текущая запись в трэк опшинс перебираем
                 {
                     if (dh == int.Parse(dataset_y.Tables[0].Rows[gh][1].ToString()))                                         //если запись трек опшенс принадлежит этому соединению
                     {
                         for (int zh = 0; zh < dataset_chan.Tables[0].Rows.Count; zh++)                                       //текущая запись в перечне каналов перебираем
                         {
                             if (dataset_y.Tables[0].Rows[gh][2].ToString() == dataset_chan.Tables[0].Rows[zh][0].ToString()) //если в текущей записи трэка содержится текущий канал
                             {
                                 if (int.Parse(dataset_chan.Tables[0].Rows[zh][2].ToString()) == sol.matrix_y[dh, ter_soed[dh]])
                                 {
                                     ter_soed[dh]++;
                                     sol.matrix_y[dh, ter_soed[dh]] = int.Parse(dataset_chan.Tables[0].Rows[zh][3].ToString());
                                     sol.dist_put_all[dh]          += double.Parse(dataset_chan.Tables[0].Rows[zh][4].ToString());
                                 }
                                 else if (int.Parse(dataset_chan.Tables[0].Rows[zh][3].ToString()) == sol.matrix_y[dh, ter_soed[dh]])
                                 {
                                     ter_soed[dh]++;
                                     sol.matrix_y[dh, ter_soed[dh]] = int.Parse(dataset_chan.Tables[0].Rows[zh][2].ToString());
                                     sol.dist_put_all[dh]          += double.Parse(dataset_chan.Tables[0].Rows[zh][4].ToString());
                                 }
                             }
                         }
                     }
                 }
                 if (ter_soed[dh] == sol.matrix_kol_versh_v_soed[dh] - 1)
                 {
                     dh++;
                 }
             }
         }
         else
         {
             if (m != project.countCon)
             {
                 m_det = 0;
                 m     = project.countCon;
                 dataGridView1_setDefault_Con();
                 matrix_con = new int[n, n];
             }
             else if (n != project.countDevices)
             {
                 m_det       = 0;
                 n           = project.countDevices;
                 matrix_chan = new double[n, n];
                 matrix_con  = new int[n, n];
                 dataGridView1.ColumnCount = dataGridView1.RowCount = n;
                 dataGridView1_setDefault_Chan();
                 dataGridView1_setDefault_Con();
             }
         }
     }
 }