Exemple #1
0
        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");
            }
        }
Exemple #2
0
        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);
                }
            }
        }