Прохождения учебной практики 


Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Прохождения учебной практики



МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение

высшего образования

«Санкт-Петербургский политехнический университет Петра Великого»

(ФГАОУ ВО «СПбПУ»)

Институт среднего профессионального образования

 

 

ОТЧЕТ

По учебной практике

 

по профессиональному модулю

ПМ.04 «Сопровождение и обслуживание программного обеспечения компьютерных систем»   

(код и наименование)

Специальность 09.02.07 «Информационные системы и программирование

(код и наименование специальности)

Студента   2 курса    22919/4 группы

Журкевич Марк Валерьевич                                                                                                  

 (Фамилия, имя, отчество)

Место прохождения практики

ФГАОУ ВО «СПбПУ» ИСПО ВЦ, пр. Энгельса, 23

 


(наименование и адрес организации)

 

 

Период прохождения практики

 

с «16» марта 2020 г. по «04» апреля 2020 г.

 

Руководитель практики:

 

              ______________     ___ Девятко Н.С.             

                       (подпись)                   (Ф.И.О. расшифровка подписи)

 

Итоговая оценка по практике  ____________________

 

Санкт-Петербург

2020

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение

высшего образования

«Санкт-Петербургский политехнический университет Петра Великого»

(ФГАОУ ВО «СПбПУ»)

Институт среднего профессионального образования

Задание на учебную практику

по профессиональному модулю

ПМ.04 «Сопровождение и обслуживание программного обеспечения компьютерных систем»   

(код и наименование)

Специальность 09.02.07 «Информационные системы и программирование

(код и наименование специальности)

Студента   2 курса    22919/4 группы

Журкевич Марк Валерьевич                                                                                                  

 (Фамилия, имя, отчество)

Место прохождения практики

ФГАОУ ВО «СПбПУ» ИСПО ВЦ, пр. Энгельса, 23

 


(наименование и адрес организации)

 

 

Период прохождения практики

 

с «16» марта 2020 г. по «04» апрель 2020 г.

 

Виды работ, обязательные для выполнения (переносится из программы, соответствующего ПМ)

1 Персонализация интегрированной среды разработки Visual Studio

2 Отладка в Visual Studio

3 Обеспечение качества кода

4 Упаковка приложения

5 Работа с реестром

6 Создание Unit test

7 Контроль версий

 

 

Задание выдал «16» ___ марта __ 2020 г.          _______________            Девятко Н.С.

                                                                                                                 (подпись)                                (Ф.И.О.)

С заданием ознакомлен

 

 «16» __ марта _____ 2020 г.                                _______________      Журкевич М.В.

                                                                                                                  (подпись)                           (Ф.И.О.)

МИНИСТЕРСТВО НАУКИ И ВЫСШЕГО ОБРАЗОВАНИЯ РОССИЙСКОЙ ФЕДЕРАЦИИ

федеральное государственное автономное образовательное учреждение

высшего образования

«Санкт-Петербургский политехнический университет Петра Великого»

(ФГАОУ ВО «СПбПУ»)

Институт среднего профессионального образования

 

ДНЕВНИК

Содержание дневника

Дата Виды выполненных работ и заданий по программе практик Подпись руководителя практики
1 2 3
16.03  Изменение шрифтов и цветов  
17.03 Настройка меню и панели инструментов  
18.03 Параметры текстового редактора  
19.03 Создание кода и текстового шаблона  
20.03 Навигация по коду с помощью отладчика  
16.03 Использование точек останова  
23.03 Управление исключениями с помощью отладчика  
24.03 Использование карт кода для отладки приложений  
25.03 Использование файлов дампа  
25.03 Использование средств профилирования  
26.03 Определение потребляемых ресурсов программой  
27.03 Тестирование в Visual Studio  
30.03 Документирование кода с помощью XML-комментариев  
30.03 Изменение кода в соответствии с соглашением о кодировании  
31.03 Анализ качества кода  
01.04 Работа с реестром ОС Windows  
02.04 Упаковка классического приложения вручную  
03.04 Упаковка приложения с помощью Visual Studio Package Installer  

 


 

АТТЕСТАЦИОННЫЙ ЛИСТ

 ПО УЧЕБНОЙ ПРАКТИКЕ

