private void extractFilesToolStripMenuItem_Click(object sender, EventArgs e) { OpenFileDialog FD = new OpenFileDialog(); FD.Filter = "All WillPlus 2 Arc Packgets | *.arc"; DialogResult DR = FD.ShowDialog(); if (DR == DialogResult.OK) { using (Stream Packget = new StreamReader(FD.FileName).BaseStream) { var Entries = WP2Arc.Import(Packget); string dir = FD.FileName + "~\\"; if (Directory.Exists(dir)) { Directory.Delete(dir, true); } Directory.CreateDirectory(dir); foreach (var file in Entries) { using (Stream Writer = new StreamWriter(dir + file.FileName).BaseStream) { file.Content.CopyTo(Writer); } } } MessageBox.Show("Extracted"); } }
private void createPackgetToolStripMenuItem_Click(object sender, EventArgs e) { FolderBrowserDialog BD = new FolderBrowserDialog(); BD.ShowNewFolderButton = false; DialogResult dr = BD.ShowDialog(); SaveFileDialog FD = new SaveFileDialog(); FD.Filter = "All WillPlus 2 Arc Packgets | *.arc"; DialogResult dr2 = FD.ShowDialog(); if (dr == DialogResult.OK && dr2 == DialogResult.OK) { string[] FilesNames = Directory.GetFiles(BD.SelectedPath, "*.*", SearchOption.TopDirectoryOnly); var Entries = new WillPlusManager.File[FilesNames.Length]; for (int i = 0; i < Entries.Length; i++) { Entries[i] = new WillPlusManager.File { FileName = Path.GetFileName(FilesNames[i]), Content = new StreamReader(FilesNames[i]).BaseStream }; } using (Stream Output = new StreamWriter(FD.FileName).BaseStream) { WP2Arc.Export(Entries, Output, true); } } }