private Sampling sampling = new Sampling(); //выборка #endregion Fields #region Constructors //конструктор public UniversalController(UniversalContainer InputData, AnswerContainer result) { data = InputData; lock(result) { Answer = result; } }
//метод сбора данных с формы private UniversalContainer UniversalParse() { UniversalContainer temp = new UniversalContainer();//создаём новый контейнер для исходных данных if(textBox1.Text==""||textBox2.Text==""||textBox4.Text=="")//проверяем что поля на форме не пусты { //TODO: решить с эксепшенами throw new Exception("Не все поля заполнены"); } int Intervals=Convert.ToInt32(textBox1.Text);//получаем количество интервалов if(Intervals<3||Intervals>10000) { //TODO: решить с эксепшенами throw new Exception("Количество интервалов должно быть от 3 до 10000"); } temp.Intervals = Intervals;//кладём количество интервалов в контейнер int SamplingVolume=Convert.ToInt32(textBox2.Text);//получаем объем выборки if(SamplingVolume<5||SamplingVolume>65000) { //TODO: решить с эксепшенами throw new Exception("Объём выборки должен быть от 5 до 65000 значений"); } temp.SamplingVolume = SamplingVolume;//кладём объем выборки в контейнер int PirsonIntervals = Convert.ToInt32(textBox4.Text);//получаем количество интервалов пирсона if (PirsonIntervals < 4 || PirsonIntervals > 33) { //TODO: решить с эксепшенами throw new Exception("Количество интервалов для критерия Пирсона должно быть от 4 до 33"); } temp.PirsonIntervals = PirsonIntervals;//кладём число интервалов пирсона в контейнер //dataGridView4.Sort(dataGridView4.Columns[0],ListSortDirection.Ascending); for (int i = 0; i < dataGridView4.Rows.Count-1; i++)//считываем точки кусочно линейной функции { double X = Convert.ToDouble(dataGridView4.Rows[i].Cells[0].Value.ToString()); double Y = Convert.ToDouble(dataGridView4.Rows[i].Cells[1].Value.ToString()); temp.Values.Add(new Inflection(X,Y)); } temp.Controll1 = zedGraphControl1;//кладём в контейнер полотна для рисования графиков temp.Controll2 = zedGraphControl2; temp.Controll3 = zedGraphControl7; return temp; }