Re: Sauvegarde fichiers compressés en zip

Posté par drcharly93 le 9/11/2009 12:03:58
Bonjour,
Procedure proSauvegarde(sRepAZipper est une chaine, sArchiveNomComplet est une chaine )
nResCreation est un entier
nResAjout est un entier
sZip est une chaine = "MonArchive"
sErreur est une chaine
nEvtJauge est un entier
sExtension est une chaine = ".ndx,.nmo,.bmp,.jpg,.png,.gif,.rep,.ico"
nPos est un entier
sUnFichier est une chaine

//Création / remplacement de l'archive
nResCreation = ZipCrée( sZip, sArchiveNomComplet )
Si nResCreation <> 0 Alors
 sErreur = ZipMsgErreur( nRes )
 Renvoyer sErreur
Fin

//Connexion à la jauge
nEvtJauge=Evénement("jaugecompression",FenEnExécution(),JaugeCompactage)

//Parcours des fichiers du répertoire a zipper
sUnFichier = fRep(sRepAZipper + ["\"] + "*.*", frFichier)
TANTQUE sUnFichier <> ""
 //On filtre sur l'extension
 nPos = Position(minuscule(fExtraitChemin(sUnFichier,fExtension)))
 Si nPos = 0 Alors Goto Suite
 //On ajoute au Zip
 nResAjout = zipAjouteFichier(sZip,sRepAZipper + ["\"] + sUnFichier,zipDisque)
 Si nResAjout <> 0 Alors
  sErreur = ZipMsgErreur (nResAjout )
  ZipFerme( sZip )
  Renvoyer sErreur
 Fin   

Suite:
sUnFichier = fRep( "", frFichier )

FIN
ZipFerme( sZip )
Renvoyer ""

Utilisation de la procédure
sErreur est une chaine

sErreur = proSauvegarde("C:\Mondossier", "C:\Sauvegarde\MonArchive.zip")
Si sErreur <> "" Alors
 Erreur("Une erreur est survenue pendant la sauvegarde", sErreur )
Fin

Code saisie a la volée et pouvant comporter des erreurs

Cette contribution était de : http://old.wdforge.org/newbb/viewtopic.php?forum=20&topic_id=6306&post_id=25002