Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Komponenten zum erstellen von RAR oder ähnlichen (https://www.delphipraxis.net/29397-komponenten-zum-erstellen-von-rar-oder-aehnlichen.html)

Gruber_Hans_12345 8. Sep 2004 17:55


Komponenten zum erstellen von RAR oder ähnlichen
 
Kennt jemand eine Komponenten mit der man gute Archive erstellen kann.
ZIP ist leider nicht gut genug (21 MB -> 7 MB) bei RAR komme ich auf 5 MB
leider habe ich nur (bzw gibt es nur) eine UNRAR.DLL


Wie das Format aufgebaut ist, ist ganz egal, ich brauche es nur um Daten zwischen zwei Server zu transferieren (automatisch)

Danke
Hans

MrKnogge 8. Sep 2004 18:04

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Servus,

such mal bei sourceforge Abbrevia die Komponennten-Sammlung kann neben zip auch Cabinet-Files handeln.

gruss

Gruber_Hans_12345 8. Sep 2004 18:08

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
hmmm werd mal schaun..
aber wie gibt ist Cabinet dachte das ist nur so gut wie ZIP ?

MrKnogge 8. Sep 2004 18:14

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Cabinet ist auf jeden fall eines der besten Komprimierungen.

Tubos 8. Sep 2004 19:36

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Zitat:

Cabinet ist auf jeden fall eines der besten Komprimierungen.
Ist das besser als RAR?

mirage228 8. Sep 2004 19:56

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Zitat:

Zitat von Tubos
Zitat:

Cabinet ist auf jeden fall eines der besten Komprimierungen.
Ist das besser als RAR?

Also soweit ich weiss ist CAB eine ziemlich alte und nicht allzu effizient Komprimierung. Verzeichnisebenen werden auch nicht unterstützt. Wird von einigen Installern noch verwendet.

mfG
mirage228

Gruber_Hans_12345 9. Sep 2004 08:57

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Hab Cab gestern abend probiert, und ist genau so gut wie ZIP das 22 MB File braucht über 7 MB

Bin also noch auf der suche nach was anderem

Noch ein zusatz, die Komponenten oder DLL muß unbedingt Komprimierung von Streams unterstützen, da ich aus einer DB Daten laden, komprimiere und dann an einen Client per TCP schicke.

Gruss
Hans

Ultimator 9. Sep 2004 20:43

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Probier doch mal ACE (wird verwendet von WinACE), das ist auch sehr gut.

Gruber_Hans_12345 10. Sep 2004 08:22

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
gibt es von ACE eine Komponente ? Ich habe nichts gefunden dafür.

Eine sehr gute Komponenten (sehr gute Kompression) liefert SQX leider kann es (noch) keine Streams / Daten komprimieren solle angeblich 1.Quartal 2005 kommen.

Gruss
Hans

mytar 10. Sep 2004 08:27

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Hier die SQX-SDK:

sqx-archiver.org: SDK

phlux 10. Sep 2004 08:30

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
dann klink ich mich mal hier an:
CAB kann sehr wohl verzeichnisstrukturen handlen
cab nutzt als compression zum einen ZIP, ergo nicht besser als zip und dann gibt es noch einen eigenen komp-algo der aber laaangsam ist aber dafür auch etwas mehr effizienter ;)

mfg phlux :hi:

Gruber_Hans_12345 10. Sep 2004 08:34

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Zitat:

Zitat von mytar
Hier die SQX-SDK:

sqx-archiver.org: SDK

... aber leider ohne die Möglichkeit Streams zu komprimieren



Hab auch schon die Komps von componentACE ausprobiert
die können nach ZLib, BZip und PPM

ein toller Spruch auf deren Homepage "Maximum compression levels provide much better compression rate than Zip, RAR and BZIP" leider schaffen die mit maximalster Komprimierung 6 MB WinRAR schaft 5 MB .......

Gruber_Hans_12345 14. Sep 2004 10:21

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Hab vom Macher von SQX eine Mail bekommen, das im 1.Quartal 2005 SQX auch Streams handeln kann ....
Dann wäre das eine wirklich ideale Lösung ... nur bis dahin sollange warten ?

Bin schon am überlegen, ob ich nicht doch einfach :
- von DB lesen
- in temp File schreiben
- komprimieren
- von File in ClientSocket schreiben ...

