Sauvegarde fichiers compressés en zip
Stagiaire WDF
Inscrit:
07/05/2009 23:03
Post(s): 14
bonjour,

J'ai un petit soucis pour la sauvegarde par programmation de fichiers compressés en zip
J’ai fait une petite application avec multidossiers ,ou j’ai introduit dedans une commande sauvegarde et une autre ,restaurer les données, et cela pour chaque dossier crée, dont vous trouverez ci-dessous le code.
La création de l’archive et la sauvegarde se fait, mais avec des fichiers vides.
j’ai fait un petit test en introduisant un fichier d’extention gif dans un dossier donné, la sauvegarde de ce fichier ne se fait pas.
Pour rappel mon programme windev se trouve dans le disque G:\, et j’ai bien peur que la sauvegarde des fichiers vient de ce repertoire et non du répertoire d:\compte+\dossiers\, et pourtant j’ai fait un trace du cheminaplication qui m’indique que je suis dans le bon répertoire “D:\“. y 'a t'il quelqu'un qui puisse m'aider à résoudre ce problème ? Merçi

Code ://

Code: Tout sélectionner
CAS "Sauvegarde"

// cheminapplication= “d:\compta+\dossiers\“

// cheminarchive=cheminapplication+nomdossier+ “\archives\ “

// cheminarchive1=cheminapplication+nomdossier+“\“

// resfichier est une chaine

// nomarchive est une chaine //nom de l’archive crée
    Resfichier=fRep(Cheminarchive+Nomarchive,frFichier)

       SI Resfichier="" ALORS
       zipCrée(Nomarchive,Cheminarchive)
       FIN

       SI Rescréationarchive<>0 ALORS
       Erreur(zipMsgErreur(Rescréationarchive))
       FIN

         zipOuvre(Nomarchive,Cheminarchive+Nomarchive)
        Resfichier=fRep(Cheminarchive1+"*.*",frFichier)
           TANTQUE Resfichier<>""
           Jauge1=Evénement("jaugecompression",FenEnExécution(),JaugeCompactage)
          BTN_ok..Etat=Grisé
          BTN_Annuler..Etat=Grisé
          BTN_SELECTEUR..Etat=Grisé

    SI Minuscule(Droite(Resfichier,3))="fic" OU …
    Minuscule(Droite(Resfichier,3))="ndx" OU...
    Minuscule(Droite(Resfichier,3))="mmo" OU…
    Minuscule(Droite(Resfichier,3))="bmp" OU...
    Minuscule(Droite(Resfichier,3))="jpg" OU …
    Minuscule(Droite(Resfichier,3))="png" OU...
    Minuscule(Droite(Resfichier,3))="gif" OU …
    Minuscule(Droite(Resfichier,3))="rep" OU...
    Minuscule(Droite(Resfichier,3))="ico"  ALORS

    zipAjouteFichier(Nomarchive,Resfichier,zipDisque)
                 
      FIN
             
    Resfichier=fRep("",frFichier)

          FIN

          
          BTN_ok..Etat=Actif
          BTN_Annuler..Etat=Actif
          BTN_Selecteur..Etat=Actif
          FinEvénement(Jauge1)

          Jauge1..Visible=Faux
          zipFerme(Nomarchive)
          LIB_Libellé2..Visible=Faux
          LIBfichierencours..Visible=Faux
    Ferme()

Contribution le : 06/11/2009 12:44

Edité par drcharly93 sur 8/11/2009 19:32:12
Créer un fichier PDF de la contribution Imprimer


Re: Sauvegarde fichiers compressés en zip
Animateur WDF
Inscrit:
02/03/2003 04:07
De Noisy le grand(93)
Post(s): 2745
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

Contribution le : 09/11/2009 12:03
_________________
@A+
Contact (privé)......
email : drcharly@wdforge.org
[DrCharly93]
Créer un fichier PDF de la contribution Imprimer



 Haut   Précédent   Suivant




Enregistrer votre réponse
CompteNom   Mot de passe   Authentification
Message:


Vous ne pouvez pas débuter de nouveaux sujets.
Vous pouvez voir les sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

[Recherche avancée]


Connexion
Menu
Chercher WDForge
Chercher Web
Partenaires
Visualiser tous les Partenaires...
WinDev, WebDev, WinDev Mobile et HyperFile sont des marques déposées par PCSoft. |  Voter |  Legal |  Contact |   XOOPS 2.0.13.2