PDA

View Full Version : آموزش: ZiP و Unzip کردن فایل و فولدر ها به روش خیلی ساده !



Alirezanet
یک شنبه 23 اسفند 1388, 00:41 صبح
امروز به کلاسی برخوردم که خیلی جالب بود و تمامی زیان ها هم میتونن ازش استفاده کنند و در ضمن مثال هم داره که چجوری میشه ازش استفاده کرد گفتم بزارم اینجا تا بقیه هم بتونن استفاده کنند ... :چشمک:


فشرده سازی و استخراج (Zip & Unzip) فایل ها و فولدر ها همواره مورد نظر توسعه گران نرم افزار بوده است. نوشتن یک کتابخانه قدرتمند جهت انجام اعمال پیشرفته فشرده سازی با استفاده از توابع و کلاس های پایه DotNet Framework کار بسیار وقت گیر و نه چندان ساده ای می باشد.
در حال حاضر کتابخانه های قدرتمندی از جمله SharpZipLib و GZipStream وجود دارند که می توان از آن ها جهت رفع این مشکل استفاده نمود. ولی در این مقاله قصد دارم به معرفی کتابخانه DotNetZip بپردازم. این کتابخانه به صورت متن باز و همراه با مثال ها و مستندات مربوطه از اینجا (http://www.codeplex.com/DotNetZip) قابل دریافت می باشد.
کتابخانه DotNetZip بسیار قدرتمند و آسان جهت استفاده می باشد. ضمنا این کتابخانه علاوه بر استفاده در برنامه های تحت ویندوز و وب، قابلیت استفاده در برنامه های موبایل (Compact Framework) را نیز دارد.
منبع : CSharp.com
مثال C#‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎‎ :

به طور مثال در قطعه کد زیر، ما فولدری به نام MyFolder را فشرده نموده و با نام MyFolder.zip ذخیره نموده ایم


using System.Windows.Forms;
using Ionic.Zip;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
private void Form1_Load(object sender, EventArgs e)
{
using (ZipFile zip = new ZipFile())
{
zip.AddDirectory(@"D:\MyFolder");
zip.Save(@"D:\MyFolder.zip");
}
}
}
}


همانطور که ملاحظه می نمایید، این عمل به ساده ترین شکل ممکن انجام پذیرفته است.

خوب مثال بالا سادست و نیاز به توضیح نداره هرچند که مثال های کامل تر هم توی فایل اصلیش هستش ... ولی باز این هم نمونه میزارم : VB.net
Vb.net :
Imports Ionic.Zip
Public Class Form1
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Using Ziper As ZipFile = New ZipFile
Ziper.AddDirectory("آدرس فایل و یا پوشه مورد نظر")
Ziper.Save("آدرس محل ذخیره سازی فایل ")
End Using
End Sub
End Class




حجم فایل بالا هم با تمام مثال ها برای همه زبان ها حدود 7 mg هستش ! ولی فایل Dll رو هم برای کسایی که سرعتشون کمه ضمیمه کردم ! البته لازم هم نیست اونو دانلود کنید با این مثال ها و فایل کارتون راه میفته!

نظر بدین بازم دارما !!!

موفق باشین ...

Alirezanet
یک شنبه 23 اسفند 1388, 02:07 صبح
یه سری مثال هم برای کار با این فایل براتون آماده کردم ...
یادم نره از کاراییش بگم که واقعا حرف نداره و امکانات زیادی هم داره از جمله :
ساختن فایل فشرده و گذاشتن رمز
باز کردن فایلهای فشرده و دادن رمز به اونها
امکان Update فایلها
امکان کنترل عملیات فشره سازی
ساخت فایل با هر پسوندی که دوست داشتی!
فشرده سازی به روش های مختلف مثلا WinZip-compatible
و ...
سوالی بود در خدمتم .

اضافه کردن آیتم
Try
Using zip As ZipFile = New ZipFile
zip.AddFile("c:\photos\personal\7440-N49th.png", "")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "")
zip.AddFile("ReadMe.txt")
zip.Save("MyZipFile.zip")
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try

Extract items from a zip file:
Try
Using zip As ZipFile = ZipFile.Read(ZipFileToExtract)
Dim e As ZipEntry
For Each e In zip
e.Extract
Next
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try


Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:

Using zip As ZipFile = ZipFile.Read(FilePath)
zip.StatusMessageTextWriter= System.Console.Out
'Status Messages will be sent to the console during extraction
zip.ExtractAll()
End Using


Create a Zip, entries get passwords:

Try
Using zip As New ZipFile
'the first entry is not protected by a password
zip.AddFile("c:\datafiles\ReadMe.txt", "")
zip.Password = "123456!"
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.Password= "!Secret1";
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try


Add a few files to a zip file, using WinZip-compatible AES encryption on the entries:
Try
Using zip As New ZipFile
zip.Password = "The.Silvertones.Box.Set!"
zip.Encryption = EncryptionAlgorithm.WinZipAes256
zip.AddFile("c:\datafiles\RawData-2008-12-20.csv", "")
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("AES-Encrypted-Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try


Extract entries using a password:

Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using



ادامه دارد ......

imigrant bird
یک شنبه 23 اسفند 1388, 22:51 عصر
علیرضا
دستت درد نکنه ، مطلب جالبی بود ، بازم از این کارا بکن :تشویق:

Alirezanet
دوشنبه 24 اسفند 1388, 07:10 صبح
ادامه مثال ها : 2 :
This example creates a zip using ZIP64 extensions. ZIP64 allows you to exceed 4gb in a zip, or 65535 entries in a zip.
Try
Using zip As ZipFile = New ZipFile
zip.UseZip64WhenSaving = Zip64Option.AsNecessary
zip.AddFile("c:\datafiles\RawData-2009-02-12.csv", "")
zip.AddFile("ReadMe.txt")
zip.Save(String.Format("backup-{0}.zip", DateTime.Now.ToString("yyyyMMMdd")))
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try



Create a zip file, add a file, and also add an entry from a string. When the zip is unzipped, the content from the string will be inserted into the file "Readme.txt".

Dim Content As String = "This string will be the content of the Readme.txt file in the zip archive."
Using zip1 As ZipFile = New ZipFile
zip1.AddEntry("Readme.txt", "This is the readme content...")
zip1.AddFile("MyDocuments\Resume.doc", "files")
zip1.Comment = ("This zip file was created at " & DateTime.Now.ToString("G"))
zip1.Save("Content.zip")
End Using



Create a zip file, and add an entry taking content from a stream, like a MemoryStream or a FileStream.
Dim Content As String = "This string will be the content of the Readme.txt file in the zip archive."
Using zip1 As ZipFile = New ZipFile
zip1.AddEntry("Readme.txt", stream)
zip1.AddFile("MyDocuments\Resume.doc", "files")
zip1.Comment = ("This zip file was created at " & DateTime.Now.ToString("G"))
zip1.Save("Content.zip")
End Using

Read in a zip file, remove a few entries, save the file:
Dim sw As New System.IO.StringWriter
Using zip As ZipFile = ZipFile.Read("PackedDocuments.zip", sw)
Dim Threshold As New DateTime(2007, 7, 4)
' We cannot remove the entry from the list, within the context of
' an enumeration of said list.
' So we add the doomed entry to a list to be removed later.
' pass 1: mark the entries for removal
Dim MarkedEntries As New System.Collections.Generic.List(Of ZipEntry)
Dim e As ZipEntry
For Each e In zip
If (e.LastModified < Threshold) Then
MarkedEntries.Add(e)
End If
Next
' pass 2: actually remove the entry.
Dim zombie As ZipEntry
For Each zombie In MarkedEntries
zip.RemoveEntry(zombie)
Next
zip.Comment = "This archive has been updated."
zip.Save
End Using

Add a bunch of items, whether files or directories:
Dim itempaths As String() = _
New String() { "c:\temp\Readme.txt", _
"MyProposal.docx", _
"SupportingFiles", _
"images\Image1.jpg" }
Try
Using zip As New ZipFile(ZipToCreate, Console.Out)
Dim i As Integer
For i = 1 To itempaths.Length - 1
' will add Files or Dirs, recursing and flattening subdirectories.
zip.AddItem(itempaths(i), "flat")
Next i
zip.Save
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString())
End Try


