![]() |
Kompressionsverfahren
Hallo,
Wir arbeiten zur Zeit an einem Installer für unser Projekt. Mittlerweile sind wir an dem Punkt angelangt, die Kompressionsmethode zu bestimmen. In den näheren Betrachtungswinkel sind bereits die bzlib mund die zlib geraten. Ich wollte euch an dieser Stelle fragen ob ihr(In Sachen gute Kompression ohne extra Dlls) Alternativen kennt. Desweiteren wollte ich an dieser Stelle fragen ob ihr irgendwelche Units kennt, welche die Arbeit mit diesen Libs erleichtern. Das würde mir/uns sehr viel arbeit ersparen. Falls ihr alternativen kennt sollten diese Verzeichnisstrukturen unterstützen am besten in etwa so:
Delphi-Quellcode:
Aber das ist nur ein Beispiel
addfile(FFilename, 'testordner\datei.txt');
Danke schonmal Gruß, Max |
Re: Kompressionsverfahren
Wenn ihr einen Installer braucht, würde ich euch liebend gerne
![]() |
Re: Kompressionsverfahren
ZlibEx dürfte das Richtige sein: Sehr schnell, sehr kompakt, in jedem Fall besser als bzip.
|
Re: Kompressionsverfahren
ich kenne auch noch
![]() |
Re: Kompressionsverfahren
Danke für die guten Installer-Empfehlungen, jedoch brauche ich die nicht ;)
Wir schreiben uns deshalb einen eigenen weil wir sehen wollen wie es mit der Planung und Verteilung der Aufgaben aussieht, bevor wir das richtige Projekt beginnen ;) Ich habe die ZLibEx gerade etwas angetestet. Kann mir jemand bei gelegenheit eine Doku für die geben? Mir wurde bis jetzt noch nicht klar wie man mit dieser mehrere Dateien auf einmal packt. Danke schonmal, Gruß, Max |
Re: Kompressionsverfahren
Denk Dir doch einfach ein eigenes Format aus, z.B.:
Code:
Ja, natürlich, Handarbeit ist angesagt. Vermutlich gibt es auch ein ZIP-kompatibles Tool, aber ich denke, mit einem proprietären Format lernt man doch ne ganze Menge.
CompressionFile ::= <CompressedFile> [<CompressionFile>]
CompressedFile ::= <Filename> <CRC32> <CompressedData> CompressedData ::= <Length Int64> <Length Bytes Of Compressed Data> |
Re: Kompressionsverfahren
*anmerk* die meisten Installer verwenden unter Windows .cab und unter Linux bz2. Also mit bzip liegst du schonmal gut. Aber .cab ist vielleicht auch einen Blick wert. Soweit ich weiß ist bei JVCL was dabei um mit .cab umzugehen.
|
Re: Kompressionsverfahren
.cab kennt keine Verzeichnisstrukturen und die Kompression ist auch mehr als dürftig. Ich würde meine Finger davon lassen. Ich werfe noch mal /z in die Runde, das dürfte bisher wohl das beste Komprimierungsverfahren sein, auch wenn man etwas Geschwindigkeitseinbußen hat.
|
Re: Kompressionsverfahren
Zitat:
Also mal im Ernst, wo, wie, wann, warum? |
Re: Kompressionsverfahren
![]() |
Re: Kompressionsverfahren
Zitat:
|
Re: Kompressionsverfahren
Schau dir mal
![]() |
Re: Kompressionsverfahren
Hallo,
Die Abbrevia Komponenten sind mir bereits bekannt. Jedoch ist das Package einfach zu groß und wir hatten uhrsprünglich vorgesehen keine 3rd Party VCL-Componenten zu verwenden. Das LZMA verfahren, welches afair in 7z verwendet wird, wäre natürlich absolut perfekt. Leider müsste man entweder einen Wrapper für die DLL schreiben(Was untragbar wäre) oder den Code ganz umschreiben, was den Rahmen der Zeit wahrscheinlich sprengen würde. Gruß, Max |
Re: Kompressionsverfahren
Zitat:
Zitat:
Und diese "Normteile" bzw. Zulieferteile sind nun mal die 3rd Party Komponenten. Und falls Du dich nicht zu sehr davon abhängig machen willst schreib dir doch einen Wrapper drum rum um sie notfalls einfach austauschen zu können. |
Re: Kompressionsverfahren
@yankee: Kann es sein, dass du im falschen Topic gelandet bist? ;)
|
Re: Kompressionsverfahren
Zitat:
Du kannst es ja löschen... |
Re: Kompressionsverfahren
Hallo,
Ich will euch jetzt nochmal fragen. Ich hatte damals(ca. 1 Woche nach erstellung des Threads) ein bischen Zeit und hab es auf die gute alte russische art komplett selbst gemacht, wie alzaimar sagte. Dabei habe ich an einer Stelle im Code den Zlib-CompressStream eingebaut damit ich die Compression habe. Das ganze hatte den Vorteil das ich die Streams komprimiere und sie absolut frei handlen kann. Ich habe jegliche Freheit im Bezug auf Archivstruktur etc. pp. Auf jeden Fall habe ich jetzt wieder ein bischen Zeit, und da ich in diesem Projekt bestmöglichste Arbeit leisten möchte, will ich den 7-Zip LZMA Algorithmus implentieren. Gibt es vielleicht schon irgendwelche Hilfen die sich auf Delphi beziehen und die DLL nicht benötigen? Das würde mir doch sehr helfen ;) Gruß, Max |
Alle Zeitangaben in WEZ +1. Es ist jetzt 23:53 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz