Eigenes packprogramm

FastProg

Erfahrenes Mitglied
Hi

Ich habe ein Backup Programm programmiert das viele Dateien auf eine CD-Brennen soll (das mit den Brennen muss ich noch proggen) aber ich will das die Dateien verkleinert werden!

Das würde ich gerne mit einer eigenen Kompremmierung machen!

Wie kann man so ein Kompremierungs verfahren leicht selbst proggen?
Jemand eine Idee oder Tutorials zu so etwas?
 
Also ich denke nicht das das eine einfache Sache ist, zumindest wirst du es nicht so hinbekommen wie WinZip oder ähnliches das komprimieren, das ist wohl etwas aufwand!
Wüsste jetzt auch kein Tutorial oder nen fertigen Algo dafür, musst ma googeln :)

Greetz...
Sinac
 
Hab zwar keinen blassen Schimmer von VB, aber das hier sieht so aus, als könnte es dir helfen.
Ist aber anscheinend nen recht einfach Algo.
 
WinZip basiert (AFAIK) unter anderem auf dem Huffman-Algorithmus. Der funktioniert ähnlich wie ein Morsecode, d. h. dass die vorkommenden Bytes (max. 255 verschiedene) nach Häufigkeit sortiert und in eine möglichst kurze Bitfolge umcodiert werden.
Wichtig dabei ist allerdings, dass Du die Zuordnungen mit speicherst, was unter anderem leider viel Speicherplatz wegnehmen kann. Daher lohnt sich das Vorgehen nur bei grösseren Dateien.
Nähere Informationen kriegst Du bei Google.
 
Algorithmen wie sie von Zip-Format verwendet werden, kannst fast nicht in VB nachbilden, da VB nicht über geeignete Mittel verfügt. Und dann wäre das auch noch sehr, sehr langsam.
Aber es gibt fertige zip-libs die du evtl. einbinden kannst, musst mal bei Google suchen, evtl. gibt es da auch schon fertige DLL's die du dann in dein Programm einbinden kannst.
Im Moment ist glaube ich der BZIP2-Algorithmus einer der effizientesten beim Packen.

Gruss Homer
 
jo, ich würde auch ne fertige lib nehmen, ansonsten müsste man das eher mit c/c++/c# oder so machen, weils sonst zu lahm ist.
 
Man könnte eine DLL in C++ schreiben, oder allgemein den Algorithmus in Assembler und dann VB nur noch fürs grafische Frontend benutzen. Nur so ein Vorschlag. Ansonsten gibts fertige ZIP-Libs.
 
Zurück