ادامه دارد ...

Alirezanet
شنبه 14 فروردین 1389, 23:58 عصر
Create a self-extracting archive:

Dim DirectoryPath As String = "c:\Documents\Project7"
Using zip As New ZipFile()
zip.AddDirectory(DirectoryPath, System.IO.Path.GetFileName(DirectoryPath))
zip.Comment = "This will be embedded into a self-extracting console-based exe"
zip.SaveSelfExtractor("archive.exe", SelfExtractorFlavor.ConsoleApplication)
End Using



Update some entries in a Zip file:

Using zip1 As New ZipFile
' the UpdateFile method works even if the entry does not yet exist.
' Really it should be called "AddOrUpdateFile"
zip1.UpdateFile("MyDocuments\Readme.txt", "")
zip1.UpdateFile("CustomerList.csv", "")
zip1.Comment = "This zip archive has been created."
zip1.Save("Content.zip")
End Using
Using zip2 As ZipFile = ZipFile.Read("Content.zip")
zip2.UpdateFile("Updates\Readme.txt", "")
zip2.Comment = "This zip archive has been updated: the Readme has been changed."
zip2.Save
End Using



Produce a zip file that contains embedded zip files

Public Sub Run()
Using s1 As Stream = ZipIntoMemory("c:\temp\dir1")
Using s2 As Stream = ZipIntoMemory("c:\temp\dir2")
Using zip1 as New ZipFile
zip1.AddEntry("test1.zip", s1)
zip1.AddEntry("test2.zip", s2)
' save to a file. Could also save to a stream here
zip1.Save("Tescher.zip")
End Using
End Using
End Using
End Sub
Public Function ZipIntoMemory(ByVal path As String) As Stream
Dim ms As New MemoryStream
Using zip1 as New ZipFile
zip1.AddDirectory(path, "Result")
zip1.Save(ms)
End Using
' move the stream position to the beginning
ms.Seek(0,SeekOrigin.Begin)
Return ms
End Function

Alirezanet
یک شنبه 15 فروردین 1389, 00:01 صبح
اگر کسی مثال برای زبان های دیگه برنامه نویسی هم احتیاج داشت بگه براش بزارم :
C#
Vb.Net
ASP.NET
Powershell
Com, ASP,PHP,VB6,Java
C++/CLI

موفق باشین !!:چشمک:

marzieh_
جمعه 27 فروردین 1389, 13:21 عصر
لطف میکنید با c# هم مثال بگذارید؟!

Alirezanet
شنبه 28 فروردین 1389, 16:42 عصر
اینم مثال C# :
Create a zip file, and add items to it

using (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt");
zip.AddFile("Resume.doc");
zip.AddFile("Portrait.png");
zip.Save("Package.zip");
}


Add items to a zip file, using Zip 2.0 encryption, and the same password for all items.

using (ZipFile zip = new ZipFile())
{
zip.Password= "123456!";
zip.AddFile("ReadMe.txt");
zip.AddFile("7440-N49th.png");
zip.AddFile("2005_Annual_Report.pdf");
zip.Save("Backup.zip");
}


Add files to a zip file, using Zip 2.0 encryption, and different passwords for different files.

using (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt"); // no password for this one
zip.Password= "123456!";
zip.AddFile("7440-N49th.png");
zip.Password= "!Secret1";
zip.AddFile("2005_Annual_Report.pdf");
zip.Save("Backup.zip");
}



Create a zip archive, and add files to it, using WinZip-compatible AES 256-bit encryption for one of the files.

using (ZipFile zip = new ZipFile())
{
zip.AddFile("ReadMe.txt"); // no password for this one
zip.Password= "Cool.Hand.Luke!";
zip.Encryption= EncryptionAlgorithm.WinZipAes256;
zip.AddFile("Rawdata-2008-12-18.csv");
zip.Save("Backup-AES-Encrypted.zip");
}



No Compression

using (ZipFile zip = new ZipFile())
{
zip.ForceNoCompression = true;
zip.AddFile(@"MyMusic\Handel\Messiah-01.mp3");
zip.Save(ZipFileToCreate);
}



Zip a directory

using (ZipFile zip = new ZipFile())
{
zip.UseUnicode= true; // utf-8
zip.AddDirectory(@"MyDocuments\ProjectX");
zip.Comment = "This zip was created at " + System.DateTime.Now.ToString("G") ;
zip.Save(ZipFileToCreate);
}


Zip a directory 2

using (ZipFile zip = new ZipFile())
{
zip.Encoding = System.Text.Encoding.GetEncoding("big5"); // chinese
zip.AddDirectory(@"MyDocuments\ProjectX");
zip.Save(ZipFileToCreate);
}

bahman_akbarzadeh
یک شنبه 26 اردیبهشت 1389, 09:06 صبح
متاسفانه اين لايبراري با يونيكد مشكل داره و با اينكه تو سازنده كلاسش براش UTF-8 رو مشخص ميكنم ولي توي فايل zip بجاي حروف فارسي، علامت سوال يا حروف نامشخص ميزاره.

Alirezanet
یک شنبه 09 خرداد 1389, 17:05 عصر
مشکل احتمالا از جای دیگست !!!
من خودم از این کامپوننت استفاده میکنم هر توی برنامه هایی به زبان فارسی و انگلیسی ...
حتی یکی از برنامه هام که مولتی Language هم نوشته شده ... رو ساپورت میکنه ! :متفکر:

