Le forum (ô combien francophone) des utilisateurs de Powerbuilder.






Bonjour à tous,
Je souhaite ouvrir cette discussion car je voudrais connaitre la methode que vous utilisez pour zipper des fichiers.
Pour ma part, j'utilise deux petits programme DOS PKZIP.EXE, et PKUNZIP.EXE.
string pathname,filename integer li_retour pathname = "c:\pesee8.zip" li_retour = GetFileSaveName("Enregistrer sous", pathname, filename, "ZIP", "Zip Files (*.ZIP),*.ZIP") If li_retour = 1 then If fileexists(pathname) then messagebox("export",) return Else string chemin_zip,chemin_exe,commande,chemin_fichier chemin_fichier = "c:\peseev4\pesee.hv4" chemin_exe = "c:\site_v6\pkzip.exe " chemin_zip = pathname commande = chemin_exe+chemin_zip+" "+chemin_fichier run(commande) messagebox("export",) End if End if
Ca fonctionne bien, mais peut être que vous avez de meilleurs methodes
Si c'est le cas, je suis preneur.
Hors ligne






Bonjour,
Pour ma part j'utilise une librairie PB développée par ROLAND SMITH (code libre) http://www.topwizprogramming.com/freecode_zlibwapi.html. c'est un nvo avec toutes les méthodes nécessaires pour zipper/dezipper un fichier.
L'avantage est de ne pas faire appel à de programmes externes. Parcontre, il faut déployer une dll avec l'application zlibwapi.dll.
Hors ligne






Merci beaucoup Buck,
je viens de tester ta librairie : Elle marche nickel ., et je pense qu'elle peut intéresser du monde.
Je vais voir comment l'adapter à mon appli.
Si quelqu'un a une autre methode, ça m'intéresse aussi
Hors ligne







Bonjour,
Je m'y perds un peu dans toutes les fonctions du userobject.
J'ai simplement besoin d'archiver un fichier en batch, je dois donc créer l'archive et ajouter mon fichier dans cette archive.
Pouvez vous éclairer ma lanternne, à savoir quelle fonction je dois utiliser pour réaliser cela ?
Merci d'avance,
Hors ligne







wazou1812 a écrit:
Bonjour,
Je m'y perds un peu dans toutes les fonctions du userobject.
J'ai simplement besoin d'archiver un fichier en batch, je dois donc créer l'archive et ajouter mon fichier dans cette archive.
Pouvez vous éclairer ma lanternne, à savoir quelle fonction je dois utiliser pour réaliser cela ?
Merci d'avance,
A force de persévérance, j'y suis arrivée comme une grande !
Avec les fonctions of_zipOpen , of_ImportFile et of_zipClose, ça marche.
Il y a juste un problème dans la fonction of_zipopennewfileinzip pour le 'calcul' de la date qui est positionné sur le fichier lorsqu'on le dézippe, mais en corrigeant ce problème, ça marche bien.
Je remets le sujet en résolu.
Hors ligne






Bonjour,
J'étais en train de répondre à ta question pendant ta réponse, pour les autres :
ULong lul_zipFile Integer li_rc, li_file, li_count String ls_title, ls_fname, ls_filter, ls_pathname, ls_filename[] ls_title = ls_filter = "All Files (*.*), *.*" // Ouverture du fichier zip lul_zipFile = in_ziplib.of_zipOpen(is_zipfile) li_rc = GetFileOpenName(ls_title, ls_pathname, ls_filename, ls_filter) li_count = UpperBound(ls_filename) FOR li_file = 1 TO li_count // importation du fichier dans l'archive in_ziplib.of_ImportFile(lul_zipFile, ls_pathname + "\" + ls_filename[li_file]) NEXT // Fermeture du fichier zip in_ziplib.of_zipClose(lul_zipFile, )
Hors ligne







Merci buck,
Cela confirme ce que j'avais codé.
Hors ligne