1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
|
................
// Création du fichier Zip : Nomfichier
ZipFile zip = ZipFile.Create( NomFichier );
// Initialisation de 2 compteurs
int iCpt = 0;
int iUp = 0;
try
{
// Début de mise a jour du fichier ZIP
zip.BeginUpdate();
// ajout des fichiers dans le ZIP
foreach ( FileInfo f in fFichiers )
{
zip.Add( f.FullName , f.FullName.Replace( this.RepBases , "" ) );
// Incrémentation du premier compteur pour initialisation d'un AventArgs Personnalisé pour une progressBar
iCpt++;
// Init de l'eventAargs
FileCompressEventArgs fCompArg = new FileCompressEventArgs( f.FullName.Replace( this.RepBases , "" ) , iCpt , fFichiers.Count - 1 );
// Déclenchement de l'évènements
this.OnFichierCompresser( fCompArg );
iUp++;
// Tous les 100 fichiers ont fait un update du fichier
if ( iUp == 100 )
{
zip.CommitUpdate();
iUp = 0;
zip.BeginUpdate();
}
}
// On s'assure que tout les fichiers sont intégrés dans le zip
zip.CommitUpdate();
// Ajouter les commentaires
zip.BeginUpdate();
zip.SetComment( "Créer le " + System.DateTime.Now );
zip.CommitUpdate();
// On ferme le fichier et on déclenche un evènement anoncant la fin de la compression
zip.Close();
this.OnCompressionReussie( this , null ); |
Partager