public void OpenData(string filename) { // Следует разобраться со структурой файлов в директории FILENAME = filename; ROOT = Path.GetFileNameWithoutExtension(FILENAME).ToUpper(); PATH = Path.GetDirectoryName(FILENAME).ToUpper(); FILES = new Dictionary <string, string>(); SNNN = new List <string>(); var files = Directory.GetFiles(PATH).OrderBy(f => f).ToArray(); string extension; string rootname; foreach (string item in files) { extension = Path.GetExtension(item); rootname = Path.GetFileNameWithoutExtension(item).ToUpper(); if (rootname == ROOT) { if (extension == ".SMSPEC") { FILES.Add("SMSPEC", item); } if (extension == ".RSSPEC") { FILES.Add("RSSPEC", item); } if (extension == ".INSPEC") { FILES.Add("INSPEC", item); } if (extension == ".EGRID") { FILES.Add("EGRID", item); } if (extension == ".INIT") { FILES.Add("INIT", item); } if (Regex.IsMatch(extension, "^.S+[0-9]{4}")) { FILES.Add(extension, item); SNNN.Add(item); } if (Regex.IsMatch(extension, "^.X+[0-9]{4}")) { FILES.Add(extension, item); } if (extension == ".UNSMRY") { FILES.Add("UNSMRY", item); } if (extension == ".UNRST") { FILES.Add("UNRST", item); } } } if (FILES.ContainsKey("SMSPEC")) { SUMMARY = new SMSPEC(); SUMMARY.UpdateLoadingData += OnLoadingUpdateData; SUMMARY.InitSMSPEC(FILES["SMSPEC"]); ProceedSUMMARY(); if (FILES.ContainsKey("UNSMRY")) { SUMMARY.ReadUNSMRY(FILES["UNSMRY"]); } else { SUMMARY.ReadSNNN(SNNN.ToArray()); } } if (FILES.ContainsKey("RSSPEC")) { RESTART = new RSSPEC(FILES["RSSPEC"]); } if (FILES.ContainsKey("INSPEC")) { INIT = new INSPEC(FILES["INSPEC"]); } }
public void OpenData(string filename) { // Настройка таймера, если загрузка происходит дольше 3 секунд, то показываем окно FormLoading.Show(); FormLoading.listBoxLog.Items.Clear(); // Следует разобраться со структурой файлов в директории FILENAME = filename; ROOT = Path.GetFileNameWithoutExtension(FILENAME).ToUpper(); PATH = Path.GetDirectoryName(FILENAME).ToUpper(); FILES = new Dictionary <string, string>(); SNNN = new List <string>(); var files = Directory.GetFiles(PATH).OrderBy(f => f).ToArray(); string extension; string rootname; foreach (string item in files) { extension = Path.GetExtension(item); rootname = Path.GetFileNameWithoutExtension(item).ToUpper(); if (rootname == ROOT) { if (extension == ".SMSPEC") { FILES.Add("SMSPEC", item); } if (extension == ".RSSPEC") { FILES.Add("RSSPEC", item); } if (extension == ".INSPEC") { FILES.Add("INSPEC", item); } if (extension == ".EGRID") { FILES.Add("EGRID", item); } if (extension == ".INIT") { FILES.Add("INIT", item); } if (Regex.IsMatch(extension, "^.S+[0-9]{4}")) { FILES.Add(extension, item); SNNN.Add(item); } if (Regex.IsMatch(extension, "^.X+[0-9]{4}")) { FILES.Add(extension, item); } if (extension == ".UNSMRY") { FILES.Add("UNSMRY", item); } if (extension == ".UNRST") { FILES.Add("UNRST", item); } } } if (FILES.ContainsKey("SMSPEC")) { SUMMARY = new SMSPEC(FILES["SMSPEC"]); SUMMARY.UpdateData += OnLoadingUpdateData; FormLoading.listBoxLog.Items.Add("SMSPEC..."); Application.DoEvents(); ProceedSUMMARY(); if (FILES.ContainsKey("UNSMRY")) { SUMMARY.ReadUNSMRY(FILES["UNSMRY"]); } else { SUMMARY.ReadSNNN(SNNN.ToArray()); } } if (FILES.ContainsKey("RSSPEC")) { FormLoading.listBoxLog.Items.Add("RSSPEC..."); Application.DoEvents(); RESTART = new RSSPEC(FILES["RSSPEC"]); } if (FILES.ContainsKey("INSPEC")) { FormLoading.listBoxLog.Items.Add("INSPEC..."); Application.DoEvents(); INIT = new INSPEC(FILES["INSPEC"]); } FormLoading.Hide(); }