bahman_akbarzadeh
چهارشنبه 12 خرداد 1389, 10:43 صبح
شما از چه نسخه اي استفاده مي كنيد؟
من از نسخه 1.9.1.5 استفاده مي كنم.
تو اين نسخه امكان خوندن اطلاعات از استريم و نوشتن در استريم وجود داره.
يعني من از يه سري فايل كه پسوند خاصي نداره و اسمش توي ديتابيس ثبت شده، ميخونم و اسماشونو ست ميكنم و در نهايت فايل زيپ رو توي استريمي كه به سمت كلاينت به عنوان Response برمي گرده، مي فرستم.
ولي فقط نام هاي انگليسي درسته و نام هاي فارسي با اينكه انكودينگ فايل زيپ رو به تمامي موارد ممكن تغيير دادم، هر دفعه يك جور نوشته ميشه.
لطفا يك تست كوچيك بفرماييد.
ممنون

Alirezanet
پنج شنبه 13 خرداد 1389, 10:09 صبح
خوب این کار خیلی سادست ...
یه نمونه با VS 2010 نوشتم که ضمیمه کردم .... میتونی ببینی که داره راحت نام های فارسی رو هم ذخیره میکنه .....

کدشو هم میزارم شاید کسی باشه Vs 2010 نداشته باشه ...

Imports Ionic.Zip
Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Using ziper As ZipFile = New ZipFile
ziper.ProvisionalAlternateEncoding = System.Text.Encoding.UTF8
ziper.AddEntry(Label1.Text, 256)
ziper.AddEntry(Label2.Text, 256)
ziper.AddEntry(Label3.Text, 256)
ziper.AddEntry(Label4.Text, 256)
If SaveFileDialog1.ShowDialog = Windows.Forms.DialogResult.OK Then
ziper.Save(SaveFileDialog1.FileName)
End If
End Using
End Sub
End Class



4 تا لیبل هست اینجا که تکسته 2 تاشون فارسیه ...
بازم کاری بود در خدمتم !

فایل ضمیمرو یه نگاه بنداز!

bahman_akbarzadeh
یک شنبه 16 خرداد 1389, 08:42 صبح
ممنون از زحمت شما
من توی وب دارم استفاده میکنم و هر کاری می کنم به هیچ صراطی مستقیم نیست :عصبانی++:
حالا سر فرصت تو یه پروژه جدید تست میکنم ببینم چی میشه و نتیجه رو اینجا مینویسم.

Alirezanet
یک شنبه 16 خرداد 1389, 17:30 عصر
ممنون از زحمت شما
من توی وب دارم استفاده میکنم و هر کاری می کنم به هیچ صراطی مستقیم نیست :عصبانی++:
حالا سر فرصت تو یه پروژه جدید تست میکنم ببینم چی میشه و نتیجه رو اینجا مینویسم.

توی web هم میتونی از utf8 استفاده کنی هم Unicode ... اون کدی که گذاشتمو ببینی شاید مشکلت حل شه ... به عدد 256 هم دقت کن اگه روی 1 و 2 بزاریش کار نمیکنه !

بازم کاری بود در خدمتم ...
در ضمن ممنون میشم اگه به جای پست دادن برای تشکر از امکانات سایت استفاده کنین. :لبخندساده:
موفق باشید

bahman_akbarzadeh
یک شنبه 16 خرداد 1389, 22:28 عصر
با 256 خطا میده
چون تو ورژن 1.9.1.5 همچین آور لودی نداره.
ورژن شما چنده؟

Alirezanet
دوشنبه 17 خرداد 1389, 09:22 صبح
ورژن من هم 1915 هست ...
برنامه ضمیمرو دانلود کن ... توش همین کارو کردم .:افسرده:

DoDoklak
دوشنبه 17 خرداد 1389, 10:10 صبح
من این فایل رو دانلود کردم و ازش استفاده کردم.

کار کردن باهاش خیلی راحته.

ولی اصلا کیفیت فشرده سازی خوبی نداره

من یک فایل 13MB رو با WiniRAR ,WINZIP ,این کامپونینت فشرده کردم نتایج جالبی بدست آمد

WinRAR : 1.43 MB
WinZIP : 1.64 MB
Ionic.Zip.dll: 5.27 MB

در کل این کامپونینت قدرت فشرده سازی کمی داره و زیاد جالب نیست

Alirezanet
شنبه 29 خرداد 1389, 10:52 صبح
این کامپونت از روش فشرده سازی ویندوز استفاده میکرد که الان به صورت پیش فرض هستش ولی میتونید نوع های جدید که توی این ورژن ازافه شده رو هم استفاده کنید تا حجم کمتر شه ... توی یه مثال قبلا نوشتم ...
اگه هم فایل کلی کامپوننت رو دانلود کنید توی Help توضیحات داره ...

DoDoklak
شنبه 29 خرداد 1389, 11:56 صبح
نوع های جدید که توی این ورژن ازافه شده رو هم استفاده کنید تا حجم کمتر شه


خوب این خیلی خوبه. چون هم راحته و مهمتر از همه رایگانه
بیشتر کامپونینتهای تو اینترنت همه پولی بودن مخصوصا RAR ، اصلا کرک هم ندارن




توی یه مثال قبلا نوشتم ...


اگر میشه اون مثال رو همیجا ذکر کنید تا بحث کاملتر بشه




اگه هم فایل کلی کامپوننت رو دانلود کنید توی Help توضیحات داره ...


Help کجاست؟
من تو این تایپک فقط فایل Dll رو دیدم.
لطفا لینکش رو بدید

با تشکر

Alirezanet
دوشنبه 12 مهر 1389, 22:47 عصر
سلام
از اینکه دیر جواب دادم معذرت میخوام .... این هم Help ....

josh simpson
سه شنبه 13 مهر 1389, 23:03 عصر
خیلی قدیمی بود.

Alirezanet
چهارشنبه 14 مهر 1389, 00:34 صبح
خیلی قدیمی بود.

ممنون از جوابتون ! :اشتباه:
ولی اگه قدیمی بود و شما خیلی وقته که این کنترل رو میشناختین !!!!!!!!! حداقل یه معرفی یک سطری لطف میکردین و تو سایت برای بقیه میزاشتین, امثال من حفیر وقت شمارو با موضوع های قدیمی نمیگرفتیم !
از اینکه این مطلب وقتتونو گرفت و مطالعه کردید عذر میخوام .

نکته : این Dll سال 2006 ساخته شده و این ورژن که اینجا موجود هست Release 2010 هستش ...

موفق باشید !

nima178
شنبه 04 دی 1389, 10:14 صبح
آقا این برنامه بسیار جالبیه
کار باشم ساده است کافی اون دی ال الی رو که مهندس داد اد کنی
ولی !
هرکار می کنم پس نمی زاره؟!!!!!!!!!!!!!!!!!!
یعنی وین رر مثه مرد بازش می کنه پسم نیمی خواد اکسترکت هم می کنه!
جریان چیه
مشکل از کجاست
من دی ال ال رو گزاشتم تو پوشه برنامه ریفرنس دادم
همین!