по профессиональному модулю

ПМ.04 «Сопровождение и обслуживание программного обеспечения компьютерных систем»   

(код и наименование)

Специальность 09.02.07 «Информационные системы и программирование

(код и наименование специальности)

Студента   2 курса    22919/4 группы

Журкевич Марк Валерьевич                                                                                                  

 (Фамилия, имя, отчество)

Место прохождения практики

ФГАОУ ВО «СПбПУ» ИСПО ВЦ, пр. Энгельса, 23

 


(наименование и адрес организации)

 

 

Период прохождения практики

 

с «16» марта 2020 г. по «04» апреля 2020 г.

 

 

Visual Studio

1.1 Параметры текстового редактора


1.2 Изменение шрифтов и цветов


1.3 Настройка меню и панели инструментов

1.4 Настройка макетов окон 1.5 Экспорт настроек

Вариант 7.

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication1

{

public partial class Form1: Form

{

   public Form1()

   {

       InitializeComponent();

   }

 

   private void button1_Click(object sender, EventArgs e)

   {

           double ygol = Convert.ToDouble(textBox1.Text);

           if (radioButton1.Checked)

               ygol *= Math.PI / 180;

           double z1, z2;

           z1 = (Math.Pow((Math.Cos(3d / 8 * Math.PI - ygol / 4)), 2)) - (Math.Pow((Math.Cos(11d / 8 * Math.PI + ygol / 4)), 2));

           z2 = (Math.Sqrt(2) / 2) * Math.Sin(ygol/2);

           label2.Text = "z1=" + z1.ToString() + Environment.NewLine + "z2=" + z2.ToString();

   }

 

   private void label2_MouseEnter(object sender, EventArgs e)

   {

       label2.BackColor = Color.Red;

   }

 

   private void label2_MouseLeave(object sender, EventArgs e)

   {

       label2.BackColor = Color.White;

   }

 

   private void textBox1_KeyPress(object sender, KeyPressEventArgs e)

   {

       if (Char.IsDigit(e.KeyChar) || (e.KeyChar == ',' && textBox1.Text.IndexOf(',') == -1) || e.KeyChar == (char)Keys.Back)

           return;

       e.KeyChar = '\0';

   }

 

   private void textBox1_TextChanged(object sender, EventArgs e)

   {

       if (textBox1.Text!= "")

           button1.Enabled = true;

       else

           button1.Enabled = false;

   }

}

}


 

Отладка в Visual Studio

Вариант 7

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication5

