Ejemplo n.º 1
0
        /// <summary>
        /// Старт приложения.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void Form1_Load(object sender, EventArgs e)
        {
            DriveTreeInit();

            //Получаем параметры, передаваймые приложению
            string[] args = Environment.GetCommandLineArgs();

            //Если приложению передаются какие либо параметры...
            if (args.Length > 2)
            {
                if (args[2] == "-unpack")//Если второй параметр "-unpack"
                {
                    DialogResult rez = MessageBox.Show("Распаковать архив?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (rez == DialogResult.Yes) //Если пользователь потверждаем распаковку.
                    {
                        try
                        {    //Распаковка.
                            Arhivate.UnPack(args[1], Arhivate.IsExitFile(args[1]));
                            MessageBox.Show("Распаковка завершена", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        catch
                        {
                            MessageBox.Show("Ошибка распаковки", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }

                    this.Close();
                }
                else
                if (args[2] == "-pack")
                {
                    DialogResult rez = MessageBox.Show("Упаковать файл?", "Внимание", MessageBoxButtons.YesNo, MessageBoxIcon.Question);
                    if (rez == DialogResult.Yes) //Если пользователь потверждаем распаковку.
                    {
                        try
                        {
                            string s = Path.GetDirectoryName(args[1]) + "\\" + Path.GetFileNameWithoutExtension(args[1]) + ".upi";
                            //Распаковка.
                            Arhivate.Pack(args[1], s);
                            MessageBox.Show("Упаковка завершена", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
                        }
                        catch
                        {
                            MessageBox.Show("Ошибка распаковки", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                        }
                    }

                    this.Close();
                }
            }
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Разархивацяи.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void fUnPack_Click(object sender, EventArgs e)
        {
            string fSourse;
            string fUnp = "";

            if (listView1.SelectedItems.Count == 0)
            {
                MessageBox.Show("Вы не выбрали файл для распаковки.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            fSourse = fullPath + "\\" + listView1.SelectedItems[0].Text;

            //Получаем имя исходного файла.
            try
            {
                fUnp = Arhivate.IsExitFile(fSourse);
            }
            catch
            {
                MessageBox.Show("Не удалось распаковать файл", "Внимание",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            fUnp = fullPath + "\\" + Path.GetFileName(fUnp);

            //Если файл существует.
            if (File.Exists(fUnp))
            {
                var res = MessageBox.Show("Перезаписать существующий файл", "Внимание",
                                          MessageBoxButtons.OKCancel,
                                          MessageBoxIcon.Question);

                if (res == DialogResult.OK)
                {
                    File.Delete(fUnp);
                    listView1.Items.Remove(listView1.FindItemWithText(Path.GetFileName(fUnp)));
                }
                else
                {
                    return;
                }
            }

            //Извлечение файла.
            try
            {
                Arhivate.UnPack(fSourse, fUnp);
            }
            catch
            {
                MessageBox.Show("Не удалось распаковать файл", "Внимание",
                                MessageBoxButtons.OK,
                                MessageBoxIcon.Error);
                return;
            }

            //Добавление файла
            FileInfo     fl  = new FileInfo(fUnp);
            ListViewItem lvi = new ListViewItem(fl.Name);

            lvi.SubItems.Add(GetSize(fl.Length));
            lvi.SubItems.Add(GetDate(fl.LastWriteTime));
            listView1.Items.Insert(listView1.SelectedIndices[0], lvi);

            MessageBox.Show("Файл распокован", "Распаковка", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }