Exemplo n.º 1
0
        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"]);
            }
        }
Exemplo n.º 2
0
        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();
        }