AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

gzip entpacken

Ein Thema von Crishnu · begonnen am 21. Sep 2005 · letzter Beitrag vom 24. Sep 2005
Antwort Antwort
Seite 2 von 2     12   
Phistev
(Gast)

n/a Beiträge
 
#11

Re: gzip entpacken

  Alt 24. Sep 2005, 13:51
Zwei Fragen:
Erstens, muss die Seite auf der Festplatte zwischengespeichert werden? Ansonsten würde sich ein TMemorystream anbieten.
Zweitens (hab grade kein Delphi, um nachzugucken), ist der Stream nach Get noch geöffnet? Meine Funktion kann das (noch) nicht überprüfen.

/edit: Evtl. ist es auch ein input.Seek(0, soFromBeginning), was vor dem TDecompressionStream.Create fehlt.
  Mit Zitat antworten Zitat
Crishnu

Registriert seit: 28. Apr 2005
22 Beiträge
 
#12

Re: gzip entpacken

  Alt 24. Sep 2005, 14:02
Der Stream muss nicht auf der Festplatte zwischengespeichert werden
und ich denke mal, dass der Stream nach dem get noch offen ist, wird doch direkt der Funktion übergeben!?

Edit: Mit dem input.Seek(0, soFromBeginning) bekomme ich einen ECompressionError
  Mit Zitat antworten Zitat
Phistev
(Gast)

n/a Beiträge
 
#13

Re: gzip entpacken

  Alt 24. Sep 2005, 17:39
Mir ist gerade aufgefallen, dass die Indys auch eine ZLib-Implementation haben... Wieso ist mir das nicht aufgefallen?Mit dem neuen Wissen ausgerüstet:
Delphi-Quellcode:
uses ..., IdZlibEx;
{...}
function GZipStreamToString(const input: TStream): string;
var temp: TMemorystream;
begin
  input.Seek(0, soFromBeginning);
  temp:= TMemorystream.Create;
  ZDecompressStream(input, temp);
  SetLength(result, temp.Size);
  temp.Read(@result[1], temp.Size);
end;
Ist wieder untested.
  Mit Zitat antworten Zitat
Crishnu

Registriert seit: 28. Apr 2005
22 Beiträge
 
#14

Re: gzip entpacken

  Alt 24. Sep 2005, 17:46
Werds gleich testen, muss erst arbeiten,
editiere das dann rein, wenns geht.

THX

Edit:
Also, damit der code läuft musste ich hier:
temp.Read(@result[1], temp.Size); das @ weglassen.

Und wenn ich das dann durchlaufen lasse, kommt folgender Fehler:

EZDecompressionError with Message 'data error'.
  Mit Zitat antworten Zitat
Antwort Antwort
Seite 2 von 2     12   


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 04:40 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