Example #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();
                }
            }
        }
Example #2
0
        /// <summary>
        /// Архивация.
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void fPack_Click(object sender, EventArgs e)
        {
            string fSourse, fPack;

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

            fSourse = fullPath + "\\" + listView1.SelectedItems[0].Text;
            if (!File.Exists(fSourse))
            {
                MessageBox.Show("Не удается упаковать папку.\nВыберите файл.");
                return;
            }

            fPack = fullPath + "\\" + Path.GetFileNameWithoutExtension(listView1.SelectedItems[0].Text) + ".upi";
            bool f = File.Exists(fPack);

            try
            {
                Arhivate.Pack(fSourse, fPack);
            }
            catch
            {
                MessageBox.Show("Ошибка архивации", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            if (!f)
            {
                FileInfo     fl  = new FileInfo(fPack);
                ListViewItem lvi = new ListViewItem(fl.Name);
                lvi.SubItems.Add(GetSize(fl.Length));
                lvi.SubItems.Add(GetDate(fl.LastWriteTime));
                listView1.Items.Insert(listView1.SelectedIndices[0] + 1, lvi);
            }

            MessageBox.Show("Файл упакован", "Внимание", MessageBoxButtons.OK, MessageBoxIcon.Information);
        }