{

public partial class Form1: Form

{

   public Form1()

   {

       InitializeComponent();

       off();

   }

 

   private void button1_Click(object sender, EventArgs e)

   {

       label1.Text = Convert.ToString(Class1.rast(Convert.ToDouble(textBox1.Text), Convert.ToDouble(textBox2.Text), Convert.ToDouble(textBox3.Text), Convert.ToDouble(textBox4.Text)));

   }

 

   private void textBox_KeyPress(object sender, KeyPressEventArgs e)

   {

       TextBox btn = sender as TextBox;

       if (Char.IsDigit(e.KeyChar) || (e.KeyChar == ',' && btn.Text.IndexOf(',') == -1) || (e.KeyChar == '-' && btn.Text.IndexOf('-') == -1) || e.KeyChar == (char)Keys.Back)

           return;

       e.KeyChar = '\0';

   }

 

   private void textBox_TextChanged(object sender, EventArgs e)

   {

       if (textBox1.Text!= "" && textBox2.Text!= "" && textBox3.Text!= ""&& textBox4.Text!= "")

           button1.Enabled = true;

       else

           button1.Enabled = false;

       if (textBox6.Text!= "" && textBox7.Text!= "" && textBox8.Text!= "" && textBox9.Text!= "" && textBox10.Text!= "" && textBox11.Text!= "" && textBox12.Text!= "" && textBox13.Text!= "" && textBox14.Text!= "" && textBox15.Text!= "" && textBox16.Text!= "" && textBox17.Text!= "")

           button2.Enabled = true;

       else

           button2.Enabled = false;

   }

   public void off()

   {

       textBox6.Enabled = false;

       textBox7.Enabled = false;

       textBox8.Enabled = false;

       textBox9.Enabled = false;

       textBox10.Enabled = false;

       textBox11.Enabled = false;

       textBox12.Enabled = false;

       textBox13.Enabled = false;

       textBox14.Enabled = false;

       textBox15.Enabled = false;

       textBox16.Enabled = false;

       textBox17.Enabled = false;

   }

 

   private void button2_Click(object sender, EventArgs e)

   {

       if (radioButton1.Checked == true)

       {

           Random rand = new Random();

           int r = Convert.ToInt32(textBox5.Text);

           double[] x = new double[r];

           double[] y = new double[r];

           for (int i = 0; i < r; i++)

           {

               x[i] = rand.Next(-100, 100);

               y[i] = rand.Next(-100, 100);

           }

           label6.Text = Class1.Min(x, y);

           label22.Text = "Минимальное расстояние между точками: ";

       }

       else if (radioButton2.Checked == true)

       {

           int r = Convert.ToInt32(textBox5.Text);

           double[] x = new double[r];

           double[] y = new double[r];

           x[0] = Convert.ToDouble(textBox9.Text);

           y[0] = Convert.ToDouble(textBox8.Text);

           x[1] = Convert.ToDouble(textBox7.Text);

           y[1] = Convert.ToDouble(textBox6.Text);

           if (r>=3)

           {

               x[2] = Convert.ToDouble(textBox13.Text);

               y[2] = Convert.ToDouble(textBox12.Text);

               if (r >= 4)

               {

                   x[3] = Convert.ToDouble(textBox11.Text);

                   y[3] = Convert.ToDouble(textBox10.Text);

                   if (r >= 5)

                   {

                       x[4] = Convert.ToDouble(textBox17.Text);

                       y[4] = Convert.ToDouble(textBox16.Text);

                       if (r >= 6)

                       {

                           x[5] = Convert.ToDouble(textBox15.Text);

                           y[5] = Convert.ToDouble(textBox14.Text);

                       }

                   }

               }

              }

           label6.Text = Class1.Min(x, y);

           label22.Text = "Минимальное расстояние между точками: ";

       }

   }

 

   public void textBox5_TextChanged(object sender, EventArgs e)

   {

       off();

       if (textBox5.Text!= "" && Convert.ToInt32(textBox5.Text) > 1)

       {

           button2.Enabled = true;

           int r = Convert.ToInt32(textBox5.Text);

           {

               if (radioButton2.Checked)

                   if (r >= 2)

                   {

                       textBox6.Enabled = true;

                       textBox7.Enabled = true;

                       textBox8.Enabled = true;

                       textBox9.Enabled = true;

                       if (r >= 3)

                       {

                           textBox13.Enabled = true;

                           textBox12.Enabled = true;

                           if (r >= 4)

                           {

                               textBox11.Enabled = true;

                               textBox10.Enabled = true;

                               if (r >= 5)

                               {

                                   textBox16.Enabled = true;

                                   textBox17.Enabled = true;

                                   if (r >= 6)

                                   {

                                       on();

                                   }

                               }

                           }

                       }

                   }

                   else

                   {

                       off();

                   }

           }

       }

       else

           button2.Enabled = false;

           

   }

   private void textBox_KeyPress1(object sender, KeyPressEventArgs e)

   {

       TextBox btn = sender as TextBox;

       if (Char.IsDigit(e.KeyChar) || e.KeyChar == (char)Keys.Back)

           return;

       e.KeyChar = '\0';

   }

 

   private void radioButton1_CheckedChanged(object sender, EventArgs e)

   {

       off();

   }

 

   private void radioButton2_CheckedChanged(object sender, EventArgs e)

   {

       if (textBox5.Text == "")

           textBox5.Text = "2";

       int r = Convert.ToInt32(textBox5.Text);

       {

           if (radioButton2.Checked)

               if (r >= 2)

               {

                   textBox6.Enabled = true;

                   textBox7.Enabled = true;

                   textBox8.Enabled = true;

                   textBox9.Enabled = true;

                   if (r >= 3)

                   {

                       textBox13.Enabled = true;

                       textBox12.Enabled = true;

                       if (r >= 4)

                       {

                           textBox11.Enabled = true;

                           textBox10.Enabled = true;

                           if (r >= 5)

                           {

                               textBox16.Enabled = true;

                               textBox17.Enabled = true;

                               if (r >= 6)

                               {

                                   on();

                               }

                           }

                       }

                   }

               }

       }

   }

   public void on()

   {

       textBox6.Enabled = true;

       textBox7.Enabled = true;

       textBox8.Enabled = true;

       textBox9.Enabled = true;

       textBox10.Enabled = true;

       textBox11.Enabled = true;

       textBox12.Enabled = true;

       textBox13.Enabled = true;

       textBox14.Enabled = true;

       textBox15.Enabled = true;

       textBox16.Enabled = true;

       textBox17.Enabled = true;

   }

}

}

 

 

