JPG + ZIP = JPG ET ZIP

jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012 - 21 août 2010 à 19:07
mafieulemouton Messages postés 24 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 26 janvier 2010 - 23 août 2010 à 20:16
Cette discussion concerne un article du site. Pour la consulter dans son contexte d'origine, cliquez sur le lien ci-dessous.

https://codes-sources.commentcamarche.net/source/52209-jpg-zip-jpg-et-zip

mafieulemouton Messages postés 24 Date d'inscription lundi 30 juin 2008 Statut Membre Dernière intervention 26 janvier 2010
23 août 2010 à 20:16
Ça marche pas mal, merci pour l'astuce, j'avais pensé le faire en exploitant les commandes DOS depuis mon formulaire, mais ton utilisation des tableau de bytes est bien plus intéressante!

Par contre ca marche plus ou moins bien selon le zipper activé par exemple avec IZArc je peut voir la liste des fichiers dans le zip de l'image mais pas les extraire.
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
23 août 2010 à 00:13
Merci pour ces pistes, Patrice
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 août 2010 à 18:56
Je l'ai et pas de problème : tous les chemins sont en relatif.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
22 août 2010 à 16:14
Dans le .sln il y a juste le chemin vers le .vbproj (en relatif, mais cela a peut être changé avec 2010)
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 août 2010 à 15:50
@patrice99 : Perso je ne vois de chemin que dans le fichier sln, et ça fonctionne pour VS2010.
cs_Patrice99 Messages postés 1221 Date d'inscription jeudi 23 août 2001 Statut Membre Dernière intervention 9 septembre 2018
22 août 2010 à 15:26
Pour modifier le répertoire sur lequel l'application est créée à l'origine, il suffit simplement d'ouvrir le fichier .sln et .vbproj dans le bloc-notes et de corriger les chemins, ya presque rien à faire. Par ailleurs tout le contenu du dossier "My project" peut être retiré (s'il n'est pas utilisé, ce qui est le cas la plupart du temps, sauf AssemblyInfo.vb qu'on peut mettre dans le dossier principal). Voir par exemple ma source www.vbfrance.com/code.aspx?ID=52083
cs_ghuysmans99 Messages postés 3982 Date d'inscription jeudi 14 juillet 2005 Statut Membre Dernière intervention 30 juin 2013 16
22 août 2010 à 10:07
Oui mais comment séparer la partie JPEG et ZIP ? Il se pourrait très bien que 'PK' se trouve en plein milieu de l'image ... Mais ce qu'on peut alors faire c'est de tester le header à chaque occurence (si la fin de l'archive indiquée par ce header correspond à la fin du fichier, c'est OK).

En tous cas, ça a l'air intéressant à exploiter ...
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012
22 août 2010 à 04:32
ces simple, si un fichier jpg fait 300 Mo c'est qu'il y a quelque chose de louche ^^. non sérieusement Charles Racaud a raison, sa serais pas mal.
Utilisateur anonyme
22 août 2010 à 00:49
Bon ben mintenant, il faut faire l'appli qui va vérifier l'intégralité des fichiers jpeg voir si un zip ne s'y cache pas.
__
Kenji
cs_Jack Messages postés 14006 Date d'inscription samedi 29 décembre 2001 Statut Modérateur Dernière intervention 28 août 2015 79
21 août 2010 à 23:20
Merci pour cette analyse, Jx53 ;-)
Le but de cette source est dans la vingtaine de lignes de code consacrées aux manipulations de fichiers et aux concaténations de tableaux de bytes, ainsi que l'utilisation de la RichTextBox pour accentuer la lisibilité d'une partie de texte et l'utilisation de lien hypertexte.
En ce qui concerne le texte chargé dans le Load, c'est une habitude personnelle : je trouve qu'il est plus pratique de concentrer tous les textes au même endroit (recherche, modif, traduction ...)

Ce qui m'a étonné en faisant ce code, c'est que, en ajoutant une interception d'erreur, les variables perdent leur étendue d'action : Au début, chaque tableau de bytes étaient déclarés à l'intérieur du Try et, de ce fait, le tableau n'existait plus à la sortie du Try.
J'ai trouvé cela étrange, à l'intérieur d'une même procédure, mais bon, c'est .Net ...
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012
21 août 2010 à 19:40
encore une petite chose, tout le texte d'information que tu met, tu pourrais le mettre dans la propriété "Text" de ton richtextBox, comme sa on enlève une bonne parti du code du formload. j'ai aussi ajouté des labels a gauche des textbox pour identifier clairement leurs utilités et j'ai donc enlevé le code du formload qui ajoutais tes fichiers dedans, ces plus évident comme sa je pense.

a+
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012
21 août 2010 à 19:22
bon, j'ai 3 améliorations mineurs a te proposer. Premièrement, mettre la propriété de la form "FormBorderStyle" a "Fixed3D" et non pas a "sizable" comme sa on ne peut pas redimensionner la form comme on veut. ensuite, mettre la popriété de la form "MaximizeBox" a "False". Et pour finir, un truc sérieux, mettre un bouton pour choisir le fichier de destination qui utilise un "SaveFileDialog" comme sa on ne sera aps obliger d'entrer le chemin d'accès a la main ^^

a+
jx53 Messages postés 98 Date d'inscription lundi 17 novembre 2008 Statut Membre Dernière intervention 4 septembre 2012
21 août 2010 à 19:07
Super! c'est exactement se que fait le code ms-dos mais en .net :) avec un commentaire de temps en temps que je sache a quoi sert le paragraphe de code qui suis. merci bien d'avoir fait ça c'est génial!
Rejoignez-nous