Example #1
0
        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];
                }
            }
        }
Example #2
0
        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);
            }
        }