Alirezanet
یک شنبه 05 دی 1389, 14:10 عصر
آقا این برنامه بسیار جالبیه
کار باشم ساده است کافی اون دی ال الی رو که مهندس داد اد کنی
ولی !
هرکار می کنم پس نمی زاره؟!!!!!!!!!!!!!!!!!!
یعنی وین رر مثه مرد بازش می کنه پسم نیمی خواد اکسترکت هم می کنه!
جریان چیه
مشکل از کجاست
من دی ال ال رو گزاشتم تو پوشه برنامه ریفرنس دادم
همین!

سلام توی مثال ها براتون نحوه این کار رو گذاشته بودم !!
این هم یه پروژه کوچیک برای روشن شدن مسئله !
موفق باشید

ebrahimv
سه شنبه 14 دی 1389, 22:26 عصر
سلام تو همه پست ها كه خوندم تو همشون فشرده كردن بود
من يه فايل zip معمولي با پسورد دارم چه جوري اين فايل رو از حالت فشرده خارج كنم؟

Alirezanet
چهارشنبه 15 دی 1389, 00:30 صبح
سلام تو همه پست ها كه خوندم تو همشون فشرده كردن بود
من يه فايل zip معمولي با پسورد دارم چه جوري اين فايل رو از حالت فشرده خارج كنم؟

Extract entries using a password:


Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using

ebrahimv
چهارشنبه 15 دی 1389, 09:27 صبح
Extract entries using a password:


Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using
اين فايل كجا UNzip ميشه؟
ميشه توضيح بدي

Alirezanet
پنج شنبه 16 دی 1389, 02:16 صبح
اين فايل كجا UNzip ميشه؟
ميشه توضيح بدي

خوب مثال گویاست !
وقتی توی Objectی که از zipfile گرفتی (e) از Extract استفاده کنی میتونی با متد Save اون فایل هارو ذخیره کنی هر جا خواستی .
وقتی شما extract میکنی یه فایل فشرده رو توی حافظه موقت سیستم (برنامه ) میمونه ! که میتونی از اونجا هر بلایی خواستی سرشون بیاری ! مثلا Save کنی یا با یه For فایلهارو بخونی و توی برنامه نشون بدی!

Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
e.Save(هرجا دلت خواست)!!
End Using

ebrahimv
پنج شنبه 16 دی 1389, 16:31 عصر
خوب مثال گویاست !
وقتی توی Objectی که از zipfile گرفتی (e) از Extract استفاده کنی میتونی با متد Save اون فایل هارو ذخیره کنی هر جا خواستی .
وقتی شما extract میکنی یه فایل فشرده رو توی حافظه موقت سیستم (برنامه ) میمونه ! که میتونی از اونجا هر بلایی خواستی سرشون بیاری ! مثلا Save کنی یا با یه For فایلهارو بخونی و توی برنامه نشون بدی!

Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
e.Save(هرجا دلت خواست)!!
End Using

ابجكت e كه درست كردي گزينه save نداره
ميشه يه نمونه برنامه درست كني ممنون ميشم

ebrahimv
پنج شنبه 16 دی 1389, 16:38 عصر
ممنون كدش رو يكي از دوسان برام پيدا كرد درست عمل ميكنه


Using Ziper As ZipFile = ZipFile.Read("Source")
Ziper.Password = "1234"
Ziper.ExtractAll("Address", Ionic.Zip.ExtractExistingFileAction.OverwriteSilen tly)
End Using

Alirezanet
پنج شنبه 16 دی 1389, 19:11 عصر
این کد هم درسته ! کد اول هم کار میکنه ولی نه با تمام فایلهای فشره ! winrar یک نوع encoding داره که حتی winzip هم نمیتونه اون رو بخونه !
با کدی که اول براتون گذاشتم میشه extract کرد ولی فایلهایی که از نوع خاص rar نباشند !
موفق باشید

nima178
یک شنبه 19 دی 1389, 13:33 عصر
آقا این سورس اون کدی که گفتم کار نمی کنه
ظاهرا پسورد می زاره
هیچ اروری نمی ده
اما وین رر بازش می کنه پسوردم نمی خواد
میگید نه تستش کنید
فرم 2 کدشو ببنید
شایدم من جایی رو اشتباه می کنم
:متفکر:

Alirezanet
دوشنبه 20 دی 1389, 00:28 صبح
سلام کد فرم 2تون رودیدم : اینجوری بنویسش دقیق :
تست کردم کار هم کرد !

Using MyRar As New Ionic.Zip.ZipFile
MyRar.Password = "12345"
MyRar.AddFile("mytemp.txt")
MyRar.Save("mytemp.rar")
End Using

ترتیب توی این کلاس مهمه :متفکر:
شما اول فایل رو Add میکردید بعد پسسوورد میذاشتید !

nima178
دوشنبه 20 دی 1389, 10:10 صبح
ای ول
حالا درست شد!
ای ول!
جالبه
نمی دونم سری اول چرا هرکاری کردم پس نمی زاشت!
با وجود اینکه ظاهرا همه چیز رو رعایت کردم!
شاید رفرنس درستی ندادم!
الان فرم یک همون فایل رو ببنید رویداد باتن 2 درست کار می کنه تازه تو یک فایل دو تا پس می زاره
در هر صورت من عجله کردم
اما مثال بالا مثال خوبیه
با کمی تغییرات!
در هر صورت دمه شما گرم
اگرچه دکمه تشکر بود ولی کفایت نمی کرد!

hosein13734
چهارشنبه 22 دی 1389, 21:22 عصر
سلام و ممنون بابت ارسال مفیدتون
یه سوال دارم برای استفاده از این برنامه اون(DLL) رو تو محل اجرا کپی میکنه راهی است این کار رو نکنه و مثل بقیه توابع ازش استفاده کرد
ممنون

Alirezanet
پنج شنبه 23 دی 1389, 02:37 صبح
سلام و ممنون بابت ارسال مفیدتون
یه سوال دارم برای استفاده از این برنامه اون(DLL) رو تو محل اجرا کپی میکنه راهی است این کار رو نکنه و مثل بقیه توابع ازش استفاده کرد
ممنون
شما میتونید در انتهای کار پروژتون رو Publish کنید و یا Setup بسازید براش یا توی Exe برنامه Incloud کنیدش !
در هر هر صورت باید وجود داشته باشه ولی کجا ! به شما بستگی داره !

mahbobehshab
یک شنبه 17 بهمن 1389, 17:40 عصر
اگر کسی مثال برای زبان های دیگه برنامه نویسی هم احتیاج داشت بگه براش بزارم :
C#
Vb.Net
ASP.NET
Powershell
Com, ASP,PHP,VB6,Java
C++/CLI

موفق باشین !!:چشمک:

