System.ZLib.TZCompressionStream

Aus RAD Studio API Documentation
Wechseln zu: Navigation, Suche

System.ZLib.TCustomZStreamSystem.Classes.TStreamSystem.TObjectTZCompressionStream

Delphi

TZCompressionStream = class(TCustomZStream)

C++

class PASCALIMPLEMENTATION TZCompressionStream : public TCustomZStream

Eigenschaften

Typ Sichtbarkeit Quelle Unit Übergeordnet
class public
System.ZLib.pas
System.ZLib.hpp
System.ZLib System.ZLib

Beschreibung

Komprimiert Daten beim Schreiben in einen Stream.

TZCompressionStream ist ein sequenzieller Stream zum Schreiben, der die Daten beim Schreiben komprimiert. Die komprimierten Daten werden in einen eigenen Stream geschrieben, der an den Konstruktor von TZCompressionStream übergeben wird. TZCompressionStream wird nicht der Eigentümer des Ausgabe-Streams. Dieser muss in der Anwendung erstellt, initialisiert und wieder freigegeben werden.

Das Lesen aus einem TZCompressionStream-Objekt führt zu einer ECompressionError-Exception mit der Fehlermeldung "Ungültige Stream-Operation". Entsprechend wird durch einen Seek-Aufruf ebenfalls eine ECompressionError-Exception ausgelöst, Sie können jedoch diese Operation mit dem Offset Null von der aktuellen Position aus durchführen. Dadurch erhalten Sie die Anzahl der unkomprimierten Bytes, die in den Stream geschrieben wurden.

Die Komprimierungsstufe wird bei der Erstellung des Stream-Objekts definiert. Folgende Werte können angegeben werden: clNone, clFastest, clDefault und clMax.

Wenn der Ausgabepuffer des Streams voll ist, wird durch eine Write-Operation in TZCompressionStream der Pufferinhalt in den Ausgabe-Stream geschrieben und das Ereignis OnProgress ausgelöst. Mithilfe von OnProgress können die entsprechenden Steuerelemente (z. B. eine Fortschrittsanzeige) aktualisiert werden.

Siehe auch