Моделирование механизмов защиты компьютерной системы, страница 8

·  login – логин, строка

Выходные данные:

·  АутОбъект – аутентифицирующий объект

Определение математических и логических зависимостей

Удаление строки в АутОбъектlogin.mDostupa

Код программы

private void button10_Click(object sender, EventArgs e)

        {

            if (textBox6.Text != "")

            {

                bool flag = true;

                string[,] bufM = new string[Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0] - 1, Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]];

                for (int i = 0; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0] - 1; i++)

                    for (int j = 0; j < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]; j++)

                    {

                        if (Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j] != textBox6.Text)

                        {

                            bufM[i, j] = Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j];

                        }

                        else

                            flag = false;

                        if (!flag)

                            bufM[i, j] = Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i + 1, j];

                    }

                Global.АутОбъект[listBox1.SelectedIndex].mDostupa = new string[Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0] - 1, Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]];

                Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]--;

                for (int i = 0; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]; i++)

                    for (int j = 0; j < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1]; j++)

                        Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j] = bufM[i, j];

                dataGridView1.RowCount = Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0] - 1;

                dataGridView1.ColumnCount = Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1] - 1;

                for (int i = 1; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]; i++)

                {

                    dataGridView1.Rows[i - 1].HeaderCell.Value = Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, 0];

                }

                textBox6.Text = "";

            }

            else MessageBox.Show("Поле не может быть пустым!", "Ошибка!");

Удаление объекта

Словесное описание

Удаляет объект-столбец из матрицы доступа и все содержимое данного столбца

Формализация входных и выходных данных

Входные данные:

·  АутОбъект – аутентифицирующий объект

·  login – логин, строка

Выходные данные:

·  АутОбъект – аутентифицирующий объект

Определение математических и логических зависимостей

Удаление столбца в АутОбъектlogin.mDostupa

Код программы

private void button11_Click(object sender, EventArgs e)

        {

            if (textBox6.Text != "")

            {

                string[,] bufM = new string[Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0], Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1] - 1];

                bool flag = true;

                for (int i = 0; i < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[0]; i++)

                    for (int j = 0; j < Global.АутОбъект[listBox1.SelectedIndex].sizeMDostupa[1] - 1; j++)

                    {

                        if (Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j] != textBox7.Text)

                        {

                            bufM[i, j] = Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j];

                        }

                        else

                            flag = false;

                        if (!flag)

                            bufM[i, j] = Global.АутОбъект[listBox1.SelectedIndex].mDostupa[i, j + 1];

                    }