دوست عزیز پس چرا آنزیپ کردن فایلها و فولدرها رو نذاشتی .اگه میتونی یه مثال برای این مورد در vb.net بذار.خیلی لازمه.راستی اون نمونه برنامه ای که برای فشرده سازی و خارج کردن اون گذاشتی باهاش نمی تونم کار کنم.از کدهاتم چیزی سردر نیاوردم آخه می دونی من تازه برنامه نویسی رو شروع کردم !من میخوام برنامه م جوری باشه که بازدن یک دکمه پنجره ی open باز بشه و هر فایل و یا فولدری که خواستم انتخاب کنم وبازدن ok اون فایلها تبدیل بشه و تو یه درایوی که می خوام ذخیره بشه و برای آنزیپ کردنش هم همینطور :یعنی هر فایل زیپی رو که انتخاب کردم به حالت عادی برگردد.اگه همینجوری تکه کدشو هم گذاشتی اشکال نداره.اگه میشه کمکم کن.مرسی.عجله هم دارم.

Alirezanet
دوشنبه 18 بهمن 1389, 08:45 صبح
دوست عزیز پس چرا آنزیپ کردن فایلها و فولدرها رو نذاشتی .اگه میتونی یه مثال برای این مورد در vb.net بذار.خیلی لازمه.راستی اون نمونه برنامه ای که برای فشرده سازی و خارج کردن اون گذاشتی باهاش نمی تونم کار کنم.از کدهاتم چیزی سردر نیاوردم آخه می دونی من تازه برنامه نویسی رو شروع کردم !من میخوام برنامه م جوری باشه که بازدن یک دکمه پنجره ی open باز بشه و هر فایل و یا فولدری که خواستم انتخاب کنم وبازدن ok اون فایلها تبدیل بشه و تو یه درایوی که می خوام ذخیره بشه و برای آنزیپ کردنش هم همینطور :یعنی هر فایل زیپی رو که انتخاب کردم به حالت عادی برگردد.اگه همینجوری تکه کدشو هم گذاشتی اشکال نداره.اگه میشه کمکم کن.مرسی.عجله هم دارم.

سلام اگه به مثال ها توجه کنید چندین مورد برای Extract وجود داره ... یعنی همون (Unzip) ..... به طور مثال :

Extract items from a zip file:

Try
Using zip As ZipFile = ZipFile.Read(ZipFileToExtract)
Dim e As ZipEntry
For Each e In zip
e.Extract
Next
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try


Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:


Using zip As ZipFile = ZipFile.Read(FilePath)
zip.StatusMessageTextWriter= System.Console.Out
'Status Messages will be sent to the console during extraction
zip.ExtractAll()
End Using

mahbobehshab
سه شنبه 03 اسفند 1389, 19:14 عصر
یه سری مثال هم برای کار با این فایل براتون آماده کردم ...
یادم نره از کاراییش بگم که واقعا حرف نداره و امکانات زیادی هم داره از جمله :
ساختن فایل فشرده و گذاشتن رمز
باز کردن فایلهای فشرده و دادن رمز به اونها
امکان Update فایلها
امکان کنترل عملیات فشره سازی
ساخت فایل با هر پسوندی که دوست داشتی!
فشرده سازی به روش های مختلف مثلا WinZip-compatible
و ...
سوالی بود در خدمتم .

اضافه کردن آیتم
Try
Using zip As ZipFile = New ZipFile
zip.AddFile("c:\photos\personal\7440-N49th.png", "")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "")
zip.AddFile("ReadMe.txt")
zip.Save("MyZipFile.zip")
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try

Extract items from a zip file:
Try
Using zip As ZipFile = ZipFile.Read(ZipFileToExtract)
Dim e As ZipEntry
For Each e In zip
e.Extract
Next
End Using
Catch ex1 As Exception
Console.Error.WriteLine("exception: {0}", ex1.ToString)
End Try


Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:

Using zip As ZipFile = ZipFile.Read(FilePath)
zip.StatusMessageTextWriter= System.Console.Out
'Status Messages will be sent to the console during extraction
zip.ExtractAll()
End Using


Create a Zip, entries get passwords:

Try
Using zip As New ZipFile
'the first entry is not protected by a password
zip.AddFile("c:\datafiles\ReadMe.txt", "")
zip.Password = "123456!"
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.Password= "!Secret1";
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try


Add a few files to a zip file, using WinZip-compatible AES encryption on the entries:
Try
Using zip As New ZipFile
zip.Password = "The.Silvertones.Box.Set!"
zip.Encryption = EncryptionAlgorithm.WinZipAes256
zip.AddFile("c:\datafiles\RawData-2008-12-20.csv", "")
zip.AddFile("c:\photos\personal\7440-N49th.png", "images")
zip.AddFile("c:\Desktop\2005_Annual_Report.pdf", "files\documents")
zip.Save("AES-Encrypted-Secret.zip")
End Using
Catch ex1 As System.Exception
System.Console.Error.WriteLine("exception: {0}", ex1)
End Try


Extract entries using a password:

Using zip As new ZipFile(FilePath)
Dim e As ZipEntry
For Each e In zip
If (e.UsesEncryption)
e.ExtractWithPassword("Secret!")
Else
e.Extract
End If
Next
End Using



ادامه دارد ......

سلام
ببخشید این کدی که واسه ی فشرده سازی گذاشتید اولا فقط فایلها رو میتونه تبدیل کنه پس برای پوشه ها چی؟دوما:وقتی می خواد تبدیل کنه خطا میگیره که "خطا در بازیابی اطلاعات"هستش مشکلش چیه؟
سوال بعدیم هم اینه که تو اون نمونه برنامه ای گذاشتید وقتی می خوایم یه فایل رو برای فشرده کرده انتخاب کنیم فقط فایلهای زیپ رو میشناسه در صورتی که من میخوام هر نوع فایلی رو که خواستم فشرده کنه ؟واینکه تو این برنامه کجا مسیر ذخیره ی فایل فشرده رو باید بهش بدیم؟اگه میشه یه راهنما برای برنامه تون بذاریدیا خودتون همینجوری راهنمایی کنید.ممنون.هرچی سریعتر بهتر.

Alirezanet
چهارشنبه 04 اسفند 1389, 10:43 صبح
سلام
ببخشید این کدی که واسه ی فشرده سازی گذاشتید اولا فقط فایلها رو میتونه تبدیل کنه پس برای پوشه ها چی؟دوما:وقتی می خواد تبدیل کنه خطا میگیره که "خطا در بازیابی اطلاعات"هستش مشکلش چیه؟
سوال بعدیم هم اینه که تو اون نمونه برنامه ای گذاشتید وقتی می خوایم یه فایل رو برای فشرده کرده انتخاب کنیم فقط فایلهای زیپ رو میشناسه در صورتی که من میخوام هر نوع فایلی رو که خواستم فشرده کنه ؟واینکه تو این برنامه کجا مسیر ذخیره ی فایل فشرده رو باید بهش بدیم؟اگه میشه یه راهنما برای برنامه تون بذاریدیا خودتون همینجوری راهنمایی کنید.ممنون.هرچی سریعتر بهتر.

