原創|使用教程|編輯:何躍|2021-12-16 15:09:44.210|閱讀 541 次
概述:板磚的日常開發評測:毫無開發經驗如何做一個功能簡約的壓縮軟件?看我用20分鐘還原整個過程。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
最近板磚在對慧都網上的開發產品做運維的時候,發現了可以用來開發本地、遠程目錄文件壓縮、解壓縮和加密的開發類庫IPWorks Zip,一時心癢下載下來評測一下!
很多壓縮軟件普通用戶可能感覺不到這個功能為商業社會帶來了多少便利,我這么舉幾個例子吧:
壓縮界面
文件壓縮效果
上圖就是今天我要實現的程序功能:
第一步:照圖拖窗體,注意命名規范
第二步:參照IPWorks ZIP幫助文檔,實現咱們的壓縮功能
private void CompressUsingZip() { zip1 = new nsoftware.IPWorksZip.Zip(); zip1.OnProgress += new nsoftware.IPWorksZip.Zip.OnProgressHandler(this.zip1_OnProgress);//注意這里,綁定了我們在壓縮過程中的事件 zip1.ArchiveFile = textBox1.Text.Trim() + tb4.Text;// 注意這里,如果只填寫文件名,那么文件將保存到bin文件夾,如果填寫了存儲的絕對路徑,則按路徑保存 zip1.RecurseSubdirectories = cb1.Checked; zip1.Files.Clear(); zip1.IncludeFiles(tb1.Text + tb2.Text); zip1.ExcludedFiles = tb3.Text; if (tbPassword.Text != "") { zip1.Password = tbPassword.Text.Trim(); } zip1.Compress(); } private void CompressUsingTar(bool UseGzipCompression) { tar1.ArchiveFile = tb4.Text; tar1.RecurseSubdirectories = cb1.Checked; tar1.Files.Clear(); tar1.IncludeFiles(tb1.Text + tb2.Text); tar1.ExcludedFiles = tb3.Text; tar1.UseGzipCompression = UseGzipCompression; tar1.Compress(); } private void CompressUsingJar() { jar1.ArchiveFile = tb4.Text; jar1.RecurseSubdirectories = cb1.Checked; jar1.Files.Clear(); jar1.IncludeFiles(tb1.Text + tb2.Text); jar1.ExcludedFiles = tb3.Text; jar1.Compress(); }第三步:實現咱們的目錄選擇和輸出目錄的功能
FolderBrowserDialog FBD = new FolderBrowserDialog(); FBD.SelectedPath = System.IO.Directory.GetCurrentDirectory(); FBD.ShowDialog(); tb1.Text = FBD.SelectedPath;第四步:綁定在文件壓縮中進度條的功能
private void zip1_OnProgress(object sender, nsoftware.IPWorksZip.ZipProgressEventArgs e) { progressBar1.Value = e.PercentProcessed; } private void tar1_OnProgress(object sender, nsoftware.IPWorksZip.TarProgressEventArgs e) { progressBar1.Value = e.PercentProcessed; } private void jar1_OnProgress(object sender, nsoftware.IPWorksZip.JarProgressEventArgs e) { progressBar1.Value = e.PercentProcessed; }
第五步: 實現壓縮
if (!tb1.Text.Equals("") && !tb1.Text.EndsWith("\\")) tb1.Text += '\\'; progressBar1.Value = 0; try { if (rbZip.Checked) CompressUsingZip(); else if (rbTar.Checked) CompressUsingTar(false); else if (rbJar.Checked) CompressUsingJar(); else if (rbTar.Checked) CompressUsingTar(true); MessageBox.Show("Finished!"); } catch (nsoftware.IPWorksZip.IPWorksZipException ipwe) { MessageBox.Show(ipwe.Message); }整個過程板磚用了大約20分鐘實現,因為廠商提供了詳細的實現說明,如果看到這里的您也需要這方面功能,點擊這里IPWorks ZIP .NET類庫下載 試一試吧:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn