public BlockageEvacuationRoutesViewModel() { ДиапазонТемператур = Enumerable.Range(0, 1201); НачальнаяТемператураВоздуха = 24; ВыбраннаяТиповаяНагрузка = ТиповыеНагрузки.FirstOrDefault(); Длина = 10; Ширина = 10; Высота = 3; ВысотаРабочейЗоны = 0; азностьВысотПола = 0; ПредельнаяДальностьВидимости = 20; НачальнаяОсвещенность = 50; КоэффициентОтраженияПредметов = 0.3; КоэффициентТеплопотер = 0.55; НачальнаяКонцентрацияКислорода = 0.23; ТекущаяКонцентрацияКислорода = 0.23; КруговоеРаспространенияПожара = true; OnPropertyChanged("КруговоеРаспространенияПожара"); ассчетCommand = new RelayCommand(param => this.ассчет()); старт = true; ассчет(); }
private void ЗагрузитьДанные() { var имяфайла = "ТиповыеНагрузки.txt"; if (!File.Exists(имяфайла)) { MessageBox.Show(string.Format("Отсутствует файл \"{0}\" с данными о типовых нагрузках", имяфайла), "Ошибка", MessageBoxButton.OK, MessageBoxImage.Error); return; } var данные = File.ReadAllText(имяфайла); var pattern = new Regex(@"\""(?<название>.*?)\""(?<значения>.*?)\n"); var matches = pattern.Matches(данные + "\r\n"); foreach (Match match in matches) { if (match.Success) { string название = match.Groups["название"].Value; if (string.IsNullOrEmpty(название)) { continue; } string значения = match.Groups["значения"].Value; if (string.IsNullOrEmpty(значения)) { continue; } //if (NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator == ".") // значения.Replace(",", NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator); //else // значения.Replace(".", NumberFormatInfo.CurrentInfo.CurrencyDecimalSeparator); значения.Replace(",", "."); var список = значения.Split(new string[] { "\t", " ", "\r", "\n" }, StringSplitOptions.RemoveEmptyEntries); if (список == null || список.Length < 8) { continue; } var нагрузка = new ТиповаяНагрузка(название); double число; if (!double.TryParse(список[0], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.НизшаяТеплотаСгорания = число; if (!double.TryParse(список[1], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.ЛинейнаяСкоростьПламени = число; if (!double.TryParse(список[2], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.УдельнаяСкоростьВыгорания = число; if (!double.TryParse(список[3], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.ДымообразующаяСпособность = число; if (!double.TryParse(список[4], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.ПотреблениеКислорода = число; if (!double.TryParse(список[5], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.МаксимальныйВыходCO2 = число; if (!double.TryParse(список[6], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.МаксимальныйВыходCO = число; if (!double.TryParse(список[7], NumberStyles.Float, CultureInfo.InvariantCulture, out число)) { continue; } нагрузка.МаксимальныйВыходHCL = число; ТиповыеНагрузки.Add(нагрузка); } } }