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); } }
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("Не указано расширение файла"); } } }