using System;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

 

namespace WindowsFormsApplication5

{

public class Class1

{

   public static double rast(double x1,double y1, double x2, double y2)

   {

       return Math.Sqrt(Math.Pow(x1 - x2,2) + Math.Pow(y1 - y2,2));

   }

 

   public static string Min(double[] x, double[] y)

   {

       double min = rast(x[0], y[0], x[1], y[1]);

       string a = "0 и 1 = ";

       for (int i = 0; i < x.Length; i++)

       {

           for (int ii = 0; ii < x.Length; ii++)

           {

               if (i!= ii)

               {

                   if (min > rast(x[i],y[i],x[ii],y[ii]))

                   {

                       min = rast(x[i], y[i], x[ii], y[ii]);

                       a = Convert.ToString(i) + " и " + Convert.ToString(ii) + " = ";

                   }

               }

           }

       }

       return a + min.ToString();

   }

}

}


 

Обеспечение качества кода

Самодокументируемый код


Соглашение о кодировании


Анализ качества кода

Метрика Джилба определяет логическую сложность программы как насыщенность программы условными операторами IF–THEN–ELSE. Обычно используются два вида метрики Джилба: CL — количество условных операторов, характеризующее абсолютную сложность программы; cl — насыщенность программы условными операторами, характеризующая относительную сложность программы; cl определяется как отношение CL к общему количеству операторов программы (здесь под оператором подразумевается оператор конкретного языка программирования в классическом представлении, а не в интерпретации Холстеда).

Расчет метрики Джилба:

CL = 18

cl = 0.12

CLI = 2

Таким образом, для алгоритма CL = 18; cl = 0,12; CLI = 2.

Тема 3: Обработка одномерных массивов

Вариант 7

 

Открытие файла.

 

 

Проверка работы алгоритма.

 

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication6

