Difference between revisions of "Zlibar/de"
m |
|||
Line 1: | Line 1: | ||
{{Zlibar}} | {{Zlibar}} | ||
− | ===Über=== | + | === Über === |
zlibar ist eine Unit, die Komponenten enthält, um ein einfaches komprimiertes Dateiarchiv zu erstellen, das viele Dateien enthält. Sie verwendet paszlib, welches in FreePascal enthalten ist, so daß keine externe Bibliothek benötigt wird. | zlibar ist eine Unit, die Komponenten enthält, um ein einfaches komprimiertes Dateiarchiv zu erstellen, das viele Dateien enthält. Sie verwendet paszlib, welches in FreePascal enthalten ist, so daß keine externe Bibliothek benötigt wird. | ||
Line 33: | Line 33: | ||
* Benötigt jetzt die LCL für endian Sicherheit | * Benötigt jetzt die LCL für endian Sicherheit | ||
− | ===Autor=== | + | === Autor === |
[[User:AndrewH|Andrew Haines]] | [[User:AndrewH|Andrew Haines]] | ||
− | ===Lizenz=== | + | === Lizenz === |
zlibar.pas wird mit der selben modifizierten LGPL wie die LCL verteilt, daher kann sie verwendet werden in geschützten Programmen. | zlibar.pas wird mit der selben modifizierten LGPL wie die LCL verteilt, daher kann sie verwendet werden in geschützten Programmen. | ||
− | ===Download=== | + | === Download === |
Das neueste stabile Release ist auf der [http://sourceforge.net/project/showfiles.php?group_id=92177 Lazarus CCR Files Seite] zu finden. | Das neueste stabile Release ist auf der [http://sourceforge.net/project/showfiles.php?group_id=92177 Lazarus CCR Files Seite] zu finden. | ||
− | ===Abhängigkeiten / Systemvoraussetzungen=== | + | === Abhängigkeiten / Systemvoraussetzungen === |
* FreePascal | * FreePascal | ||
* Demoprogramm benötigt Lazarus | * Demoprogramm benötigt Lazarus | ||
Line 51: | Line 51: | ||
Benötigt Tests unter Windows. | Benötigt Tests unter Windows. | ||
− | ===Verwendung=== | + | === Verwendung === |
Fügen sie die Unit "zlibar" zu ihrem uses Abschnitt hinzu. | Fügen sie die Unit "zlibar" zu ihrem uses Abschnitt hinzu. | ||
− | ====TZLibWriteArchive==== | + | ==== TZLibWriteArchive ==== |
Beispiel: | Beispiel: | ||
Line 65: | Line 65: | ||
Zar.OutStream := Stream; | Zar.OutStream := Stream; | ||
− | Zar.InputFiles.Add('/ | + | Zar.InputFiles.Add('/Pfad/zu/MyFileName1'); |
− | Zar.InputFiles.Add('/ | + | Zar.InputFiles.Add('/Pfad/zu/MyFileName2'); |
Zar.CreateArchive; | Zar.CreateArchive; | ||
Line 75: | Line 75: | ||
end; | end; | ||
− | ====TZlibReadArchive==== | + | ==== TZlibReadArchive ==== |
Beispiel: | Beispiel: | ||
Line 90: | Line 90: | ||
ArchStream.LoadFromFile('ArchiveFileName'); | ArchStream.LoadFromFile('ArchiveFileName'); | ||
ZReadArc:= TZlibReadArchive.Create(ArchStream); | ZReadArc:= TZlibReadArchive.Create(ArchStream); | ||
− | DestPath := '/ | + | DestPath := '/Irgendein/Pfad'; |
for X := 0 to ZReadArc.Count -1 do begin | for X := 0 to ZReadArc.Count -1 do begin | ||
ZReadArc.ExtractFileToStream(X, FileStream); | ZReadArc.ExtractFileToStream(X, FileStream); |
Revision as of 19:51, 9 April 2006
│
Deutsch (de) │
English (en) │
Über
zlibar ist eine Unit, die Komponenten enthält, um ein einfaches komprimiertes Dateiarchiv zu erstellen, das viele Dateien enthält. Sie verwendet paszlib, welches in FreePascal enthalten ist, so daß keine externe Bibliothek benötigt wird.
Die zwei Hauptkomponenten sind :
- TZlibWriteArchive - Verwendet um ein Archiv zu erstellen
- TZlibReadArchive - Verwendet um ein Archiv zu lesen und dessen Dateien zu extrahieren
Features von TZlibWriteArchive :
- Erzeugt das Archiv in einem Datenstrom, erlaubt ihnen es in eine Datei zu speichern oder etwas anderes kreatives damit zu machen
- Jede Datei im Archiv wird mit einer MD5 Prüfsumme abgelegt
- Jede Datei kann mit einem relativem Pfad abgelegt werden
- Enthält Fortschrittsrückmeldungen, um das Programm über den Fortschritt der aktuellen Datei und aller Dateien zu informieren
Features von TZlibReadArchive :
- Lädt das Archiv aus einem TStream.
- Enthält eine Fortschrittsrückmeldung, um das Programm über den Fortschritt des Extraktionsprozesses zu informieren
- Dateien im Archiv sind über eine Indexnummer extrahierbar und werden in ein TStream extrahiert
Der Download enthält ein Demoprogramm und die Unit. Ebenso eine Package Datei.
Obwohl nicht getestet, sollte sie auf jeder Plattform funktionieren.
Änderungen in den Versionen :
0.2.1
- Archive sollten jetzt funktionieren über Maschinen mit verschieden Bytefolgen (endian) hinweg.
- Berichtigter bad memory corruption Bug
- Benötigt jetzt die LCL für endian Sicherheit
Autor
Lizenz
zlibar.pas wird mit der selben modifizierten LGPL wie die LCL verteilt, daher kann sie verwendet werden in geschützten Programmen.
Download
Das neueste stabile Release ist auf der Lazarus CCR Files Seite zu finden.
Abhängigkeiten / Systemvoraussetzungen
- FreePascal
- Demoprogramm benötigt Lazarus
- LCL (für endian sichere Routinen)
Probleme: Getested unter Linux. Benötigt Tests unter Windows.
Verwendung
Fügen sie die Unit "zlibar" zu ihrem uses Abschnitt hinzu.
TZLibWriteArchive
Beispiel:
var Zar: TZlibWriteArchive; Stream: TMemoryStream; X: Integer; begin Stream := TMemoryStream.Create; Zar := TZlibWriteArchive.Create; Zar.OutStream := Stream; Zar.InputFiles.Add('/Pfad/zu/MyFileName1'); Zar.InputFiles.Add('/Pfad/zu/MyFileName2'); Zar.CreateArchive; Stream.SaveToFile('MySavedFileName'); Zar.Free; Stream.Free; end;
TZlibReadArchive
Beispiel:
var ArchStream: TMemoryStream; FileStream: TMemoryStream; ZReadArc: TZlibReadArchive; X: Integer; DestPath: String; begin ArchStream := TMemoryStream.Create; FileStream := TmemoryStream.Create; ArchStream.LoadFromFile('ArchiveFileName'); ZReadArc:= TZlibReadArchive.Create(ArchStream); DestPath := '/Irgendein/Pfad'; for X := 0 to ZReadArc.Count -1 do begin ZReadArc.ExtractFileToStream(X, FileStream); FileStream.SaveToFile(DestPath+ZReadStream.FilesInArchive[X].FilePath+'/'+ZReadStream.FilesInArchive[X].FIleName); FileStream.Position := 0; FileStream.Size := 0; end; ZReadArc.Free; ArchStream.Free; FileStream.Free; end;