/// <summary>圧縮処理</summary> private void btnCompress_Click(object sender, EventArgs e) { try { // チェック処理 this.CheckComp_DeComp(); // 圧縮部品 Zipper z = new Zipper(); // 選択基準 string[] exts = null; Zipper.SelectionDelegate scd = null; if (this.txtExt.Enabled) { exts = this.txtExt.Text.Split(','); scd = Program.SelectionCriteriaDlgt1; } // 形式指定 SelfExtractorFlavor?selfEx = null; if (this.cmbFormat.Enabled) { selfEx = (SelfExtractorFlavor)this.cmbFormat.SelectedItem; } // ZIP内パスのルート名 string[] temp = this.txtFile.Text.Split('\\'); // 進捗報告処理 z.SaveProgress = Program.MySaveProgressEventHandler; // ルートのディレクトリを作るか作らないか。 string rootPathInArchive = ""; if (!this.cbxRootDir.Checked) { rootPathInArchive = temp[temp.Length - 1]; } // 圧縮(1)デリゲートでフィルタ z.CreateZipFromFolder( this.txtFile.Text, this.txtFolder.Text, scd, exts, rootPathInArchive, // ここを空文字列にするとルートフォルダ無しになる。 Encoding.GetEncoding((string)this.cmbEnc.SelectedItem), (EncryptionAlgorithm)this.cmbCyp.SelectedItem, this.txtPass.Text, (CompressionLevel)this.cmbCmpLv.SelectedItem, selfEx); //// 圧縮(2):selectionCriteriaStringでフィルタ //string selectionCriteriaString = ""; //if (exts != null) //{ // foreach (string ext in exts) // { // if (selectionCriteriaString == "") // { // selectionCriteriaString = "name != *." + ext; // } // else // { // selectionCriteriaString += " and name != *." + ext; // } // } //} //z.CreateZipFromFolder( // this.txtFile.Text, this.txtFolder.Text, // selectionCriteriaString, // temp[temp.Length - 1], // Encoding.GetEncoding((string)this.cmbEnc.SelectedItem), // (EncryptionAlgorithm)this.cmbCyp.SelectedItem, this.txtPass.Text, // (CompressionLevel)this.cmbCmpLv.SelectedItem, selfEx); //MessageBox.Show(z.StatusMSG,"サマリ", // MessageBoxButtons.OK, MessageBoxIcon.Information); CustMsgBox custMsgBox = new CustMsgBox(ResourceMgr.GetString("Error0002"), z.StatusMSG, SystemIcons.Information); custMsgBox.ShowDialog(); } catch (Exception ex) { //MessageBox.Show(ex.Message, "エラーが発生しました。", MessageBoxButtons.OK, MessageBoxIcon.Error); //For internationalization, Replaced all the Japanese language to ResourceMgr.GetString() method call MessageBox.Show(ex.Message, ResourceMgr.GetString("E0001"), MessageBoxButtons.OK, MessageBoxIcon.Error); } }