Технология разработки приложения
Чтобы создать приложение, следует: 1) Открыть Microsoft Visual Studio 2010. 2) Выбрать пункт меню «Создать проект». 3) Выбрать в шаблоне С# «Приложение Windows Form» и нажать «ОК». 4) В открывшемся окне формы переносим компоненты из Панели элементов: а) RichTextBox - c помощью этого элемента управления пользователь может вводить и изменять текст. б) TabControl – обрабатывает и отображает для пользователя соответствующую коллекцию вкладок, содержащих элементы управления и компоненты. в) ToolStrip – предоставляет панели инструментов и другие элементы интерфейса пользователя, поддерживающих множество форматов представления элементов. г) Button – при нажатии возникает событие. д) NumericUpDown – отображает единичное числовое значение, которое пользователь может увеличить или уменьшить с помощью кнопок «вверх-вниз» элемента управления. е) Label – предоставляет элементу управления текс описания либо информацию во время выполнения. 5) Обработчик события метода Shifr1_Click отвечает за шифрование методом Цезаря. При нажатии кнопки «Шифрование» происходит кодирование текста. 6) Обработчик события метода DeShifr1_Click отвечает за дешифрование метода Цезаря. При нажатии кнопки «Дешифрование» происходит декодирование текста. 7) Обработчик события метода Shifr2_Click отвечает за шифрование методом Атбаш. При нажатии кнопки «Шифрование» происходит кодирование текста. 8) Нажать клавишу F5 и начать компиляцию программу. 9) Программа готова к использованию.
Описание программы
В обработчике событий Shifr1_Click происходит шифрование методом Цезаря и вывод кодированного сообщения в DeShifrText1: private void Shifr1_Click(object sender, EventArgs e) { int key = Convert.ToInt32(numericUpDown1.Value.ToString()); //количество сдвигов string s = ShifrText1.Text;//храню слово, которое будем шифровать string s1 = "";//храню результат шифрования string alf = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";//работаю с английским алфавитом string alfphabet = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя";//работаю с русским алфавитом for (int i = 0; i < s.Length; i++)//цикл перебора букв шифруемого слова { if (s[i].ToString() == " " || s[i].ToString() == "." || s[i].ToString() == "," || s[i].ToString() == ":" || s[i].ToString() == ";" || s[i].ToString() == "?" || s[i].ToString() == "!") // эти знаки печатаются без зашифровки { s1 = s1 + s[i]; } for (int j = 0; j < alfphabet.Length; j++)//цикл сравнения каждой бкувы с алфавитом { if (s[i] == alfphabet[j]) // в случае совпадения создаем темп, где храню номер буквы со сдвигом { int temp = j + 2*key;//номер буквы+сдвиг в темп while (temp >= alfphabet.Length)//чтобы темп не уходил за рамки алфавита temp -= alfphabet.Length; s1 = s1 + alfphabet[temp];//заношу зашифрованную букву в переменную для ее хранения } } for (int j = 0; j < alf.Length; j++)//цикл сравнения каждой буквы с алфавитом if (s[i] == alf[j]) { int temp = j + 2*key;//номер буквы-сдвиг в темп while (temp >= alf.Length)//чтобы темп не уходил за рамки алфавита temp -= alf.Length; s1 = s1 + alf[temp];//заношу зашифрованную букву в переменную для ее хранения } } DeShifrText1.Text = s1; } В обработчике событий DeShifr1_Click происходит декодирование сообщения, полученного раннее, которое тоже выводится на экран: private void DeShifr1_Click(object sender, EventArgs e) { int key = Convert.ToInt32(numericUpDown1.Value.ToString()); //количество сдвигов string s = ShifrText1.Text;//храню слово, которое будем шифровать string s1 = "";//храню результат шифрования string alf = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpQqRrSsTtUuVvWwXxYyZz";//работаю с английским алфавитом string alfphabet = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя";//работаю с русским алфавитом for (int i = 0; i < s.Length; i++)//цикл перебора букв шифруемого слова { if (s[i].ToString() == " " || s[i].ToString() == "." || s[i].ToString() == "," || s[i].ToString() == ":" || s[i].ToString() == ";" || s[i].ToString() == "?" || s[i].ToString() == "!") // эти знаки печатаются без зашифровки { s1 = s1 + s[i]; } for (int j = 0; j < alfphabet.Length; j++)//цикл сравнения каждой бкувы с алфавитом { if (s[i] == alfphabet[j]) // в случае совпадения создаем темп, где храню номер буквы со сдвигом { int temp = j - 2*key+66;//номер буквы+сдвиг в темп while (temp >= alfphabet.Length)//чтобы темп не уходил за рамки алфавита temp -= alfphabet.Length; s1 = s1 + alfphabet[temp];//заношу зашифрованную букву в переменную для ее хранения } } for (int j = 0; j < alf.Length; j++)//цикл сравнения каждой буквы с алфавитом if (s[i] == alf[j]) { int temp = j - 2*key;//номер буквы-сдвиг в темп while (temp >= alf.Length)//чтобы темп не уходил за рамки алфавита temp -= alf.Length; s1 = s1 + alf[temp];//заношу зашифрованную букву в переменную для ее хранения } } В обработчике событий Shifr2_Click происходит кодирование методом Атбаш: private void Shifr2_Click (object sender, EventArgs e) { string abc1 = "АаБбВвГгДдЕеЁёЖжЗзИиЙйКкЛлМмНнОоПпРрСсТтУуФфХхЦцЧчШшЩщЪъЫыЬьЭэЮюЯя"; string abc2 = "ЯяЮюЭэЬьЫыЪъЩщШшЧчЦцХхФфУуТтСсРрПпОоНнМмЛлКкЙйИиЗзЖжЁёЕеДдГгВвБбАа"; string abc3 = "AaBbCcDdEeFfGgHhIiJjKkLlMmNnOoPpRrSsTtUuVvWwXxYyZz"; string abc4 = "ZzYyXxWwVvUuTtSsRrPpOoNnMmLlKkJjIiHhGgFfEeDdCcBbAa"; string str1 = ""; string str2 = ShifrText2.Text; for (int i = 0; i < str2.Length; i++) { if (str2[i].ToString() == " " || str2[i].ToString() == "." || str2[i].ToString() == "," || str2[i].ToString() == ":" || str2[i].ToString() == ";" || str2[i].ToString() == "?" || str2[i].ToString() == "!") // определение знаков, которые печатаются без изменений { str1 = str1 + str2[i]; } for (int l = 0; l < abc1.Length; l++) if (str2[i] == abc1[l]) { str1 = str1 + abc2[l]; } for (int l = 0; l < abc4.Length; l++) if (str2[i] == abc4[l]) { str1 = str1 + abc3[l]; } } DeShifrText2.Text = str1 ; } В обработчике события выходToolStripMenuItem_Click_1 производится выход из приложения: private void выходToolStripMenuItem_Click_1(object sender, EventArgs e) { Close(); } В обработчике события цезарьToolStripMenuItem_Click происходит переход во вкладку кодирования методом Цезаря: private void цезарьToolStripMenuItem_Click(object sender, EventArgs e) { tabControl1.SelectTab(0); } В обработчике события атбашToolStripMenuItem_Click происходит переход во вкладку кодирования методом Атбаш: private void атбашToolStripMenuItem_Click(object sender, EventArgs e) { tabControl1.SelectTab(1); } В обработчике события о_программеToolStripMenuItem_Click открывает диалоговое окно «О программе»: private void о_программеToolStripMenuItem_Click(object sender, EventArgs e) { AboutBox1 box = new AboutBox1(); box.Show(); }
Популярное: Как построить свою речь (словесное оформление):
При подготовке публичного выступления перед оратором возникает вопрос, как лучше словесно оформить свою... Модели организации как закрытой, открытой, частично открытой системы: Закрытая система имеет жесткие фиксированные границы, ее действия относительно независимы... Почему двоичная система счисления так распространена?: Каждая цифра должна быть как-то представлена на физическом носителе... ©2015-2024 megaobuchalka.ru Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. (1020)
|
Почему 1285321 студент выбрали МегаОбучалку... Система поиска информации Мобильная версия сайта Удобная навигация Нет шокирующей рекламы |