سلام عزیز یه کم دقت مشکلاتتون رو حل میکنه !!!!!!!!!!!!!!!!!!!!!!!

برای افزودن فایل AddFile و برای افزودن فولدر AddDirectory استفاده کنید !
راهنما هم توی پست اول این تاپیک گذاشتم فایل اصلی این کامپوننت رو اگه دانلود کنید توش Help داره !
یا علی

mahbobehshab
چهارشنبه 04 اسفند 1389, 16:09 عصر
سلام عزیز یه کم دقت مشکلاتتون رو حل میکنه !!!!!!!!!!!!!!!!!!!!!!!

برای افزودن فایل AddFile و برای افزودن فولدر AddDirectory استفاده کنید !
راهنما هم توی پست اول این تاپیک گذاشتم فایل اصلی این کامپوننت رو اگه دانلود کنید توش Help داره !
یا علی
آخه من همون مثال اولی که تو پست اول برای فشرده سازی فایل گذاشتید تو فرمم گذاشتم ولی همش خطا میگیره که خطاش هم اینه"خطا در بازیابی اطلاعات" نمی دونم چیکار کنم؟:عصبانی++:

mahbobehshab
یک شنبه 08 اسفند 1389, 10:02 صبح
آخه من همون مثال اولی که تو پست اول برای فشرده سازی فایل گذاشتید تو فرمم گذاشتم ولی همش خطا میگیره که خطاش هم اینه"خطا در بازیابی اطلاعات" نمی دونم چیکار کنم؟:عصبانی++:

دوست عزیز ببخشید من چندتاا سوال از محضرتون داشتم:
1-من از مثالهایی که برای دانلود گذاشته بودید استفاده کردم(وی بی دات نت):تو فرم فشرده سازی اطلاعات اولا که دکمه ای رو که برای انتخاب فایل برای فشرده سازی گذاشتید می زنم که فایل رو انتخاب کنم ولی بعد از زدن اکی مسیر فایل رو تو تکست باکس قرار نمیده؟
2-توی این فرم دکمه ای برای اینکه بخوایم مسیری رو برای ذخیره ی فایل فشرده انتخاب کنیم نذاشتید؟
3- حالا همه ی اینها به کنار:من یه مسیری رو خودم تو تکست باکسها از تو سیستمم قرار میدم ولی بعد از زدن دکمه زیپ ایت این پیغام رو مید: exception while zipping:bad directory.در حالیکه من هر مسیری که میدم همین خطارو میگیره.لطفا راهنماییم کنید.

mahbobehshab
چهارشنبه 11 اسفند 1389, 21:42 عصر
دوست عزیز ببخشید من چندتاا سوال از محضرتون داشتم:
1-من از مثالهایی که برای دانلود گذاشته بودید استفاده کردم(وی بی دات نت):تو فرم فشرده سازی اطلاعات اولا که دکمه ای رو که برای انتخاب فایل برای فشرده سازی گذاشتید می زنم که فایل رو انتخاب کنم ولی بعد از زدن اکی مسیر فایل رو تو تکست باکس قرار نمیده؟
2-توی این فرم دکمه ای برای اینکه بخوایم مسیری رو برای ذخیره ی فایل فشرده انتخاب کنیم نذاشتید؟
3- حالا همه ی اینها به کنار:من یه مسیری رو خودم تو تکست باکسها از تو سیستمم قرار میدم ولی بعد از زدن دکمه زیپ ایت این پیغام رو مید: exception while zipping:bad directory.در حالیکه من هر مسیری که میدم همین خطارو میگیره.لطفا راهنماییم کنید.

خواهش ميكنم جواب سوالمو بدين.شما كه اين همه زحمت كشيديد اين رو هم جواب بديد.(سوال بالا)وقت چنداني ندارم.ممنون

histamin
سه شنبه 23 فروردین 1390, 10:54 صبح
ایا می شود بدون بار کردن zip محتوای ان را خواند؟ با تشکر

jejoan
شنبه 30 مهر 1390, 10:59 صبح
سلام خیلی عالی بود فقط برای برعکسش چکارکنم.(تبدیل zip به پوشه عادی)

bahman1235
جمعه 23 دی 1390, 06:13 صبح
از تون تشكر ميشود اگر سورس همين برنامه را در c داريد براي من بفرستيد

Alirezanet
چهارشنبه 28 دی 1390, 23:56 عصر
سلام متاسفانه الان دسترسی به سورس مربوط به c ندارم ولی میتونید فایل اصلیش رو که توی پست 1 گذاشتم دانلود کنید . 1 فایل help داره که توش نمونه کد ها هست .
موفق باشید

حدیث کلانتری
جمعه 07 بهمن 1390, 11:32 صبح
اگه میشه به زبان C++‎ هم بزارید پروژه ی استادمانه گفته برنامه zip و unzip فایل های پیاده سازی کنیم فقط چند روز دیگه برای ارائش وقت دارم توخیلی سایت ها گشتم ولی خیلی گنگ بودن منم تازه کارم زیاد سردر نیاوردم یکم راهنماییم کنید خیلی دنبال اینجور مطلبی میگشتم اگه بزارید واقعا ممنون میشم:لبخندساده:

حدیث کلانتری
دوشنبه 10 بهمن 1390, 10:46 صبح
خواهش میکنم اگه امکانش براتان هست برنامه فشرده سازی (zip و unzip ) با هافمن را برایم بگذارید یا به زبان c++ یا جاوا خیلی ممنون میشم

mahdiaspx
چهارشنبه 08 شهریور 1391, 18:56 عصر
سلام من توی سی شارپ و البته تحت وب کد زیر و نوشتم .
using (ZipFile zip = new ZipFile())
{
zip.AddFile("SaateKari.pdf");
zip.AddFile("Vazayef.pdf");
zip.Save("~/AttachmentFile.zip");
}

و خطای زیر و میده

Could not find a part of the path 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\~\DotNetZip-oybf00ig.tmp'.

