private void PanelMethod_5_p_encrypt_btn_Click(object sender, EventArgs e) { panelMethod_5_p_encrypt_out.Text = ""; // создаём таблцу List <List <string> > table; // записываем инфу в таблицу { List <string> row; // создаём вторую таблицу List <List <string> > Second_rows = new List <List <string> >() { }; // записываев информацию в 2 таблицу { // Создаём первую таблицу List <List <string> > First_rows = new List <List <string> >() { }; // Создаём первоначальную таблицу { row = new List <string>() { }; // добавление первую строчку row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(c.ToString()); } First_rows.Add(row); row = new List <string>() { }; // добавление цифр из текста row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(Convert.ToString(Convert.ToInt32(c))); } First_rows.Add(row); row = new List <string>() { }; int Count_Elem_in_rows = 0; foreach (var First_column in panelMethod_5_p_keys_key_2.Text) { row.Add(First_column.ToString()); for (int i = 0; i < panelMethod_5_p_keys_key_1.Text.Length; i++) { row.Add(panelMethod_5_p_encrypt_in.Text[i + Count_Elem_in_rows].ToString()); } First_rows.Add(row); Count_Elem_in_rows += panelMethod_5_p_keys_key_1.Text.Length; row = new List <string>() { }; } } // Создаём вторую таблицу List <List <string> > tmp = new List <List <string> >() { }; // переворачиваем таблицу row = new List <string>() { }; for (int i = 0; i < First_rows[0].Count; i++) { for (int j = 0; j < First_rows.Count; j++) { row.Add(First_rows[j][i]); } tmp.Add(row); row = new List <string>() { }; } // сортируем First_rows.Clear(); tmp[0][1] = "0"; List_Rows_Comparer lrC = new List_Rows_Comparer(); tmp.Sort(lrC); tmp[0][1] = " "; // переворачиваем обратно row = new List <string>() { }; for (int i = 0; i < tmp[0].Count; i++) { for (int j = 0; j < tmp.Count; j++) { row.Add(tmp[j][i]); } Second_rows.Add(row); row = new List <string>() { }; } } // Сортируем 2 таблицу Second_rows[0][0] = "-1"; Second_rows[1][0] = "0"; for (int i = 0; i < Second_rows.Count; i++) { Second_rows[i].Insert(1, Second_rows[i][0]); } List_Rows_Comparer lrC1 = new List_Rows_Comparer(); Second_rows.Sort(lrC1); Second_rows[0][0] = " "; Second_rows[1][0] = " "; for (int i = 0; i < Second_rows.Count; i++) { Second_rows[i].RemoveAt(1); } table = Second_rows; } for (int i = 2; i < table.Count; i++) { for (int j = 1; j < table[i].Count; j++) { panelMethod_5_p_encrypt_out.Text += table[i][j]; } } }
private void PanelMethod_5_generate_table(int v) { panelMethod_5_p_table_dataGrid.Rows.Clear(); if (panelMethod_5_p_encrypt_in.Text.Length < panelMethod_5_p_keys_key_1.Text.Length * panelMethod_5_p_keys_key_2.Text.Length) { int count_add_null_elem = Math.Abs(panelMethod_5_p_encrypt_in.Text.Length - panelMethod_5_p_keys_key_1.Text.Length * panelMethod_5_p_keys_key_2.Text.Length); for (int i = 0; i < count_add_null_elem; i++) { panelMethod_5_p_encrypt_in.Text += " "; } } List <List <string> > rows = new List <List <string> >() { }; List <string> row = new List <string>() { }; switch (v) { case 1: { // добавление первую строчку row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(c.ToString()); } rows.Add(row); row = new List <string>() { }; // добавление цифр из текста row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(Convert.ToString(Convert.ToInt32(c))); } rows.Add(row); row = new List <string>() { }; int Count_Elem_in_rows = 0; foreach (var First_column in panelMethod_5_p_keys_key_2.Text) { row.Add(First_column.ToString()); for (int i = 0; i < panelMethod_5_p_keys_key_1.Text.Length; i++) { row.Add(panelMethod_5_p_encrypt_in.Text[i + Count_Elem_in_rows].ToString()); } rows.Add(row); Count_Elem_in_rows += panelMethod_5_p_keys_key_1.Text.Length; row = new List <string>() { }; } break; } case 2: { // Создаём первую таблицу List <List <string> > First_rows = new List <List <string> >() { }; // Создаём первоначальную таблицу { row = new List <string>() { }; // добавление первую строчку row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(c.ToString()); } First_rows.Add(row); row = new List <string>() { }; // добавление цифр из текста row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(Convert.ToString(Convert.ToInt32(c))); } First_rows.Add(row); row = new List <string>() { }; int Count_Elem_in_rows = 0; foreach (var First_column in panelMethod_5_p_keys_key_2.Text) { row.Add(First_column.ToString()); for (int i = 0; i < panelMethod_5_p_keys_key_1.Text.Length; i++) { row.Add(panelMethod_5_p_encrypt_in.Text[i + Count_Elem_in_rows].ToString()); } First_rows.Add(row); Count_Elem_in_rows += panelMethod_5_p_keys_key_1.Text.Length; row = new List <string>() { }; } } // Создаём вторую таблицу List <List <string> > Second_rows = new List <List <string> >() { }; // переворачиваем таблицу row = new List <string>() { }; for (int i = 0; i < First_rows[0].Count; i++) { for (int j = 0; j < First_rows.Count; j++) { row.Add(First_rows[j][i]); } Second_rows.Add(row); row = new List <string>() { }; } // сортируем First_rows.Clear(); Second_rows[0][1] = "0"; List_Rows_Comparer lrC = new List_Rows_Comparer(); Second_rows.Sort(lrC); Second_rows[0][1] = " "; // переворачиваем обратно row = new List <string>() { }; for (int i = 0; i < Second_rows[0].Count; i++) { for (int j = 0; j < Second_rows.Count; j++) { row.Add(Second_rows[j][i]); } rows.Add(row); row = new List <string>() { }; } break; } case 3: { // создаём вторую таблицу List <List <string> > Second_rows = new List <List <string> >() { }; // записываев информацию в 2 таблицу { // Создаём первую таблицу List <List <string> > First_rows = new List <List <string> >() { }; // Создаём первоначальную таблицу { row = new List <string>() { }; // добавление первую строчку row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(c.ToString()); } First_rows.Add(row); row = new List <string>() { }; // добавление цифр из текста row.Add(" "); foreach (var c in panelMethod_5_p_keys_key_1.Text) { row.Add(Convert.ToString(Convert.ToInt32(c))); } First_rows.Add(row); row = new List <string>() { }; int Count_Elem_in_rows = 0; foreach (var First_column in panelMethod_5_p_keys_key_2.Text) { row.Add(First_column.ToString()); for (int i = 0; i < panelMethod_5_p_keys_key_1.Text.Length; i++) { row.Add(panelMethod_5_p_encrypt_in.Text[i + Count_Elem_in_rows].ToString()); } First_rows.Add(row); Count_Elem_in_rows += panelMethod_5_p_keys_key_1.Text.Length; row = new List <string>() { }; } } // Создаём вторую таблицу List <List <string> > tmp = new List <List <string> >() { }; // переворачиваем таблицу row = new List <string>() { }; for (int i = 0; i < First_rows[0].Count; i++) { for (int j = 0; j < First_rows.Count; j++) { row.Add(First_rows[j][i]); } tmp.Add(row); row = new List <string>() { }; } // сортируем First_rows.Clear(); tmp[0][1] = "0"; List_Rows_Comparer lrC = new List_Rows_Comparer(); tmp.Sort(lrC); tmp[0][1] = " "; // переворачиваем обратно row = new List <string>() { }; for (int i = 0; i < tmp[0].Count; i++) { for (int j = 0; j < tmp.Count; j++) { row.Add(tmp[j][i]); } Second_rows.Add(row); row = new List <string>() { }; } } // Сортируем 2 таблицу Second_rows[0][0] = "-1"; Second_rows[1][0] = "0"; for (int i = 0; i < Second_rows.Count; i++) { Second_rows[i].Insert(1, Second_rows[i][0]); } List_Rows_Comparer lrC1 = new List_Rows_Comparer(); Second_rows.Sort(lrC1); Second_rows[0][0] = " "; Second_rows[1][0] = " "; for (int i = 0; i < Second_rows.Count; i++) { Second_rows[i].RemoveAt(1); } rows = Second_rows; break; } } //// Вносим даные в лист Table //for (var i = 0; i < 30; i++) // Table.Insert(i, tmp[i].ToString()); foreach (var _row in rows) { PanelMethod_5_add_row_to_table(_row); } }