![]() |
AW: Komprimiertes Speichern von Virtual Stringtree / Stream
Zitat:
Gruß, frieder EDIT: Ok, hat sich wohl erledigt; TCompressionStream gibt es lt. Forum erst ab D7... |
AW: Komprimiertes Speichern von Virtual Stringtree / Stream
Liste der Anhänge anzeigen (Anzahl: 1)
Im Prinzip könnte man sowas selber Implementieren.
TZCompressionStream ist nach außen ein Stream, welchen man nun an SaveToStream übergeben könnte. Im Constructor gibt man diesem aber einen anderen Stream mit, wie z.B. einen TFileStream. Alles was reinkommt, wird komprimiert und an den anderen Stream weitergegeben. Dieser komprimierte Stream ist aber mit nichts kompatibel, kann also nur mit dem beigelegten TDecompessStream entpackt werden.
Delphi-Quellcode:
program Project2;
{$APPTYPE CONSOLE} uses SysUtils, SimpleCompressStream; var C: TCompessStream; D: TDecompessStream; X: AnsiString; begin try C := TCompessStream.Create(ChangeFileExt(ParamStr(0), '.dat')); try X := '123456789'; C.WriteBuffer(X[1], Length(X)); X := 'abcdefghij'; // Mehreres in einem Kompressionsteil simulieren C.WriteBuffer(X[1], Length(X)); C.Flush; // einen neuen Kompressionsteil simulieren X := 'klmnopqrstubwxyz'; C.WriteBuffer(X[1], Length(X)); finally C.Free; end; D := TDecompessStream.Create(ChangeFileExt(ParamStr(0), '.dat')); try SetLength(X, 9); D.ReadBuffer(X[1], Length(X)); WriteLn(X); // 123456789 SetLength(X, 10); D.ReadBuffer(X[1], Length(X)); WriteLn(X); // abcdefghij SetLength(X, 16); D.ReadBuffer(X[1], Length(X)); WriteLn(X); // klmnopqrstubwxyz finally D.Free; end; D := TDecompessStream.Create(ChangeFileExt(ParamStr(0), '.dat')); try SetLength(X, 35); D.ReadBuffer(X[1], Length(X)); WriteLn(X); // 123456789abcdefghijklmnopqrstubwxyz finally D.Free; end; WriteLn('ende...'); ReadLn; except on E: Exception do begin WriteLn(E.ClassName, ': ', E.Message); ReadLn; end; end; end. |
AW: Komprimiertes Speichern von Virtual Stringtree / Stream
1GB-Daten in einem VST? :shock: Wer schaut sich sowas denn an?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 13:47 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