ISJ_PRG
پنج شنبه 09 شهریور 1391, 08:40 صبح
این کتابخانه به صورت متن باز و همراه با مثال ها و مستندات مربوطه از اینجا (http://www.codeplex.com/DotNetZip) قابل دریافت می باشد.
کدوماشونو دانلود کنم؟

Alirezanet
سه شنبه 14 آذر 1391, 03:14 صبح
ورژن 1.9 این برنامه کتابخانه خیلی قوی تر از قبل شده ... میتونید از اینجا (http://dotnetzip.codeplex.com/)دریافت کنید و یا پست اول !

خواهش میکنم اگه امکانش براتان هست برنامه فشرده سازی (zip و unzip ) با هافمن را برایم بگذارید یا به زبان C++‎‎‎ یا جاوا خیلی ممنون میشم

من در مورد هافمن اطلاعات خاصی ندارم و این تاپیک مربوط به این کتابخانه است.


اگه میشه به زبان C++‎‎‎‎ هم بزارید پروژه ی استادمانه گفته برنامه zip و unzip فایل های پیاده سازی کنیم فقط چند روز دیگه برای ارائش وقت دارم توخیلی سایت ها گشتم ولی خیلی گنگ بودن منم تازه کارم زیاد سردر نیاوردم یکم راهنماییم کنید خیلی دنبال اینجور مطلبی میگشتم اگه بزارید واقعا ممنون میشم:لبخندساده:

در پست بعدی به زبان C++‎‎/ClI نحوه استفاده اون رو قرار میدم .


کدوماشونو دانلود کنم؟

لینک هم در پست اول و هم در همین پست موجود هست.


سلام من توی سی شارپ و البته تحت وب کد زیر و نوشتم .
using (ZipFile zip = new ZipFile())
{
zip.AddFile("SaateKari.pdf");
zip.AddFile("Vazayef.pdf");
zip.Save("~/AttachmentFile.zip");
}

و خطای زیر و میده

Could not find a part of the path 'C:\Program Files (x86)\Common Files\Microsoft Shared\DevServer\10.0\~\DotNetZip-oybf00ig.tmp'.

این خطا مربوط به این هستش که فایل مورد نظر شما توی مسیر پروژه قرار نداره یا اسمشو اشتباه وارد کردید.
موفق باشید

Alirezanet
سه شنبه 14 آذر 1391, 03:23 صبح
نحوه استفاده به زبان C++

CopyCreate a Zip archive - destructor



using namespace System;
using namespace Ionic::Zip;

int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");

ZipFile ^ zip;
try
{
zip = gcnew ZipFile();
zip->AddEntry("Readme.txt", "This is the content for the Readme.txt entry.");
zip-&gtAddFile("CreateZipFile.cpp");
zip->Save("test.zip");
}
finally
{
zip->~ZipFile();
}

Console::WriteLine(L"Press <ENTER> to quit.");
Console::ReadLine();
return 0;
}


Create a Zip archive - delete


using namespace System;
using namespace Ionic::Zip;

int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");

ZipFile ^ zip;
try
{
zip = gcnew ZipFile();
zip->AddEntry("Readme.txt", "This is the content for the Readme.txt entry.");
zip-&gtAddFile("CreateZipFile.cpp");
zip->Save("test.zip");
}
finally
{
delete zip;
}

Console::WriteLine(L"Press <ENTER> to quit.");
Console::ReadLine();
return 0;
}

Create a zip file using AES encryption


#include "stdafx.h"

using namespace System;
using namespace Ionic::Zip;

int main(array<System::String ^> ^args)
{
Console::WriteLine(L"Hello World");

ZipFile ^ zip;
try
{
zip = gcnew ZipFile();
zip->Password = verySecret;
zip->Encryption = EncryptionAlgorithm::WinZipAes128;
zip->AddEntry("Readme.txt", "This is the content for the Readme.txt entry.");
zip->AddFile("Data.csv");
zip->Save("test.zip");
}
finally
{
zip->~ZipFile();
}

Console::WriteLine(L"Press <ENTER> to quit.");
Console::ReadLine();
return 0;
}

Use a SaveProgress event from C++


#include "stdafx.h"

using namespace System;
using namespace System::IO;
using namespace Ionic::Zip;


public ref class DnzHelloCppCli
{

private:
bool justHadByteUpdate;

public:
DnzHelloCppCli()
{
}

public:
void Run()
{
Console::WriteLine(L"Hello World");
Console::WriteLine("Using DotNetZip version {0}", ZipFile::LibraryVersion);
array<String^>^ filesToAdd = System::IO::Directory::GetFiles(".", "*.cpp");

ZipFile ^ zip;
try
{
zip = gcnew ZipFile();
zip->Password = "Harbinger";
zip->Encryption = EncryptionAlgorithm::WinZipAes128;
zip->SaveProgress += gcnew EventHandler<SaveProgressEventArgs^>(this, &DnzHelloCppCli::SaveProgress);
zip->AddEntry("Readme.txt", "This is the content for the Readme.txt entry.");
zip->AddFiles(filesToAdd, "files");
zip->Save("MyArchive.zip");
}
finally
{
zip->~ZipFile();
}

Console::WriteLine(L"Press <ENTER> to quit.");
Console::ReadLine();
return;
}

public:
void SaveProgress(Object^ sender, SaveProgressEventArgs^ e)
{
switch (e->EventType)
{
case ZipProgressEventType::Saving_Started:
{
Console::WriteLine("Saving: {0}", e->ArchiveName);
break;
}
case ZipProgressEventType::Saving_BeforeWriteEntry:
{
if (this->justHadByteUpdate)
{
Console::WriteLine();
}
Console::WriteLine(" Writing: {0} ({1}/{2})",
e->CurrentEntry->FileName,
(e->EntriesSaved + 1),
e->EntriesTotal);
this->justHadByteUpdate = false;
break;
}
case ZipProgressEventType::Saving_AfterWriteEntry:
{
if (e->CurrentEntry->InputStreamWasJitProvided)
{
e->CurrentEntry->InputStream->Close();
e->CurrentEntry->InputStream = nullptr;
}
break;
}
case ZipProgressEventType::Saving_Completed:
{
this->justHadByteUpdate = false;
Console::WriteLine();
Console::WriteLine("Done: {0}", e->ArchiveName);
break;
}
case ZipProgressEventType::Saving_EntryBytesRead:
{
if (this->justHadByteUpdate)
{
Console::SetCursorPosition(0, Console::CursorTop);
}
Console::Write(" {0}/{1} ({2:N0}%)",
e->BytesTransferred,
e->TotalBytesToTransfer,
(((double) e->BytesTransferred) / (0.01 * e->TotalBytesToTransfer)));
this->justHadByteUpdate = true;
break;
}
}
}

};


int main(array<System::String ^> ^args)
{
try
{
DnzHelloCppCli^ me = gcnew DnzHelloCppCli();
me->Run();
}
catch (Exception^ ex1)
{
Console::Error->WriteLine(String::Concat("exception: ", ex1));
}
return 0;
}

موفق باشید

wacker_sh
چهارشنبه 29 خرداد 1392, 23:22 عصر
داداششششششششششششش دمتتتتتتتتتتتتتتتتتتتتتتت تت گرمممممممممممممممممممممم عالیییییییییییییییییییییی ییییییی بوووووووووووووووووووووووو وود

fmka2f
یک شنبه 03 شهریور 1392, 11:52 صبح
سلام ايا ميشه يک فايل زيپ رو همزمان با اپلود شدن رو سرور اکسترکت کرد؟ميشه يک نمونه کد سي شارپ براي اينکار بذاريد؟

