public static LoadGraph LoadS4p(string fileName) { var loadedParams = new LoadGraph(); string line; double c11 = 0; double c22 = 0; double c12 = 0; double l11 = 0; double l22 = 0; double l12 = 0; double z2Out = 50; double z1Out = 50; double z2In = 50; double z1In = 50; double nf = 0; double l = 0; double fmin = 0; double fmax = 0; var i = 0; var stringCounts = 0; bool s4pright = false; using (StreamReader sr = new StreamReader(fileName, Encoding.UTF8)) { while ((line = sr.ReadLine()) != null) { if (line.Contains("! ParamApp")) { s4pright = true; break; } else { if (!line.Contains("#") && !line.Contains("!")) { stringCounts++; } } } sr.Close(); } if (s4pright) { using (StreamReader sr = new StreamReader(fileName, Encoding.UTF8)) { while ((line = sr.ReadLine()) != null) { if (line.Contains("C11, pF/m=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out c11); i++; } if (line.Contains("C22, pF/m=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out c22); i++; } if (line.Contains("C12, pF/m=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out c12); i++; } if (line.Contains("L11, μH/m=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out l11); i++; } if (line.Contains("L22, μH/m=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out l22); i++; } if (line.Contains("L12, μH/m=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out l12); i++; } if (line.Contains("Nf=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out nf); i++; } if (line.Contains("L, mm=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out l); i++; } if (line.Contains("FreqMax, GHz=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out fmax); i++; } if (line.Contains("FreqMin, GHz=")) { var index = line.IndexOf('='); double.TryParse(line.Substring(index + 1), _styles, _culture, out fmin); i++; } if (i == 10) { sr.Close(); break; } } } var calculator = new CalculateFromPogonie(); loadedParams.CurrentParams = calculator.Calculate(c11, c12, c22, l11, l12, l22); loadedParams.RelatedData = new SortedList <string, double> { { "Z1inTextBox", z1In }, { "Z2inTextBox", z2In }, { "Z1outTextBox", z1Out }, { "Z2outTextBox", z2Out }, { "FreqMinTextBox", fmin }, { "FreqMaxTextBox", fmax }, { "LengthTextBox", l }, { "NfTextBox", nf } }; } else { loadedParams = LoadLeftS4p(fileName, stringCounts / 4); } loadedParams.inParams = s4pright; return(loadedParams); }