private void calculation(NAngleEmprovedForm owner) { dataGridView1.RowCount = dataGridView1.RowCount + 1; accuracy = Convert.ToInt16(owner.GetAccuracy()); cells.SetCellsHeight(owner.GetHeight()); cells.SetAccuracy(accuracy); cells.Calculation(); if (!cells.isAvailable()) { string reason = "Степень - " + (dataGridView1.RowCount - 1) + " " + writeResults(); DialogResult dialogResult = MessageBox.Show("Не было найдено решение для условий - " + reason + Environment.NewLine + "Попробовать следущий шаг? (В противном случае, вычисления будут приостановлены)", "Предупреждение", MessageBoxButtons.YesNo); if (dialogResult == DialogResult.Yes) { return; } else if (dialogResult == DialogResult.No) { throw new ApplicationException(); } } dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[0].Value = cells.GetRowsNumber() * cells.GetColumnsNumber(); // количество ячеек try { ResearchActions(); } catch (Exception) { MessageBox.Show("Невозможно построить сетку"); return; } dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[3].Value = Convert.ToDouble(dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[1].Value) - Convert.ToDouble(dataGridView1.Rows[0].Cells[1].Value); // Напряжение dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[4].Value = Convert.ToDouble(dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[1].Value) * 100 / Convert.ToDouble(dataGridView1.Rows[0].Cells[1].Value); // % dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[5].Value = Convert.ToDouble(dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[2].Value) - Convert.ToDouble(dataGridView1.Rows[0].Cells[2].Value); // Деформация dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[6].Value = Convert.ToDouble(dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[2].Value) * 100 / Convert.ToDouble(dataGridView1.Rows[0].Cells[2].Value); // % dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[7].Value = cells.GetAnglesN(); // Количество углов if (owner.getAngleStart() == 3 || owner.getAngleStart() == 4 || owner.getAngleEnd() == 3 || owner.getAngleEnd() == 4) { dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[8].Value = 0; // Угол отклонения } else { dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[8].Value = cellsDraw.GetDifflection(); // Угол отклонения } dataGridView1.Rows[dataGridView1.RowCount - 1].Cells[9].Value = (cells.GetCellsV() * 100) / FreeClass.body.GetV(); // Часть от объёма }
private void cellsCalculate(AbstractAngle c, int columns) { c.SetColumnsNumber(columns); c.SetRowsNumber(columns); c.SetCellsHeight(Convert.ToDouble(textBox2.Text.Replace('.', ','))); c.SetAccuracy(Convert.ToInt16(textBox4.Text)); c.SetCellsV(FreeClass.body.GetV() * Convert.ToDouble(textBox3.Text.Replace('.', ',')) / 100); c.Calculation(); }
private void calculation(int angles) { if (angles == 4) { cells.SetCellsHeight(Convert.ToDouble(textBox2.Text.Replace('.', ','))); cells.SetAccuracy(Convert.ToInt16(textBox4.Text)); cells.Calculation(); //textResultsCellsRectangelNaM(resultBox); resultBox.Text += writeResults((RectangleCells)cells); resultBox.Text += Environment.NewLine; resultBox.Text += Environment.NewLine; if (cells.isAvailable() == false) { MessageBox.Show("Ошибка вычислений:" + Environment.NewLine + writeResults((RectangleCells)cells)); } } else { cells.SetCellsHeight(Convert.ToDouble(textBox2.Text.Replace('.', ','))); cells.SetAccuracy(Convert.ToInt16(textBox4.Text)); cells.Calculation(); if (cells is AbstractRelationAngle) { resultBox.Text += writeResults((AbstractRelationAngle)cells); if (cells.isAvailable() == false) { MessageBox.Show("Ошибка вычислений:" + Environment.NewLine + writeResults((AbstractRelationAngle)cells)); } } else { resultBox.Text += writeResults((TriangleCells)cells); if (cells.isAvailable() == false) { MessageBox.Show("Ошибка вычислений:" + Environment.NewLine + writeResults((TriangleCells)cells)); } } resultBox.Text += Environment.NewLine; resultBox.Text += Environment.NewLine; } }