AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Win32/Win64 API (native code) Delphi Dateiarchivierung ohne Komponenten
Thema durchsuchen
Ansicht
Themen-Optionen

Dateiarchivierung ohne Komponenten

Ein Thema von engel90 · begonnen am 13. Jun 2008 · letzter Beitrag vom 13. Jun 2008
Antwort Antwort
Benutzerbild von engel90
engel90

Registriert seit: 15. Jan 2007
Ort: Jena
38 Beiträge
 
Delphi 7 Personal
 
#1

Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 11:45
Hallo liebe DPler,
ich schreibe zur Zeit an einem Datenbankprogramm (XML-basiert). Dabei fallen zur Speicherung mehrere XML-Dateien an, welche ich gerne in einem Archiv zusammenfassen und komprimieren würde. Der Komprimierungsvorgang würde ich gerne in eine DLL auslagern um ihn eventuell später einfach weitere Komprimierungen anbieten zu können.

Bis jetzt habe ich jedoch bis auf Microsofts Cabinet Format keine Komprimierung gefunden welche nicht in Komponenten gekapselt ist und das Tutorial im Delphi-Treff ist für mich vollkommen unverständlich.

Daher suche ich entweder ein anderes Kompressionsverfahren oder ein verständlicheres Tutorial zum Cabinetformat.

MfG
Engel90
  Mit Zitat antworten Zitat
Benutzerbild von Luckie
Luckie

Registriert seit: 29. Mai 2002
37.621 Beiträge
 
Delphi 2006 Professional
 
#2

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 11:59
Die 7Zip gibt es als DLL mit einer dazugehörigen API, glaube ich.
Michael
Ein Teil meines Codes würde euch verunsichern.
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#3

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 12:17
Geht es 'nur' um Komprimierung oder eigentlich doch um Archivierung?. Für's Komprimieren wäre doch zlib ein offensichtlicher Kandidat; gibt's auch notfalls auch als DLL.

Gruß Gammatester
  Mit Zitat antworten Zitat
Benutzerbild von engel90
engel90

Registriert seit: 15. Jan 2007
Ort: Jena
38 Beiträge
 
Delphi 7 Personal
 
#4

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 12:37
Zitat von Luckie:
Die 7Zip gibt es als DLL mit einer dazugehörigen API, glaube ich.
Muss ich da dann eine weitere DLL beim Programm mitliefern ?


Zitat von gammatester:
Geht es 'nur' um Komprimierung oder eigentlich doch um Archivierung?. Für's Komprimieren wäre doch zlib ein offensichtlicher Kandidat; gibt's auch notfalls auch als DLL.
Es geht darum mehrere Dateien zu einer zusammenzufassen (also zu archivieren) und diese dann zu komprimieren um Speicherplatz zu sparen.
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.139 Beiträge
 
Delphi 12 Athens
 
#5

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 12:52
theoretisch ja, aber man kann die DLL auch in den Programmresourcen ablegen.

oder du minnst dir den QuellCode, übersetzt ihn nach Delphi und steckst ihn in 'ne Unit
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#6

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 13:00
Zitat von engel90:
Es geht darum mehrere Dateien zu einer zusammenzufassen (also zu archivieren) und diese dann zu komprimieren um Speicherplatz zu sparen.
Das erscheint mir etwas ungewöhnlich: Sieht wie ein Solidarchiv aus. Um auf einzelne Teile zu zugreifen, muß also alles vorhergehende dekomprimiert werden.

Aber die interessante Frage ist: Wer archiviert? Du (bzw. Dein Programm) oder soll das auch die DLL machen? In Deinem Originalbeitrag sah es so aus, als wenn nur die Komprimierung von der DLL gemacht werden soll. Und dazu wäre das pure zlib geeignet (kann auch direkt eingebunden werden und es muß dann keine DLL mitgeliefert werden).

Gammatester
  Mit Zitat antworten Zitat
Benutzerbild von engel90
engel90

Registriert seit: 15. Jan 2007
Ort: Jena
38 Beiträge
 
Delphi 7 Personal
 
#7

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 13:09
Zitat von gammatester:
Zitat von engel90:
Es geht darum mehrere Dateien zu einer zusammenzufassen (also zu archivieren) und diese dann zu komprimieren um Speicherplatz zu sparen.
Das erscheint mir etwas ungewöhnlich: Sieht wie ein Solidarchiv aus. Um auf einzelne Teile zu zugreifen, muß also alles vorhergehende dekomprimiert werden.

Aber die interessante Frage ist: Wer archiviert? Du (bzw. Dein Programm) oder soll das auch die DLL machen? In Deinem Originalbeitrag sah es so aus, als wenn nur die Komprimierung von der DLL gemacht werden soll. Und dazu wäre das pure zlib geeignet (kann auch direkt eingebunden werden und es muß dann keine DLL mitgeliefert werden).

Gammatester
Also mein Programm erstellt mehrere XML-Dateien in einem bestimmten Verzeichnis und nun wollte ich ne DLL schreiben, welcher das Verzeichnis und der Speicherort des Archives übergeben wird und die DLL archiviert und komprimiert nun alle XML-Dateien und speichert das Archiv am übergebenen Speicherziel.
  Mit Zitat antworten Zitat
Benutzerbild von RWarnecke
RWarnecke

Registriert seit: 31. Dez 2004
Ort: Stuttgart
4.408 Beiträge
 
Delphi XE8 Enterprise
 
#8

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 14:08
Zitat von Luckie:
Die 7Zip gibt es als DLL mit einer dazugehörigen API, glaube ich.
Hier ist ein passender Thread zu 7ZIP & Delphi
Rolf Warnecke
App4Mission
  Mit Zitat antworten Zitat
Benutzerbild von engel90
engel90

Registriert seit: 15. Jan 2007
Ort: Jena
38 Beiträge
 
Delphi 7 Personal
 
#9

Re: Dateiarchivierung ohne Komponenten

  Alt 13. Jun 2008, 16:30
vielen dank an alle

ich werd wohl 7-zip für mein programm benutzen.


  Mit Zitat antworten Zitat
Antwort Antwort


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:00 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