This sample shows how to implement progress indication in ZipForge.
Download ZipForge.NET | Learn More | All C# samples
using System;
// This namespace contains the main class - ZipForge.
// Don't forget to add a reference to the ZipForge
// assembly to your project references
using ComponentAce.Compression.ZipForge;
// This namespace contains ArchiverException class
// required for error handling
using ComponentAce.Compression.Archiver;
namespace ProgressIndication
{
class Program
{
static void Main(string[] args)
{
// Create an instance of the ZipForge class
ZipForge archiver = new ZipForge();
try
{
// Set the name of the archive file we want to create
archiver.FileName = @"c:\test.zip";
// open an existing ZIP file
archiver.OpenArchive(System.IO.FileMode.Open);
// set OnFileProgress event handler
archiver.OnFileProgress += new BaseArchiver.OnFileProgressDelegate(archiver_OnFileProgress);
// set default directory for all operations
archiver.BaseDir = @"c:\temp";
// extract files to c:\temp folder
archiver.ExtractFiles("*.*");
// close archive
archiver.CloseArchive();
Console.WriteLine("All files were extracted successfully");
Console.ReadLine();
}
catch (ArchiverException ae)
{
Console.WriteLine("Message: {0}\t Error code: {1}",
ae.Message, ae.ErrorCode);
// Wait for the key to be pressed
Console.ReadLine();
}
}
static void archiver_OnFileProgress(object sender, string fileName, double progress,
TimeSpan timeElapsed, TimeSpan timeLeft, ProcessOperation operation,
ProgressPhase progressPhase, ref bool cancel)
{
Console.WriteLine("Processing {0}, {1}% complete, time left: {2}", fileName,
progress.ToString("f2"), timeLeft);
}
}
}
Download ZipForge.NET | Learn More | All C# samples |