{

public partial class Form1: Form

{

   public Form1()

   {

       InitializeComponent();

       dataGridView1.RowCount = 1;

       rando();

       openFileDialog1.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";

   }

   /// <summary>

   /// Заполнение массива случайными значениями.

   /// </summary>

   public void rando()

   {

       Random rand = new Random();

       int r = Convert.ToInt32(textBox1.Text);

       dataGridView1.ColumnCount = r;

       int[] mas = new int[r];

       for (int i = 0; i < r; i++)

       {

           dataGridView1.Columns[i].Name = "Ячейка " + i.ToString();

           mas[i] = rand.Next() % 10;

           dataGridView1.Rows[0].Cells[i].Value = mas[i];

       }

   }

   /// <summary>

   /// Заполнение массива 0.

   /// </summary>

   public void zero()

   {

       int r = Convert.ToInt32(textBox1.Text);

       dataGridView1.ColumnCount = r;

       int[] mas = new int[r];

       for (int i = 0; i < r; i++)

       {

           dataGridView1.Columns[i].Name = "Ячейка " + i.ToString();

           mas[i] = 0;

           dataGridView1.Rows[0].Cells[i].Value = mas[i];

       }

   }

 

   private void button2_Click(object sender, EventArgs e)

   {

       int r = dataGridView1.ColumnCount;

       int[] mas = new int[r];

       for (int i = 0; i < r; i++)

       {

           mas[i] = Convert.ToInt32(dataGridView1.Rows[0].Cells[i].Value);

       }

       int min = mas[0], max = mas[0];

       for (int i = 0; i < r; i++)

       {

           if (min > mas[i])

               min = mas[i];

           if (max < mas[i])

               max = mas[i];

       }

       for (int i = 0, q = 0, w = 0; i < r; i++)

       {

           if ((q == 1 && w == 0) || (q == 0 && w == 1))

           {

               dataGridView1.Rows[0].Cells[i].Value = mas[i] * 2;

           }

           if (min == mas[i] && q == 0)

           {

               dataGridView1.Rows[0].Cells[i].Value = max;

               q++;

           }

           if (max == mas[i] && w == 0)

           {

               dataGridView1.Rows[0].Cells[i].Value = min;

               w++;

           }

       }

   }

 

   private void textBox1_TextChanged(object sender, EventArgs e)

   {

       if ((textBox1.Text!= "") && (Convert.ToInt32(textBox1.Text) <= 400) && (Convert.ToInt32(textBox1.Text) >= 2))

       {

           button2.Enabled = true;

           if (radioButton1.Checked)

               rando();

       }

       else

           button2.Enabled = false;

       if (button2.Enabled)

       {

           dataGridView1.ColumnCount = Convert.ToInt32(textBox1.Text);

       }

       if (radioButton2.Checked)

           zero();

   }

 

   private void KeyPress(object sender, KeyPressEventArgs e)

   {

       if (Char.IsDigit(e.KeyChar) || (e.KeyChar == (char)Keys.Back))

           return;

       e.KeyChar = '\0';

   }

 

   private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)

   {

       e.Control.KeyPress += new KeyPressEventHandler(KeyPress);

   }

 

   private void radioButton1_Click(object sender, EventArgs e)

   {

       dataGridView1.EditMode = DataGridViewEditMode.EditProgrammatically;

       rando();

   }

 

   private void radioButton2_Click(object sender, EventArgs e)

   {

       dataGridView1.EditMode = DataGridViewEditMode.EditOnKeystrokeOrF2;

   }

 

   private void button1_Click(object sender, EventArgs e)

   {

       if (openFileDialog1.ShowDialog() == DialogResult.Cancel)

           return;

       // Получаем выбранный файл.

       string filename = openFileDialog1.FileName;

       // Читаем файл в строку.

       string fileText = System.IO.File.ReadAllText(filename);

       // Разделяем строку на переменные.

       string[] list = fileText.Split(' ');

       int r = list.Length;

       textBox1.Text = r.ToString();

       int[] mas = new int[r];

       dataGridView1.ColumnCount = r;

       for (int i = 0; i < r; i++)

       {

           dataGridView1.Columns[i].Name = "Ячейка " + i.ToString();

           mas[i] = Convert.ToInt32(list[i]);

           dataGridView1.Rows[0].Cells[i].Value = mas[i];

       }

       MessageBox.Show("Файл: "+ filename+ " открыт!");

   }

}

}


 

Создание инсталляторов

Создание инсталляторов

Ярлык программы появился на рабочем столе и она отбразилась списке программ.

 


Вариант 7

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication8

