![]() |
7zip im eigenen Programm zum Dateitransfer verwenden
Hallo Leute,
ich würde gerne die 7zip Komprimierung in meinem Programm nutzen und habe dadurch ein paar Fragen: 1.) 7zip ist meines Wissens Open-Source. Trotzdem wollte ich fragen ob es Lizenztechnisch in Ordnung ist wenn ich 7zip (die DLL oder den Source) in meinem Programm (Freeware) zum komprimieren und zum dekomprimieren verwende und auch bei der Installation/Update mitführe. Einen Hinweis, dass ich 7zip benutze würde ich auf jeden Fall im Info Fenster von meinem Programm hinzufügen. 2.) Wie binde ich 7zip am besten ein? Soll ich mir den Source nach Delphi portieren (gibt es so was schon?) oder doch besser eine DLL verwenden? 3.) Kann der 7zip Algorithmus überhaupt den Stream Stück für Stück komprimieren? Also kann ich ihm nach einander die Datei in 40KB Häppchen geben und bekomme sofort die ersten komprimierten Daten heraus die ich gleich über das Netzwerk übertragen kann bevor die Datei fertig komprimiert wurde? |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Du kannst laut der LGPL extern eingebundene Dateien wie DLLs benutzen ohne dass dein Programm auch unter der LGPL stehen muss, das gilt auch für kommerzielle Software.
Die DLL mitzuführen sollte also die problemloseste Lösung sein. 7zip unterstützt prinzipiell auch die Komprimierung von Streams. Ob das Format für eine Netzwerkübertragung so sinnvoll ist, bezweifle ich eigentlich, aber ich habe mich damit nicht näher auseinandergesetzt. Ich glaube aber, dass andere Formate sicher sinnvoller sein dürften. |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
wie jaenicke schon sagte ist es lizenztechnisch kein problem die dll zu benutzen.
was du allerdings wissen solltes, 7zip ist kein algo sondern ein archivformat. 7zip unterstützt verschiedene algorithmen. z.B. lzma, bzip2 oder ppmd. je nachdem welcher art deine daten sind ist der eine besser als der andere. lzma ist z.B. gut für binäre daten. ppmd und bzip2 sind gut für texte. also für dich sollte das lzma sdk besser sein als die 7z dll. davon gibt es auch einen delphi port. ![]() sollte es nicht unbedingt nötig sein die daten sehr stark zu komprimieren, benutz doch einfach zlib. Das ist schon bei delphi dabei und ist schnell. |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Zitat:
Zitat:
Zitat:
Zitat:
Gibt es eine genaue Auflistung der Unterschiede von diesen Algos? Zitat:
Zitat:
Ich kenne mich nicht so gut mit Komprimierungs Algorthimen aus deswegen frage ich euch. Glaubt ihr es lohnt sich 7zip (also lzma, bzip2 und ppmd ;) ) statt zlib zu nutzen? Natürlich ist mir klar, dass dies wahrscheinlich stark davon abhängt welche Dateien übertragen werden sollen. Genau kann ich das leider nicht sagen aber es dürften vor allem solche Dateien sein: .wav, .mp3, .avi, .jpg, .bmp, .png, .iso, .txt, .doc, .pps |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Blöde Frage... früher wurden die Daten bereits vom Modem komprimiert (nicht besonders gut, aber immerhin). Ist das aktuell (DSL, TCP/IP, FTP) nicht mehr so?
|
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Zitat:
Das ganze ist aber ein bisschen OT :warn: |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Zitat:
das problem ist, daß eine ganze menge der datei typen, die du hier aufgezählt hast schon komprimiert sind. bei jpg, mp3, avi und png wirst du nicht mehr viel komprimieren können. für text und doc files ist mit sicherheit ppmd am besten, für den rest lzma. um sowas wie jpg zu komprimieren bräuchtest du den paq8 algo, der ist aber grotten lahm und für deine zwecke eher ungeeignet. falls du eine dll für ppmd suchst könnte ich hier was posten. |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Zitat:
MP3, avi, jpg, png werd ich wahrscheinlich noch standart mäßig im filter ausnehmen das diese nicht komprimiert werden. |
Re: 7zip im eigenen Programm zum Dateitransfer verwenden
Liste der Anhänge anzeigen (Anzahl: 1)
bzip2 ist halt auch ein algo. er komprimiert texte sehr gut.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:40 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-2025 by Thomas Breitkreuz