Esempio n. 1
0
 public void Check(out byte k, out int n, out int n0)
 {
     k = 0;
     n = n0 = 0;
     listBox1.Items.Clear();
     try
     {
         a1 = int.TryParse(textBox1.Text, out n);
         a2 = int.TryParse(textBox6.Text, out n0);
     }
     catch (FormatException)
     {
         textBox1.Text = textBox1.Text.Replace('.', ',');
         textBox6.Text = textBox6.Text.Replace('.', ',');
     };
     if (textBox1.Text == "" | textBox6.Text == "")
     {
         Notification.Value = "Введите границы диапазона!";
         form2.ShowDialog();
         k++;
     }
     else if ((n0 > n) | (n0 <= 0) | (n <= 0) | (a1 = false) | (a2 = false)) //проверка корректности введённых чисел
     {
         Notification.Value = "Неправильные границы диапазона! (Необходимо n0<n, n0,n>0, n0,n - целые)";
         form2.ShowDialog();
         k++;
     }
 }
Esempio n. 2
0
        private void Button2_Click(object sender, EventArgs e)
        {
            string        Connect      = connectString;
            SqlConnection myConnection = new SqlConnection(Connect);

            myConnection.Open();
            SqlDataAdapter    da1        = new SqlDataAdapter();
            SqlCommandBuilder cmdBuilder = new SqlCommandBuilder(da1);

            da1.SelectCommand = new SqlCommand(query0_1, myConnection);
            da1.UpdateCommand = cmdBuilder.GetUpdateCommand();
            try
            {
                da1.Update((DataTable)dataGridView1.DataSource);
            }
            catch (SqlException)
            {
                Notification.Value = "Ошибка внесения изменений в БД - нарушение последовательности заполнения таблиц!";
                form2.ShowDialog();
            }
            myConnection.Close();
        }
        public static string FileSaver(NotificationForm form) //возврат 2-х переменных
        {
            SaveFileDialog SFD = new SaveFileDialog();        //создание объекта, соответствуюшего диалоговому окну сохранения файла

            SFD.Title = "Выберите файл для записи";           //название диалогового окна

            DialogResult SD = SFD.ShowDialog();               //результат диалогового окна (нажатие клавиш "ОК" или "Cancel" или закрытие окна)

            if (SD == DialogResult.OK)                        //если файл выбран
            {
                string path1 = SFD.FileName;                  //полный путь к сохраняемому файлу
                Notification.Value = "Файл сохранён в " + path1;
                form.ShowDialog();
                return(SFD.FileName);
            }
            else
            {
                Notification.Value = "Вы отменили сохранение, файл не сохранён!";
                form.ShowDialog();
                return("");
            }
        }
Esempio n. 4
0
        private void Button1_Click(object sender, EventArgs e)
        {
            List <WORKER> w = first_xml_table();

            n = w.Count;
            XDocument xdoc = new XDocument();
            //XmlElement xRoot = xdoc.DocumentElement;
            XElement xworkers = new XElement("Работники");

            xworkers = xml_creator(xworkers, n, w);
            xdoc.Add(xworkers);
            string path = FileSaver_path();

            try
            {
                xdoc.Save(path);
            }
            catch (Exception ex)
            {
                Notification.Value = ex.Message;
                form2.ShowDialog();
            }
        }
        static double[][] MatrixInverse(double[][] matrix, NotificationForm form)
        {
            int n = matrix.Length;

            double[][] result = MatrixDuplicate(matrix);
            int[]      perm;
            int        toggle;

            double[][] lum = MatrixDecompose(matrix, out perm, out toggle);
            if (lum == null)
            {
                Notification.Value = "Не удаётся вычислить обратную матрицу! (det=0)";
                form.ShowDialog();
                return(null);
            }
            double[] b = new double[n];
            for (int i = 0; i < n; ++i)
            {
                for (int j = 0; j < n; ++j)
                {
                    if (i == perm[j])
                    {
                        b[j] = 1.0;
                    }
                    else
                    {
                        b[j] = 0.0;
                    }
                }
                double[] x = HelperSolve(lum, b);
                for (int j = 0; j < n; ++j)
                {
                    result[j][i] = x[j];
                }
            }
            return(result);
        }
        private void Button1_Click(object sender, EventArgs e)
        {
            // 1. Чтение размерности матрицы
            if (textBox1.Text == "")
            {
                Notification.Value = "Введите размерность квадратной матрицы!";
                form2.ShowDialog();
                return;
            }
            try
            {
                n = int.Parse(textBox1.Text);
            }
            catch (FormatException)
            {
                Notification.Value = "Размерность должна быть натуральным числом";
                form2.ShowDialog();
                return;
            }
            Matr1 = MatrixCreate(n, n);
            if (MatrText == null)
            {
                MatrText = MatrMaker(n);
            }
            else
            {
                Clear_MatrText();
                int MaxX = MatrText.GetLength(0);
                int MaxY = MatrText.GetLength(1);
                for (int i = 0; i < MaxX; i++)
                {
                    for (int j = 0; j < MaxY; j++)
                    {
                        form4.Controls.Remove(MatrText[i, j]);
                    }
                }
                MatrText = MatrMaker(n);
            }
            // 2. Обнуление ячейки MatrText

            // 3. Настройка свойств ячеек матрицы MatrText
            //    с привязкой к значению n и форме Form2
            for (int i = 0; i < n; i++)
            {
                for (int j = 0; j < n; j++)
                {
                    // 3.1. Порядок табуляции
                    MatrText[i, j].TabIndex = i * n + j + 1;
                    // 3.2. Сделать ячейку видимой
                    MatrText[i, j].Visible = true;
                }
            }

            // 4. Корректировка размеров формы
            form4.Width  = 10 + n * dx + 20;
            form4.Height = 10 + n * dy + form4.button1.Height + 50;

            // 5. Корректировка позиции и размеров кнопки на форме Form2
            form4.button1.Left  = 10;
            form4.button1.Top   = 10 + n * dy + 10;
            form4.button1.Width = form4.Width - 30;

            // 6. Название формы
            form4.Text = "Ввод матрицы";

            // 7. Вызов формы Form2
            if (form4.ShowDialog() == DialogResult.OK)
            {
                // 8. Перенос строк из формы Form2 в матрицу Matr1
                for (int j = 0; j < n; j++)
                {
                    for (int i = 0; i < n; i++)
                    {
                        if (MatrText[j, i].Text != "")
                        {
                            try
                            {
                                Matr1[j][i] = double.Parse(MatrText[j, i].Text);
                            }
                            catch (FormatException)
                            {
                                Notification.Value = string.Format("Неправильный формат ввода для ({0};{1}) элемента матрицы. Проверьте исходные данные!", i + 1, j + 1);
                                form2.ShowDialog();
                                return;
                            }
                        }
                        else
                        {
                            Matr1[j][i] = 0;
                        }
                    }
                }
                // 9. Данные в матрицу Matr1 внесены
                f1          = true;
                label2.Text = "Матрица введена";
            }
        }