{

public partial class Form1: Form

{

   public Form1()

   {

       InitializeComponent();

   }

 

   public bool tuda;

   int sec = 0;

   int w = 80, h = 80;

   int x = 1, y =20;

   int dx = 5;

 

   enum STATUS { Left, Right, Up, Down}; //направления движения

   STATUS flag;         //флаг изменения направления движения

   SolidBrush brush0 = new SolidBrush(Color.Red); // кисть

   SolidBrush brush1 = new SolidBrush(Color.Blue); // кисть

   Rectangle rc; //прямоугольная область, в которой находиться фигура

 

   // событие работы таймера с заданным интервалом

   private void timer1_Tick(object sender, EventArgs e)

   {

       sec++; // секунды

       rc = new Rectangle(x, y, w, h); // размер прямоугольной области

       this.Invalidate(rc, true); // вызываем прорисовку области

 

       if (w < 200)

       {

           if (flag == STATUS.Left)

               x -= dx;

           if (flag == STATUS.Right)

               x += dx;

           if (flag == STATUS.Up)

               y -= dx;

           if (flag == STATUS.Down)

               y += dx;

 

           if (x >= (this.ClientSize.Width - w)) // если достигли правого края формы

           {

               flag = STATUS.Left; // меняем статус движения на левый

               h++;

               w++;

           }

           else if (x <= 1) // если достигли левого края формы

           {

               flag = STATUS.Right; // меняем статус движения на правый

               h++;

               w++;

           }

 

           if (y >= (this.ClientSize.Height - w)) // если достигли края формы

           {

               flag = STATUS.Up; // меняем статус движения

               h++;

               w++;

           }

           else if (y <= 1) // если достигли края формы

           {

               flag = STATUS.Down; // меняем статус движения

               h++;

               w++;

           }

 

           rc = new Rectangle(x, y, w, h); // новая прямоугольная область

           this.Invalidate(rc, true); // вызываем прорисовку этой области

       }

   }

 

   private void Form1_Paint(object sender, PaintEventArgs e) // событие перерисовки формы

   {

       if (flag == STATUS.Left || flag == STATUS.Up)

           e.Graphics.FillEllipse(brush0, rc); // рисуем закрашенный эллипс

       else

           e.Graphics.FillEllipse(brush1, rc);

   }

 

   public int MySpeed

   {

       get

       {

           return 110 - timer1.Interval;

       }

       set

       {

           timer1.Interval = 110 - value;

       }

   }

 

   public Color MyColor0

   {

       get

       {

           return brush0.Color;

       }

       set

       {

           brush0.Color = value;

       }

   }

 

   private void button2_Click(object sender, EventArgs e)

   {

       w = 80;

       h = 80;

   }

 

   public Color MyColor1

   {

       get

       {

           return brush1.Color;

       }

       set

       {

           brush1.Color = value;

       }

   }

 

   private void button1_Click(object sender, EventArgs e)

   {

       Form2 f2 = new Form2();

       f2.Owner = this;

       f2.Show(this);

   }

    public void Rez(bool a)

   {

       if (a)

       {

           if (flag ==STATUS.Right)

               flag = STATUS.Left;

           else

               flag = STATUS.Right;

       }

       else

       {

           if (flag == STATUS.Up)

               flag = STATUS.Down;

           else

               flag = STATUS.Up;

       }

   }

}

}

 

using System;

using Microsoft.Win32;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication8

{

public partial class Form2: Form

{

   public Form2()

   {

       InitializeComponent();

   }

       

   private void button1_Click(object sender, EventArgs e)

   {

       this.Hide();

   }

 

   private void trackBar1_Scroll(object sender, EventArgs e)

   {

       Form1 f1 = Owner as Form1;

       f1.MySpeed = trackBar1.Value * 10;

   }

 

   private void button2_Click(object sender, EventArgs e)

   {

       Form1 f1 = Owner as Form1;

       if (colorDialog1.ShowDialog() == DialogResult.OK)

           f1.MyColor0 = colorDialog1.Color;

   }

 

   private void button3_Click(object sender, EventArgs e)

   {

       Form1 f1 = Owner as Form1;

       if (colorDialog2.ShowDialog() == DialogResult.OK)

           f1.MyColor1 = colorDialog2.Color;

   }

 

   private void radioButton1_CheckedChanged(object sender, EventArgs e)

   {

       Form1 f1 = Owner as Form1;

       f1.Rez(true);

   }

 

   private void radioButton2_CheckedChanged(object sender, EventArgs e)

   {

       Form1 f1 = Owner as Form1;

       f1.Rez(false);

   }

   public void Save(Color cl0, Color cl1, byte by, bool tr)

   {

       RegistryKey currentUserKey = Registry.CurrentUser;

       RegistryKey Key = currentUserKey.CreateSubKey("FreeKey");

       int r = cl0.R;

       int g = cl0.G;

       int b = cl0.B;

       int r1 = cl1.R;

       int g1 = cl1.G;

       int b1 = cl1.B;

       Key.SetValue("tr", tr);

       Key.SetValue("r0", r);

       Key.SetValue("g0", g);

       Key.SetValue("b0", b);

       Key.SetValue("r1", r1);

       Key.SetValue("g1", g1);

       Key.SetValue("b1", b1);

       Key.SetValue("Speed", by);

       Key.Close();

   }

 

   private void button4_Click(object sender, EventArgs e)

   {

       Save(colorDialog1.Color,colorDialog2.Color,Convert.ToByte(trackBar1.Value),radioButton1.Checked);

   }

 

   private void button5_Click(object sender, EventArgs e)

   {

       RegistryKey currentUserKey = Registry.CurrentUser;

       RegistryKey Key = currentUserKey.OpenSubKey("FreeKey");

       trackBar1.Value = Convert.ToInt32(Key.GetValue("Speed"));

       bool tr = Convert.ToBoolean(Key.GetValue("tr"));

       int r = Convert.ToInt32(Key.GetValue("r0"));

       int g = Convert.ToInt32(Key.GetValue("g0"));

       int b = Convert.ToInt32(Key.GetValue("b0"));

       int r1 = Convert.ToInt32(Key.GetValue("r1"));

       int g1 = Convert.ToInt32(Key.GetValue("g1"));

       int b1 = Convert.ToInt32(Key.GetValue("b1"));

       Key.Close();

       Form1 f1 = Owner as Form1;

       if (tr)

           radioButton1.Checked = true;

       else

           radioButton2.Checked = true;

       colorDialog1.Color = Color.FromArgb(r,g,b);

       f1.MyColor0 = colorDialog1.Color;

       colorDialog2.Color = Color.FromArgb(r1, g1, b1);

       f1.MyColor1 = colorDialog2.Color;

   }

}

}


 