Alirezanet
یک شنبه 03 شهریور 1392, 19:48 عصر
سلام ايا ميشه يک فايل زيپ رو همزمان با اپلود شدن رو سرور اکسترکت کرد؟ميشه يک نمونه کد سي شارپ براي اينکار بذاريد؟

امکان انجام این کار به صورت همزمان فکر نمیکنم وجود داشته باشه . البته طبق فرضیه برنامه نویس ها هیچ چیز غیر ممکن نیست ولی لااقل من نمونه کدی در این زمینه دراختیار ندارم تا بتونم کمکتون کنم . اگر سایر دوستان این کار رو قبلا انجام دادند نمونه کد قرار بدن تا ما هم استفاده کنیم .
موفق باشید

fmka2f
دوشنبه 04 شهریور 1392, 13:27 عصر
امکان انجام این کار به صورت همزمان فکر نمیکنم وجود داشته باشه . البته طبق فرضیه برنامه نویس ها هیچ چیز غیر ممکن نیست ولی لااقل من نمونه کدی در این زمینه دراختیار ندارم تا بتونم کمکتون کنم . اگر سایر دوستان این کار رو قبلا انجام دادند نمونه کد قرار بدن تا ما هم استفاده کنیم .
موفق باشید
ممنون از جوابتون
حالا که همزمان نميشه ميشه يک کد سي شارپ براي اکسترکت يک فايل قرار بديد لطفا

آریوس_1985
دوشنبه 01 مهر 1392, 13:20 عصر
سلام. يكبار يه نفر به مشكل فايل هاي فارسي اشاره كرد كه شما هم يك سمپل گذاشتين. من هم مشكل اون دوستمونو دارم و البته بايد اضافه كنم با Winrar اين مشكل وجود داره.وگرنه با ALzip هيچ مشكلي نيست. سمپل شما هم با Winrar مشكل داره.شما اطلاعي در اين زمينه داري؟؟

Alirezanet
سه شنبه 02 مهر 1392, 19:32 عصر
سلام. يكبار يه نفر به مشكل فايل هاي فارسي اشاره كرد كه شما هم يك سمپل گذاشتين. من هم مشكل اون دوستمونو دارم و البته بايد اضافه كنم با Winrar اين مشكل وجود داره.وگرنه با ALzip هيچ مشكلي نيست. سمپل شما هم با Winrar مشكل داره.شما اطلاعي در اين زمينه داري؟؟

دقیق حضور ذهن ندارم که مشکلی با winrar داشت این کامپوننت یا نه, ولی بعید هم نیست که نتونید فایل های rar رو با استفاده ار این کتابخانه مدیریت کنید. winrar از استانداردهای کلی zip استفاده نمیکنه و به صورت خصوصی کار میکنه به همین دلیل اکثر نرم افزار های فشرده سازی از فرمت های rar پشتیبانی نمیکنند.

mmm123
شنبه 04 مرداد 1393, 11:47 صبح
:قلب::تشویق::لبخند::لبخندساد :

Hossis
جمعه 24 بهمن 1393, 10:38 صبح
سلام
کدهای بالا قابل خواندن نیست
من می خوام یک پوشه رو فشرده کنم به طوری که خود پوشه با تمام فایلها و زیرشاخه هاش توی فایل فشرده باشند
اگر میشه یک مثال بزنید

Hossis
جمعه 24 بهمن 1393, 11:58 صبح
سلام
کدهای بالا قابل خواندن نیست
من می خوام یک پوشه رو فشرده کنم به طوری که خود پوشه با تمام فایلها و زیرشاخه هاش توی فایل فشرده باشند
اگر میشه یک مثال بزنیدخودم درست کردم

-p.l.s-
شنبه 16 اسفند 1393, 12:35 عصر
برادر اگه میشه برای اکسترکت با پسورد هم یه مثال تو c# بزن همه رو گفتی جز اون
دمتم گرم تا اینجا کلی کارم راه افتاده

M_Shams
دوشنبه 08 تیر 1394, 15:50 عصر
با سلام و تشکر از کدای خوبتون . فقط یه چیزی یه فایل زیپ شده رو بخوایم از حالت زیپ درباریم باید چه کدی بزنیم ؟ ممنون میشم اگه کدشو بذارید .با تشکر

Alirezanet
سه شنبه 09 تیر 1394, 02:45 صبح
سلام extract توی نمونه کد ها هست :

لینک (http://barnamenevis.org/showthread.php?210178-ZiP-%D9%88-Unzip-%DA%A9%D8%B1%D8%AF%D9%86-%D9%81%D8%A7%DB%8C%D9%84-%D9%88-%D9%81%D9%88%D9%84%D8%AF%D8%B1-%D9%87%D8%A7-%D8%A8%D9%87-%D8%B1%D9%88%D8%B4-%D8%AE%DB%8C%D9%84%DB%8C-%D8%B3%D8%A7%D8%AF%D9%87-!&p=932195&viewfull=1#post932195)

Extract items from a zip file:
Extract all entries, and set the StatusMessageTextWriter so that verbose messages are generated:
Extract entries using a password:

mohsenone
شنبه 24 مرداد 1394, 15:34 عصر
با سلام
خیلی ممنون از شما بابت این کلاس
یه سوال داشتم
من میخوام یه سری فایل رو از روی سرور زیپ کنم و بدون اینکه فایل زیپ روی سرور ذخیره بشه فرستاده بشه طرف کاربر
این کلاس میتونه این کار رو انجام بده؟

SajjadKhati
جمعه 18 تیر 1395, 09:14 صبح
سلام
آقا من متوجه نشدم ، این الان فایل rar هم میتونه اکسترکت کنه؟

houmana
چهارشنبه 14 اسفند 1398, 18:22 عصر
اگر کسی مثال برای زبان های دیگه برنامه نویسی هم احتیاج داشت بگه براش بزارم :
C#‎‎
Vb.Net
ASP.NET
Powershell
Com, ASP,PHP,VB6,Java
C++‎‎/CLI

موفق باشین !!:چشمک:


دوست عزیز لطفا به من کمک کن من زبان vb6 کار می کنم ولی اصلا نتونستم کار با zip رو پیدا کنم لطفا کمکم کن

ROSTAM2
پنج شنبه 15 اسفند 1398, 07:55 صبح
دوست عزیز لطفا به من کمک کن من زبان vb6 کار می کنم ولی اصلا نتونستم کار با zip رو پیدا کنم لطفا کمکم کن

Data Compression at 148 MByte/s with VB6 (http://www.freevbcode.com/ShowCode.asp?ID=8348)
Zipping files using the free Info-Zip Zip DLL (http://www.vbaccelerator.com/home/VB/Code/Libraries/Compression/Zipping_Files/article.html)
Zip and Unzip Using VB5 or VB6 (https://www.codeguru.com/vb/gen/vb_graphics/fileformats/article.php/c6743/Zip-and-Unzip-Using-VB5-or-VB6.htm)