DÉCOMPRESSER EN .NET PLUSIEURS FORMATS POPULAIRES D'ARCHIVAGE (RAR, ZIP, CAB, 7Z
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 2021
-
21 mars 2010 à 16:54
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011
-
23 déc. 2011 à 15:48
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 23 déc. 2011 à 15:48
Merci à toi
ThomasIsComingBack
Messages postés33Date d'inscriptionlundi 19 juillet 2010StatutMembreDernière intervention 6 mars 2013 15 déc. 2011 à 18:06
Malgré tout ces commentaires qui disent que c'est pas super, moi je te dis merci !
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 1 sept. 2011 à 13:07
@HACKANDROID
Quel est le problème ? Quels sont les cas qui ne marche pas ?
HACKANDROID
Messages postés103Date d'inscriptionmardi 12 juillet 2011StatutMembreDernière intervention 3 janvier 2013 30 août 2011 à 23:48
Bien mais sa marche pas super!
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 23 mars 2010 à 01:47
Merci
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 mars 2010 à 23:27
dupliuqer des programmes d'une taille si modeste n'est pas un souci en soi, bien au contraire...
souci de version, de langue, desinstallation.....
au moins, tu saisi ce que tu livres, je suis pleinement d'accord avec toi ^^
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 20:42
Parce que si tu désinstalle 7-zip le code fonctionne plus.
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 22 mars 2010 à 20:38
c'est pas ce que j'ai dis mon pc par exemple à déjà ce programme 7z d'installer sur ma machine donc pourquoi ne pas utiliser le programme installé plutot que de le rajouter à notre programme.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 19:57
Bidouille007, cette méthode est très fiable. Elle est utilisé par Winrar et 7-Zip.
Et pour cause, si l'on ne déploie pas le programme avec l'application et que l'administrateur décide de supprimer le programme cible, et bien ça ne marche plus. Pour rappel, contrairement au DLLs, il n'y à pas de mécanisme pour un exécutable qui préviens l'utilisateur que le programme est partagé.
Et il n'y a aucun doute concernant le chemin lors du déploiement. Si on regarde attentivement, il n'est en dur que lors du débogage. Lorsqu'on le compile il devient relatif.
=> My.Application.Info.DirectoryPath
J'ai déployé ce code sur Xp/7/Vista avec Inno setup sans aucun problème.
Comme quoi, il y avait des surprises dans ce code.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 19:26
En fait Renfield, c'est déjà géré. Si le fichier est corrompu ou n'existe pas, Unrar comme 7-zip retournent le code 2 (Une erreur fatale s'est produite).
cs_bidouille007
Messages postés257Date d'inscriptionjeudi 11 septembre 2008StatutMembreDernière intervention22 décembre 20121 22 mars 2010 à 13:00
code sans surprise.
Même pas la recherche des exe pour récupérer le chemin d'installation des exécutables donc gros doute sur le déploiement du programme par la suite, puisque le chemin est dans le code en dur.
Je vois que finalement au déploiement du logiciel il faut aussi diffusé unrar et 7z pour que le chemin des exécutables puissent être en dur, au risque de faire doublon sur un machine qui a déjà ces applications.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 22 mars 2010 à 12:36
Je ne suis pas tout a fait d'accrod avec ton raisonnement, BigBoss9...
même un assemblage de fonctions et appels basiques peuvent devenir interessants...
un algo particulier, etc. c'est OK.
là, mon premier commentaire venait de ma relative deception ; puisque je m'attendait a voir recodé les algos de toutes ces methodes de compression.
maintenant, cette source est certes basique, mais il serait possible de gérer le retour mieux que True/False (simple test, le fichier est corrompu ou n'existe pas, je recoit 'False' en retour...
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 12:14
Malheureusement ce n'est pas mon but. Si je poste du code plutôt qu'une source, c'est pour deux raisons :
- Tout le monde peut voir le code, pas seulement les inscrits VbFrance.
- Ce code a été extrait du programme sur lequel je travail, et il aurait été noyé dans la masse.
Je cherche juste à partager les informations que l'on ne trouve pas facilement. A part pour le zip et le rar on trouve pas grand chose de simple à utiliser sur
le web.
Mon code semble sans doute trop simple, mais je souhaite pas réinventer l'eau chaude. Dans mon cas, je n'ai aucun impératif de rapidité de traitement ou autre, il faut juste que ça fonctionne.
Quand à ta note, elle correcte et je pense que j'aurais mis la même chose si j'ai placé ce code au niveau "Initié". Mais je l'ai mis au niveau "Débutant".
Je veux pas "me la péter", juste partager.
cs_bigboss9
Messages postés162Date d'inscriptionjeudi 22 janvier 2004StatutMembreDernière intervention20 juillet 2013 22 mars 2010 à 09:19
La question n'est pas de savoir si cela a un but. C'est un code, et non une application que tu nous proposes et en tant que code, ce qu'il fait à termes n'est pas important, c'est la façon dont il le fait.
La seule chose que l'on voit, c'est que tu sais te servir de With, Try, Select Case et de piloter un logiciel tiers comme dit plus haut. Les 3 premiers n'ayant pas d'importance ici, le dernier est ce qui nous interesse.
5/10.
NikatorS
Messages postés147Date d'inscriptionmercredi 18 septembre 2002StatutMembreDernière intervention15 avril 2011 22 mars 2010 à 07:53
C'est bien, en effet, la MÉTHODE que j'utilise mais ce n'est pas le BUT. Avant de faire ce code, j'ai vu beaucoup de programme utilisant une DLL pour décompresser mais jamais personne n'a dit que son application montrer comment utiliser une DLL.
Si j'avais voulu faire un exemple en .NET pour lancer un logiciel tiers (ce qui est une très bonne idée en passant) j'aurai utilisé un programme connu de tous le monde, genre notepad. J'aurai également afficher ce programme. Là, rien ne se passe à l'écran.
Renfield
Messages postés17287Date d'inscriptionmercredi 2 janvier 2002StatutModérateurDernière intervention27 septembre 202174 21 mars 2010 à 16:54
c'est plutot "Lancer en .Net des logiciels tiers (décompression, par exemple)"
23 déc. 2011 à 15:48
15 déc. 2011 à 18:06
1 sept. 2011 à 13:07
Quel est le problème ? Quels sont les cas qui ne marche pas ?
30 août 2011 à 23:48
23 mars 2010 à 01:47
22 mars 2010 à 23:27
souci de version, de langue, desinstallation.....
au moins, tu saisi ce que tu livres, je suis pleinement d'accord avec toi ^^
22 mars 2010 à 20:42
22 mars 2010 à 20:38
22 mars 2010 à 19:57
Et pour cause, si l'on ne déploie pas le programme avec l'application et que l'administrateur décide de supprimer le programme cible, et bien ça ne marche plus. Pour rappel, contrairement au DLLs, il n'y à pas de mécanisme pour un exécutable qui préviens l'utilisateur que le programme est partagé.
Et il n'y a aucun doute concernant le chemin lors du déploiement. Si on regarde attentivement, il n'est en dur que lors du débogage. Lorsqu'on le compile il devient relatif.
=> My.Application.Info.DirectoryPath
J'ai déployé ce code sur Xp/7/Vista avec Inno setup sans aucun problème.
Comme quoi, il y avait des surprises dans ce code.
22 mars 2010 à 19:26
22 mars 2010 à 13:00
Même pas la recherche des exe pour récupérer le chemin d'installation des exécutables donc gros doute sur le déploiement du programme par la suite, puisque le chemin est dans le code en dur.
Je vois que finalement au déploiement du logiciel il faut aussi diffusé unrar et 7z pour que le chemin des exécutables puissent être en dur, au risque de faire doublon sur un machine qui a déjà ces applications.
22 mars 2010 à 12:36
même un assemblage de fonctions et appels basiques peuvent devenir interessants...
un algo particulier, etc. c'est OK.
là, mon premier commentaire venait de ma relative deception ; puisque je m'attendait a voir recodé les algos de toutes ces methodes de compression.
maintenant, cette source est certes basique, mais il serait possible de gérer le retour mieux que True/False (simple test, le fichier est corrompu ou n'existe pas, je recoit 'False' en retour...
22 mars 2010 à 12:14
- Tout le monde peut voir le code, pas seulement les inscrits VbFrance.
- Ce code a été extrait du programme sur lequel je travail, et il aurait été noyé dans la masse.
Je cherche juste à partager les informations que l'on ne trouve pas facilement. A part pour le zip et le rar on trouve pas grand chose de simple à utiliser sur
le web.
Mon code semble sans doute trop simple, mais je souhaite pas réinventer l'eau chaude. Dans mon cas, je n'ai aucun impératif de rapidité de traitement ou autre, il faut juste que ça fonctionne.
Quand à ta note, elle correcte et je pense que j'aurais mis la même chose si j'ai placé ce code au niveau "Initié". Mais je l'ai mis au niveau "Débutant".
Je veux pas "me la péter", juste partager.
22 mars 2010 à 09:19
La seule chose que l'on voit, c'est que tu sais te servir de With, Try, Select Case et de piloter un logiciel tiers comme dit plus haut. Les 3 premiers n'ayant pas d'importance ici, le dernier est ce qui nous interesse.
5/10.
22 mars 2010 à 07:53
Si j'avais voulu faire un exemple en .NET pour lancer un logiciel tiers (ce qui est une très bonne idée en passant) j'aurai utilisé un programme connu de tous le monde, genre notepad. J'aurai également afficher ce programme. Là, rien ne se passe à l'écran.
21 mars 2010 à 16:54