Exemple #1
0
        private void ButLoad_Click(object sender, EventArgs e)
        {
            object[] loadVehicle;
            bool     IsDecompressed = false;

            if (OpenFD.ShowDialog() == DialogResult.Cancel)
            {
                return;
            }
            string filePath = OpenFD.FileName;

            try
            {
                if (GetSer(filePath) == null)
                {
                    if (DecompressFile(ref filePath) == false)
                    {
                        MessageBox.Show("Не загружен файл для разархивации.");
                        return;
                    }
                    else
                    {
                        IsDecompressed = true;
                    }
                }

                ISer ser = GetSer(filePath);
                if (ser == null)
                {
                    MessageBox.Show("Десериализация не удалась!");
                    return;
                }

                loadVehicle = ser.Deserialize(filePath);
                foreach (Vehicle vehicle in loadVehicle)
                {
                    Vehicles.Add(vehicle);
                }
                RefreshVehicleList();

                if (IsDecompressed)
                {
                    File.Delete(filePath);
                    IsDecompressed = false;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
        }
Exemple #2
0
        private void button8_Click(object sender, EventArgs e)
        {
            if (comboBox3.SelectedIndex != -1)
            {
                allObj.Clear();
                ISer meth = (ISer)Activator.CreateInstance(Type.GetType("Serial." + comboBox3.Text));

                if (openFileDialog1.ShowDialog() == DialogResult.Cancel)
                {
                    return;
                }
                string          filename = openFileDialog1.FileName;
                Regex           regex    = new Regex(@"(\.[\w]+){0,1}$");
                MatchCollection matches  = regex.Matches(filename);
                string          exten    = matches[0].Groups[0].Value;
                if (matches.Count != 1)
                {
                    bool flag = false;
                    foreach (var plugin in pm.Plugins)
                    {
                        if (exten == plugin.Extension)
                        {
                            filename = plugin.Decompress(filename);
                            flag     = true;
                        }
                    }
                    if (flag)
                    {
                        allObj = meth.Deserialize(filename);
                        comboBox2.Items.Clear();
                        int c = 0;
                        foreach (Object obj in allObj)
                        {
                            comboBox2.Items.Add(obj.ToString() + ++c);
                        }
                        File.Delete(filename);
                    }
                    else
                    {
                        MessageBox.Show("Плагин не загружен");
                    }
                }
                else
                {
                    MessageBox.Show("Не указано расширение файла");
                }
            }
        }