Шифрование данных


Вариант 7

 

using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Threading.Tasks;

using System.Windows.Forms;

 

namespace WindowsFormsApplication9

{

public partial class Form1: Form

{

   const string SharedSecret = "rath/Haste. Grace or Discipline for survivability. Grace if with a group of ES users, Discipline if solo. HatrJ*()!G*Hjkasgasikg891gjh";

   public Form1()

   {

       InitializeComponent();

       openFileDialog1.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";

       openFileDialog2.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";

       saveFileDialog1.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";

       saveFileDialog2.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";

       saveFileDialog3.Filter = "Text files(*.txt)|*.txt|All files(*.*)|*.*";

   }

 

   private void button1_Click(object sender, EventArgs e)

   {

      if (openFileDialog1.ShowDialog() == DialogResult.Cancel)

           return;

       Slovar.fn = openFileDialog1.FileName;

       Slovar.File_To_List();

       load();

   }

 

   private void button2_Click(object sender, EventArgs e)

   {

       if (Slovar.Poisk(textBox1.Text)!= -1)

           MessageBox.Show("Найдено в строке: " + Slovar.Poisk(textBox1.Text).ToString(), "Поиск", MessageBoxButtons.OK);

       else

           MessageBox.Show("Не найдено.", "Не найдено", MessageBoxButtons.OK, MessageBoxIcon.Error);

   }

 

   private void button3_Click(object sender, EventArgs e)

   {

       if (Slovar.Poisk(textBox1.Text)!= -1)

           MessageBox.Show("Удалено в строке:" + Slovar.Ydoli(textBox1.Text).ToString(), "Del", MessageBoxButtons.OK);

       else

           MessageBox.Show("Не найдено.", "Не найдено", MessageBoxButtons.OK, MessageBoxIcon.Error);

       load();

   }

   public void load()

     {

       Slovar.list.Sort();

       textBox2.Text = "";

       for (int i = 0; i < Slovar.list.Count; i++)

           if (Slovar.list[i]!= "")

               if (i < Slovar.list.Count-1)

                   textBox2.Text += Slovar.list[i] + Environment.NewLine;

               else textBox2.Text += Slovar.list[i];

   }

 

   private void button4_Click(object sender, EventArgs e)

   {

       if (saveFileDialog1.ShowDialog() == DialogResult.Cancel)

           return;

       string filename = saveFileDialog1.FileName;

       System.IO.File.WriteAllText(filename, textBox2.Text);

       MessageBox.Show("Файл сохранен");

   }

 

   private void button5_Click(object sender, EventArgs e)

