MangaII
Messages postés129Date d'inscriptiondimanche 9 décembre 2001StatutMembreDernière intervention12 janvier 2009 28 janv. 2002 à 20:08
Si tu ve utiliser les MFC, c pas bien compliqué !
Le PB, c qu'a la sortie, ton EXE aura besoin de 3 DLL qui sont relativemetn gros ! et que tu ne pe pas integrer dans l'EXE ! donc avec cette méthode, tu ne pourra pas faire une install ne comprenant qu'1 seul fichier !
Par contre, pour le reste, y'a plusieurs solutions ! pour ce qui est de rassembler des fichiers en 1 seul, c pas bien compliqué ! tu ouvre tous tes fichiers, et tu les recopie, bout a bout dans le fichier unique !
Pour ce qui est de la compression, c bcp plus compliqué !
A mon avis, il te fo utiliser un algo existant (ex GZIP, ou autre), et repiquer le code, avec toutes les fonctions de compression et décompression !
Si tu réussi a compresser éfficacement, préviens moi ! j'ai pas encore eu le temps de m'y agacer, mais j'ai rien réussi a faire de concluant !
Croqmort
Messages postés95Date d'inscriptionmercredi 5 décembre 2001StatutMembreDernière intervention27 juin 2006 28 janv. 2002 à 22:06
moi je prefere recreer les algo (j'aime bien reinventer la roue :) )
donc je te conseillerai de faire des fonctions qui te permettent de compacter et de decompacter des ficher, pour debuter, je te conseil un compactage RLE, bien que peut performant, il a l'avantage d'etre trés simple
sinon tu peut tenter le compactage huffman (j'ai fait une source si tu veux (rubrique cryptage))
ou si tu aime les defis (ce que j'espere pour toi) tente le compactage LZW qui est celon moi le plus passionnant à realiser !
si tu arrive a realiser de telles fonction il te sera facile de tout mettre en un seul fichier et tu aura donc un systeme d'installation que tu aura fait de A à Z !
si tu opte pour cet solution, je pourrai t'aider mais, ça ne va pas etre facile !
Croqmort
Messages postés95Date d'inscriptionmercredi 5 décembre 2001StatutMembreDernière intervention27 juin 2006 29 janv. 2002 à 13:19
il y'as souvent dans les fichier des données qui se repete, donc en fait le principe du compactage RLE (Run-Lenght Encoding), c'est de profiter de ces repetition pour reduire la taille
d'abord j'espere que tu connais un peu comment lire et ecrire dans des fichier en mode binaire
on va prendre par exemple le bout de fichier suivant : (en hexadecimal)
... 51 F4 AC 8B 8B 8B 8B A5 A2 ...
on peut economiser de la place en fesant :
... 51 F4 AC 4*8B A5 A2 ...
mais le probleme c'est comment lui indiquer ce 4*
et bien en fait on va utiliser par exemple les byte superieur à B0 ainsi quand on aura
B1 on mettra 1* le caractere qui suit dans le fichier destination
B2 on mettra 2* (B0-B2= 2)
B3 on mettra 3* (B0-B3=3)
etc ...
ainsi notre bout de fichier deviendra :
... 51 F4 AC B4 8B A5 A2 ...
mais que ce passera t'il pour F4 qui est supperieur à B0 ? et bien en fait si on le laisse comme ça le decompacteur pensera que l'on veut
mettra (B0-F4) fois AC dans le fichier de destination !!!! donc en fait il faut mettre devant F4, B1 ainsi il mettra (B0-B1)* F4 c'est a dire 1*F4 !
donc notre bout de fichier devient :
... 51 B1 F4 AC B4 8B A5 A2 ...
ainsi lorsque l'on va decompacter le fichier va lire :
51 => il va mettre 51 dans le fichier Destination => // etat du fichier dest ... 51
B1 => il va lire le byte suivant =>
F4 => il va mettre (B1-B0) fois F4 dans le fichier de Dest // ... 51 F4
AC => il va mettre AC dans le fichier Dest // ... 51 F4 AC
B4 => il va lire le byte suivant =>
8B => il va mettre (B4-B0) fois 8B dans le fichier de Dest // ... 51 F4 AC 8B 8B 8B 8B
A5 => il va mettre AC dans le fichier Dest // ... 51 F4 AC 8B 8B 8B 8B A5
A2 => il va mettre AC dans le fichier Dest // ... 51 F4 AC 8B 8B 8B 8B A5 A2
on se retrouve donc avec notre bout de fichier du debut :
... 51 F4 AC 8B 8B 8B 8B A5 A2 ...
voila pour la theorie
en ce qui concerne la pratique, tu peut essayer de trouver une source de decompactage des fichier PCX, vu qu'il utilise le meme algo, tu pourra avoir un exemple concret
sinon j'essayerai de me connecter ce soir pour mettre une source avec ce type de compactage !
je pense que je vais recevoir une rafale de question pasque j'ai pas l'impression d'avoir trés bien expliquer :)
vanpet
Messages postés149Date d'inscriptionlundi 17 décembre 2001StatutMembreDernière intervention 5 février 2006 29 janv. 2002 à 18:17
ben moi je dis que c parfaitement expliqué ! par contre g l'impression que c n'est pas très rentable comme methode (faible taux de compression)
helas je ne connait pas de meilleur algo !
si quelqu'un peu nous aider...
merci !
vanpet
Messages postés149Date d'inscriptionlundi 17 décembre 2001StatutMembreDernière intervention 5 février 2006 29 janv. 2002 à 18:19
ben moi je dis que c parfaitement expliqué ! par contre g l'impression que c n'est pas très rentable comme methode (faible taux de compression)
helas je ne connait pas de meilleur algo !
si quelqu'un peu nous aider...
merci !
Croqmort
Messages postés95Date d'inscriptionmercredi 5 décembre 2001StatutMembreDernière intervention27 juin 2006 29 janv. 2002 à 22:01
faudrait creer un projet dans le labo
un multicompacteur, on aurai le choix dans le mode de compression et tout, je viens de finir, un compacteur RLE que je vais mettre en ligne
mais je suis deja en train d'essayer de faire un compacteur LZW, et j'ai deja realiser un compacteur Huffman (voir dans la section cryptage)
le probleme c'est que j'ai pas envi d'etre chef de projet, car j'aime pas organiser.
donc si qq1 veut bien se devoué :)
comme ça on pourra faire ce que veux faire JMGR et ça pourra servir a tout le monde !
PS : je veux bien faire les algos mais j'ai pas envi de faire l'interface !
sinon si qq1 veut que j'explique les compactages huffman et LZW, y fait signe
vanpet
Messages postés149Date d'inscriptionlundi 17 décembre 2001StatutMembreDernière intervention 5 février 2006 30 janv. 2002 à 09:49
c bon je m'occupe de créer le projet ! allez tous voir dans la rubrique LABO du site le projet s'appellera...hmm... VBFrance eKrBouILLaToR !!!
:big)
mon dieu c quand même très gogol comme nom.