コード例 #1
0
        private void btnDecompress_Click(object sender, EventArgs e)
        {
            time.Stop();
            NewSerializer newSerializer = new NewSerializer();

            CompressionAlgs algorithms = new CompressionAlgs(pluginPath);

            if (algorithms.objects.Count == 0)
            {
                MessageBox.Show("No plugins");
            }

            AddCompressorDecorator(algorithms);

            OpenFileDialog dlg = new OpenFileDialog();

            string filter = string.Empty;

            foreach (ICompression alg in algorithms.objects)
            {
                filter += "*" + alg.Format + ";";
            }
            filter     = filter.TrimEnd(';');
            dlg.Filter = "Archives (" + filter + ")|" + filter;

            bool result = dlg.ShowDialog() == DialogResult.OK;

            if (result == true)
            {
                try
                {
                    string ext  = System.IO.Path.GetExtension(dlg.FileName);
                    string temp = dlg.FileName.Replace(ext, "");

                    ICompression compressor = algorithms.objects.Find(obj => obj.Format == ext);
                    compressor.Decompress(dlg.FileName, temp);

                    star = (Star)newSerializer.GetfileName_Serialization(dlg.FileName).Deserialize(typeof(Star), temp);

                    File.Delete(temp);
                }
                catch (Exception ex)
                {
                    MessageBox.Show("Error");
                }
            }

            time.Start();
        }
コード例 #2
0
        private void Deserial_Click(object sender, EventArgs e)
        {
            NewSerializer newSerializer = new NewSerializer();

            time.Stop();

            var dlg = new OpenFileDialog();

            dlg.Filter = "Any file(xml,bin,txt or their encoded versions)|*.*";


            bool result = dlg.ShowDialog() == DialogResult.OK;

            if (result == true)
            {
                star = (Star)newSerializer.GetfileName_Serialization(dlg.FileName).Deserialize(typeof(Star), dlg.FileName);
            }
            time.Start();
        }
コード例 #3
0
        private void Serial_Click(object sender, EventArgs e)
        {
            NewSerializer newSerializer = new NewSerializer();

            time.Stop();

            SaveFileDialog dlg = new SaveFileDialog
            {
                FileName = "World",
                Filter   = "Encoded XML file(*.xml)|*.xml|Encoded Binary data (*.bin)|*.bin|Encoded Text file(*.txt)|*.txt"
            };


            bool result = dlg.ShowDialog() == DialogResult.OK;

            if (result == true)
            {
                newSerializer.GetfileName_Serialization(dlg.FileName).Serialize(star, dlg.FileName);
            }
            time.Start();
        }