   {

       if (Slovar.Poisk(textBox1.Text) == -1)

       {

           Slovar.Dobavka(textBox1.Text);

           MessageBox.Show("Добавлено!", ":D", MessageBoxButtons.OK);

       }

       else

           MessageBox.Show("Уже существует!", "Повтор", MessageBoxButtons.OK, MessageBoxIcon.Error);

       load();

   }

 

   private void button6_Click(object sender, EventArgs e)

   {

       if (Slovar.PoiskPoSlogam(textBox1.Text)!= "")

           textBox3.Text = Slovar.PoiskPoSlogam(textBox1.Text);

       else

           MessageBox.Show("Не найдено.", "Не найдено", MessageBoxButtons.OK, MessageBoxIcon.Error);

   }

 

   private void button7_Click(object sender, EventArgs e)

   {

       if (saveFileDialog2.ShowDialog() == DialogResult.Cancel)

           return;

       string filename = saveFileDialog2.FileName;

       System.IO.File.WriteAllText(filename, textBox3.Text);

       MessageBox.Show("Файл сохранен");

   }

 

   private void button8_Click(object sender, EventArgs e)

   {

       var encryptedStringAES = Crypto.EncryptStringAES(textBox2.Text, SharedSecret);

       if (saveFileDialog1.ShowDialog() == DialogResult.Cancel)

           return;

       string filename = saveFileDialog1.FileName;

       System.IO.File.WriteAllText(filename, encryptedStringAES);

       MessageBox.Show("Файл зашифрован");

   }

 

   private void button9_Click(object sender, EventArgs e)

   {

       if (openFileDialog2.ShowDialog() == DialogResult.Cancel)

           return;

       string netxt = System.IO.File.ReadAllText(openFileDialog2.FileName);

       textBox2.Text = Crypto.DecryptStringAES(netxt, SharedSecret);

       Slovar.list = new List<string>(textBox2.Lines);

       load();

   }

}

 

class Slovar

{

   static public string fn = "Словарь.txt";

   static public List<string> list = new List<string>();

 

   static public bool File_To_List() // загрузить файл в список

   {

       list.Clear();

       try

       {

           System.IO.StreamReader f = new System.IO.StreamReader(fn);

           while (!f.EndOfStream)

           {

               list.Add(f.ReadLine());

           }

           f.Close();

           return true;

       }

       catch

       {

           MessageBox.Show("Ошибка доступа к файлу!", "Error", MessageBoxButtons.OK, MessageBoxIcon.Error);

           return false;

       }

   }

 

   static public int Ydoli(string slovo)

   {

       for (int i = 0; i < list.Count; i++)

       {

           if (list[i] == slovo && slovo!= "")

           {

               list[i] = "";

               return i;

           }

       }

       return -1;

   }

 

   static public void Dobavka(string slovo)

   {

       list.Add(slovo);

   }

 

   static public int Poisk(string slovo)

   {

       for (int i = 0; i < list.Count; i++)

       {

           if (list[i] == slovo && slovo!= "")

           {

               return i;

           }

       }

       return -1;

   }

   static public string PoiskPoSlogam(string slovo)

   {

       string otv = "";

       for (int i = 0; i < list.Count; i++)

       {

           for(int s = 0,q=0; s < slovo.Length; s++){

               if ((list[i].Length >=slovo.Length) && ((list[i])[s] == slovo[s]) && (slovo!= ""))

               {

                   ++q;

                   if (q == slovo.Length)

                       otv += list[i] + Environment.NewLine;

               }

           }

       }

       return otv;

   }

}

}

 

 

using System;

using System.IO;

using System.Security.Cryptography;

using System.Text;

 

namespace WindowsFormsApplication9

{

class Crypto

{

   private static readonly byte[] Salt = Encoding.ASCII.GetBytes("o6806642kbM7c5");

 

   /// <summary>

   /// Зашифровывает данную строку, используя AES. Строка может быть расшифрована с помощью

   /// DecryptStringAES(). Параметр sharedSecret должны совпадать.

   /// </summary>

   /// <param name="plainText">Текст для шифрования.</param>

   /// <param name="sharedSecret">Пароль, используемый для генерации ключа для шифрования.</param>



Поделиться:


Последнее изменение этой страницы: 2021-05-26; просмотров: 139; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 3.141.29.145 (0.816 с.)