/// <summary> /// Вставляет элемент в коллекцию по указанному индексу. /// </summary> void Insert(ExperimentData EData, int Index) { listInputData.Items.Insert(Index, strInData(EData)); EData.OutDataCalc(); listOutputData.Items.Insert(Index, strOutData(EData)); EDatas.Insert(Index, EData); FileSave(pathInSave, pathOutSave); }
/// <summary> /// Добавляет элемент в список EDatas. /// </summary> void Add(ExperimentData EData) { listInputData.Items.Add(strInData(EData)); EData.OutDataCalc(); listOutputData.Items.Add(strOutData(EData)); EDatas.Add(EData); listDataSelectedIndex(listInputData, EDatas.Count - 1); FileSave(pathInSave, pathOutSave); }
/// <summary> /// Открывает входной файл и считывает эксперименты. /// </summary> void FileOpen(string path) { fileOpen = true; try { FileStream FS = new FileStream(path, FileMode.Open); StreamReader streamReader = new StreamReader(FS); string str; for (int i = 0; (str = streamReader.ReadLine()) != null; i++) { if ((str.IndexOf('*') == 0) & !inputFileError) { try { str = str.Substring(2); ExperimentData EData = new ExperimentData(); EData.Name = str; EData.Name = EData.Name.Substring(0, 15); str = str.Substring(15); var Str = str.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); for (int j = 0; j < Str.Length; j++) { EData.InData.Add(Convert.ToDouble(Str[j])); } listInputData.Items.Add(strInData(EData)); EDatas.Add(EData); } catch { InputFileError(); } } else { InputFileError(); } } streamReader.Close(); } catch { fileOpen = false; } listDataSelectedIndex(listInputData, 0); }
/// <summary> /// Ищет максимальный элемент. /// </summary> double MaxElement(List <double> InData, out int Index) { ExperimentData eData = new ExperimentData(); Index = 0; double max = eData.GetData(InData, 0); for (int i = 1; i < InData.Count; i++) { if (max < eData.GetData(InData, i)) { max = eData.GetData(InData, i); Index = i; } } return(max); }
void EDataInitialize() { var text = textBoxName.Text; while (text.Length < 15) { text += ' '; } EData = new ExperimentData(); EData.Name = text; var Str = textBoxData.Text.Split(new[] { " " }, StringSplitOptions.RemoveEmptyEntries); for (int j = 0; j < Str.Length; j++) { EData.SetData(EData.InData, Convert.ToDouble(Str[j]), j); } }
/// <summary> /// Ищет Max и Мин значения. /// </summary> void MaxAndMinOutCalc(ExperimentData EData, out double Max, out double Min) { Max = EData.Max; Min = EData.Min; if (EData.MaxAbs > Max) { Max = EData.MaxAbs; } else if (EData.MaxAbs < Min) { Min = EData.MaxAbs; } if (EData.Sum > Max) { Max = EData.Sum; } else if (EData.Sum < Min) { Min = EData.Sum; } }
string strOutData(ExperimentData EData) { return(StrData(EData.Name, GetDataStr(EData.OutData))); }