Delphi-PRAXiS
Seite 1 von 2  1 2      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Gezipte Daten entpacken (https://www.delphipraxis.net/23542-gezipte-daten-entpacken.html)

JWest 4. Jun 2004 17:12


Gezipte Daten entpacken
 
Hallo

ICh hab ein Setupprogramm gemacht wo existierende Daten in ein Zielverzeichnis kopiert
Jetzt die Frage:
ICh will Als existierende Daten Zips verwenden und dann entpacked ins zielverzeichnis schicken
um Platzt zu sparen.
Wie kann ich die Zips entpacken mit delphi ?

Luckie 4. Jun 2004 17:16

Re: Gezipte Daten entpacken
 
Bei Delphi ist die zLib dabei. Es gibt aber noch andere, bessere Komponenten. Eine Suche im Forum, wird genug Treffer und Vorschläge bringen.

JWest 4. Jun 2004 18:57

Re: Gezipte Daten entpacken
 
Gut und danke Lucky
aber das hilft mir nicht viel wiel ich keine Ahnung hab wie ich zlib anwende
quellcode und so!
Kansch mir ein Beispiel Schreiben?

Luckie 4. Jun 2004 19:01

Re: Gezipte Daten entpacken
 
Benutz mal die Suche hier im Forum, das hatten wir schon öfters.

MrKnogge 4. Jun 2004 19:08

Re: Gezipte Daten entpacken
 
Hi, ich hab dir mal n beispiel aus nem Code von mir gemacht. Folgender Code komprimiert/dekomprimiert einen MemoryStream:

Delphi-Quellcode:
{Daten eines MemoryStreams komprimieren}
function Compress(var MemoryStream: TMemoryStream): double;
var
  CompressionStream: ZLib.TCompressionStream;
  temp: TMemoryStream;
begin
  temp := TMemoryStream.Create;
  CompressionStream := TCompressionStream.Create(clmax, temp);
  try
    MemoryStream.Seek(0, soFromBeginning);
    CompressionStream.CopyFrom(MemoryStream, MemoryStream.Size);
    temp.Seek(0, soFromBeginning);
    MemoryStream.Seek(0, soFromBeginning);
    MemoryStream.CopyFrom(temp, temp.Size);
    result := CompressionStream.compressionrate;
  finally
    CompressionStream.Free;
    temp.Free;
  end;
end;

{Daten eines MemoryStreams dekomprimieren}
procedure Decompress(var MemoryStream: TMemoryStream);
var
  DeCompressionStream: ZLib.TDeCompressionStream;
  temp: TMemoryStream;
begin
  temp := TMemoryStream.Create;
  DecompressionStream := TDecompressionStream.Create(temp);
  try
    MemoryStream.Seek(0, soFromBeginning);
    DecompressionStream.CopyFrom(MemoryStream, MemoryStream.Size);
    MemoryStream.Seek(0, soFromBeginning);
    temp.Seek(0, soFromBeginning);
    MemoryStream.CopyFrom(temp, temp.Size);
  finally
    DecompressionStream.Free;
    temp.Free;
  end;
end;

JWest 4. Jun 2004 19:13

Re: Gezipte Daten entpacken
 
Ok danke aber hast du ne Idee wie mann damit Exen Zipen und entzipen kann

Und Luckie ich hab schon gesucht aber net geblickt

Christian Seehase 4. Jun 2004 19:59

Re: Gezipte Daten entpacken
 
Moin Zusammen,

nur der Vollständigkeit halber sei noch Turbo Power Abbrevia erwähnt.
Zu finden bei sourceforge.net

JWest 5. Jun 2004 11:27

Re: Gezipte Daten entpacken
 
Hi,

Also erstmal an Mr.Knogge:
Dein Code kann zwar bei mir zippen, aber erst als ich die Variable temp
als Ausgangs Datei benutzte denn zuvor waren die DAeten vor der Komprimierung ind danach
genau gleich groß!!!
und das entzippen ging dann garnicht mehr da hat er immer eine Fehlermeldung beim
Ausfuhren des Decompressions Befehls gegeben

Kannst du das mit deinem Code nochmal nachprüfen ob der so stimmt wie er dortsteht
oder liegt es daran das ich was falsch gemacht hab ich schrieb es etwa so:

Delphi-Quellcode:
 
  Procedure Button1click usw.
  var c:Tmemorystream;
  begin
  c:= Tmemorystream.create;
  if opendialog1.execute then
  c.loadfromfile(opendialog1.filename);
  compress(c);
  if savedialog1.execute then
  c.savetofile(savedialog1.filename);
  end;
und da warn sie gleich groß als ich dann sie temp variable deines codes
speicherte war sie kleiner also mit der temp hats getan, ich hab eben noch das temp free wird raus gemnacht

aber das decompression ding tat garnicht da er sagte das bei deinem code was falsch ist!!

kanst du das bitte uberprüfen

JWest 5. Jun 2004 17:15

Re: Gezipte Daten entpacken
 
Ok tut jetzt alles
ichh hab was anderes gefunden
aber danke an allle

Luckie 5. Jun 2004 17:17

Re: Gezipte Daten entpacken
 
Und was hast du gefunden?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:48 Uhr.
Seite 1 von 2  1 2      

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