Autor Beitrag
Niko S.
ontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic starofftopic star
Beiträge: 566
Erhaltene Danke: 10

Win 7, Ubuntu
Lazarus, Turbo Delphi, Delphu 7 PE
BeitragVerfasst: Di 20.10.09 09:57 
Also ich bin grad am Rätseln welcher Stream für meine Angelegenheiten besser geeignet wären.
Mit dem FileStream speicher ich ganz einfach eine Array ab die recht groß sein kann.
Nach dem Speichern dieser Array ist die datei ca 2,77 mb groß, was ich schon ganz schön extrem finde.
Das ganze wird ja natürlich nicht Komprimiert..
Dann hab ich ein wenig gesucht und eine Kompressionsmethode mit MemoryStream gefunden
www.swissdelphicente.../showcode.php?id=822
Nun funktioniert die wunderbar und die Array ist nun extrem geschrumpft (weil sie noch viele viele viele doppelte Zeichensätze enthält, weswegen man sie gut komprimieren konnte. ~ ca 9kb)
Natürlich würde die jetzt größer werden, wenn sie nicht soviele doppelte Elemente enthält, aber manchmal ist das nun der fall und da würde sich das anbieten.
Meine Frage wäre jetzt einfach, was lohnt sich mehr, oder kann man diese Methode auch ganz einfach auf ein FileSteam umsetzen und ist das überhaupt Sinnvoll.

Danke schonmal für die Antworten, bin auf dem Gebiet noch neuling.
Xentar
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 2077
Erhaltene Danke: 2

Win XP
Delphi 5 Ent., Delphi 2007 Prof
BeitragVerfasst: Di 20.10.09 10:02 
Die Prozeduren erwarten einen TStream als Parameter. Ob das nun ein File- oder ein MemoryStream ist, ist dem egal.

Ich persönlich würde aber einen MemoyStream vorziehen. Ein FileStream hantiert sofort auf dem Datenträger rum, auch wenn du nur 4 Byte liest. Ist also für viele kleine Werte, die einzeln gelesen werden, ungeeignet.
Ein MemoryStream schreibt erstmal nur in den (schnelleren) RAM, und wird am Ende einmal komplett auf die Platte geschrieben.

_________________
PROGRAMMER: A device for converting coffee into software.