Luckie 14. Sep 2004 11:08

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Die Kompression ist auch immer von den Daten abhänging. Beispiel JPEG und eine große plaintext Textdatei. Die beste Kompression errreicht bisher immer noch das Freewaretool [google[7zip[/google]. Ich hatte mal eine Verzeichnis gepackt mit 7Zip, einmal mit dem 7zip eigenen Format und einmal mit Zip, was 7zip auch kann:
7zip: 1,5 MB
zip: 4,5 MB :shock:

Wenn du unbedingt mir RAR packen willst, dann kuck entweder bei Torry nach eine Komponente die das kann oder kuck bei www.wotsit.org anch dem Dateiformat und mache alles selber. (Ich weiß allerdings nicht ob, das Dateiformat offengelegt ist.)

Gruber_Hans_12345 14. Sep 2004 11:37

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Zitat:

Zitat von Luckie
Die Kompression ist auch immer von den Daten abhänging. Beispiel JPEG und eine große plaintext Textdatei.

Das ist mir sehr wohl bewusst, aber ich habe ein 22MB großes Delphi exe File, das ich komprimieren muß, Standardmäßig habe ich WinRAR drauf, und der komprimierts halt auf 5 MB, jedes Programm das 1 oder 2 MB mehr braucht ist einfach viel zu schlecht für meine Bedürfnisse.

Zitat:

Zitat von Luckie
Die beste Kompression errreicht bisher immer noch das Freewaretool [google[7zip[/google]. Ich hatte mal eine Verzeichnis gepackt mit 7Zip, einmal mit dem 7zip eigenen Format und einmal mit Zip, was 7zip auch kann:
7zip: 1,5 MB
zip: 4,5 MB :shock:

Jop, gerade ausprobiert bringt gute Ergebnisese (so soll Komprimierung funktionieren)
normal : 4.9 MB
maximal 4.7 MB

Muß nur noch checken obs für diesen 7zip auch Komponenten gibt, die Streams komprimieren können.
Zitat:

Zitat von Luckie
Wenn du unbedingt mir RAR packen willst, dann kuck entweder bei Torry nach eine Komponente die das kann oder kuck bei www.wotsit.org anch dem Dateiformat und mache alles selber. (Ich weiß allerdings nicht ob, das Dateiformat offengelegt ist.)

Will ich nicht, aber RAR war eines der besten, und eine UNRAR.DLL gibt es schon, die man mit Delphi verwenden kann.
Und auch wenn das Dateiformat für RAR offen liegt, eine eigene Komprimierungsroutine in Delphi zu basteln ..... ist eventuell unter Umständen doch etwas zu umständlich ....

Gruss
Hans

Luckie 14. Sep 2004 11:42

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Sieh mal einer guck:
Zitat:

7-Zip is a free software distributed under the GNU Lesser General Public License.
Ergo müssen sich irgendwo die Sourcen finden lassen.

Und auf www.7-zip.org gibt es auch Links zum LZMA SDK. Eventuell hilft dir das weiter.

alcaeus 14. Sep 2004 11:43

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Hi Hans,

Zitat:

Zitat von Gruber_Hans_12345
Das ist mir sehr wohl bewusst, aber ich habe ein 22MB großes Delphi exe File, das ich komprimieren muß

:shock: Was hast du denn reingelinkt? In dem Fall empfehle ich, nicht alles in die exe reinzulinken, sondern auszulagern (Grafiken zum Bleistift). Wenn du nun die exe updaten musst dann ist das schon weniger Volumen.
Was genau musst du denn zwischen den Servern rumschicken? Vielleicht macht es mehr Sinn, nur geänderte Daten zu laden, also z.B. eine geänderte Exe, zusätzliche Dateien, etc. Auf die Dauer die 22 MB exe zu schicken ist vielleicht etwas ungeschickt :roll:

Greetz
alcaeus

Gruber_Hans_12345 14. Sep 2004 11:50

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
@alcaeus
Naja ne Menge an Komponenten (ReportBuilder, JVCL, JCL, TB2K, TBX, VirtualTrees, WPDF, IBX, ....)
insgesamt (inklusive den Komponentem, leider muß ich einen großteil der Komponenten jedesmal mitkompiliren) sind ist mittlerweilen ~1.3M Zeilen -> 20MB dann noch die JCL Debug Info (ist ja eh schon komprimiert) -> ~21 MB

Bilder sind nur die kleinen von den ImageLists drinnen (16*16 bzw 32*32) rest kommt aus DB

das EXE File wird von einem Server zum anderem geschickt (automatisches update von der Client EXE)
Da zusätzlich zur EXE Datei noch eine Menge von Datenbank Inhalten geschickt werden müssen, wäre es toll, nicht extra ein File zu erzeugen.

NicoDE 14. Sep 2004 11:50

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Zitat:

Zitat von Gruber_Hans_12345
Jop, gerade ausprobiert bringt gute Ergebnisese (so soll Komprimierung funktionieren)
normal : 4.9 MB
maximal 4.7 MB

Hm, um mit 192 MB Wörterbuch zu packen muss ich mich auf den Kopf stellen (lies: mit /3GB booten, alles (inklusive Dienste) benden und beten). Zudem braucht man für gute Packraten viel Speicher (oder extrem viel Geduld :) ).

IIRC verwenden einige OpenSource-Projekte die LZMA-Komprimierung (InnoSetup?) - allerdings werden die meisten wohl eine DLL-Lösung bevorzugen.

Gruber_Hans_12345 14. Sep 2004 11:55

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
@NicoDE
da ichs für's versenden brauche, würde ich das ganze dann so probieren, das ich nen Teil packe, versende, unterm versenden den nächsten Teil gleich packen -> packen ist immerhin noch um einiges schneller als ne ADSL mit 512 kB Upload.

Thebe 14. Sep 2004 14:01

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Wenn Du umbedingt RAR verwenden willst, dann guck Dir doch ma ne stinknormale WinRAR Installation auf der Platte an. Da ist ne Konsolenanwendung bei namens rar.exe, die kann alles was WinRAR auch kann. Einzige Nachteil: Du musst mit Dateien arbeiten die gepackt und geschrieben werden, direkt Streams packen kannst damit nit.

Gruber_Hans_12345 14. Sep 2004 14:19

Re: Komponenten zum erstellen von RAR oder ähnlichen
 
Hab schon meinen Lösungsweg .... Dank an Luckie ...
werde 7-zip verwenden - ales offen und wirklich gute Komprimierung !


Alle Zeitangaben in WEZ +1. Es ist jetzt 20:38 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz