Einzelnen Beitrag anzeigen

Satty67

Registriert seit: 24. Feb 2007
Ort: Baden
1.566 Beiträge
 
Delphi 2007 Professional
 
#1

[Gelöst] mit (Delphi)-ZLib PKZIP/WindowsArchive entpacken

  Alt 24. Aug 2010, 07:41
Hallo,

ein paar wichtige Dateien und Ordner habe ich bisher per Batch täglich in einem PKZIP-Archiv gesichert. PKZIP ist ja im Prinzip das gleiche Format, wie Windows komprimierte Ordner und lassen sich ab XP direkt ohne weitere Hilfsmittel öffnen. Zum erstellen der Batch hatte ich ein kleines Programm (das sammelt nur die Dateien und generiert die Strings für die Kommandozeile).

Jetzt wollte ich einfach selber die PKZIP-Archive erstellen, wozu ich einfach die Unit ZLib verwende. Abrevia und Co. können das natürlich auch, aber das wäre ja langweilig

Zum Problem:

ZLib setzt den komprimierten Daten ein 16bit Prüfwert voran, was beim Schreiben des PKZIP-Archiv einfach weggeschnitten wird. Die Archive können problemlos von Windows oder Archiv-Programmen gelesen und entpackt werde. Nur kann ich nicht mit ZLib entpacken, da mir der 16bit Prüfwert fehlt.

Wäre er am Ende, würde ich ihn selber generieren und an den Stream anhängen. Hat jemand eine Idee, wie ich mit ZLib dekomprimieren kann, ohne den 16bit Prüfwert? In der ZLib Unit konnte ich keinen Weg finden, das zu Umgehen. Der relevante Code liegt wohl in den OBJ-Dateien.

Zum spielen ein kleines Testprogramm in der Anlage
Angehängte Dateien
Dateityp: zip ZLib_Experimente_20100824.zip (11,8 KB, 41x aufgerufen)

Geändert von Satty67 (24. Aug 2010 um 21:43 Uhr)
  Mit Zitat antworten Zitat