Delphi-PRAXiS
Seite 2 von 2     12   

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Stream Ableitung, mit Eigenschaften von File- und Memstream? (https://www.delphipraxis.net/96148-stream-ableitung-mit-eigenschaften-von-file-und-memstream.html)

markusj 20. Jul 2007 15:15

Re: Stream Ableitung, mit Eigenschaften von File- und Memstr
 
Zitat:

Zitat von Robert Marquardt
Bei deinem Pufferproblem habe ich gerade keine Lust dir zu helfen. Morgen vielleicht.

Loool. (Sorry, konnte ich mir net verkneifen)

Was dein Buffer-Problem angeht ... ich würde, wie schon von SirT vorgeschlagen, eine Liste, oder vielleicht ein Array anlegen, in dem jeder Eintrag einen bestimmten Bereich des Streams vertritt. (Ich würde ein dyn. Array bevorzugen)
Ist der Eintrag vorhanden/auf true gesetzt, ist der Puffer schon verändert und somit von höherer Priorität.

Irgendwie erinnert mich deine Idee ein klein wenig an ein MemoryMappedFile, wenngleich du auch mehr(ere) Buffer nutzt.

mfG
Markus

alleinherrscher 21. Jul 2007 15:50

Re: Stream Ableitung, mit Eigenschaften von File- und Memstr
 
Zitat:

Zitat von markusj
Ist der Eintrag vorhanden/auf true gesetzt, ist der Puffer schon verändert und somit von höherer Priorität.

Hört sich nicht sehr "sauber" an, aber ich glaub ich weiß jetzt wie ich es mache: Ich nehme meinen Stream und schreibe da immer Blöcke rein, die sich geändert haben (also so ähnlich wie ich es vorher gemacht habe, nur dass diese Blöcke in eine bestimmte größe eingeteilt sind + die Position im Originalstream. Dann kann man die einfach durchgehen und findet ja alle stellen, die geändert wurden.

Aber wenn ich die Blöcke hinterher zusammensetzten will müsste ich zwei "Buffer" zusammensetzten.
Konkret:

Block1.read(Buffer1,Blocklaenge);
Block2.read(Buffer2,Blocklaenge);

Ich kann ich diese Buffer zusammensetzten? Delphi sagt mir, das wäre ein Void Typ, hab aber gelesen dass es nix anderes als ein Array of Byte ist? Stimmt das? Und wenn ja wie bekomme ich den zusammengesetzten Buffer aus Buffer1 und Buffer2?


Alle Zeitangaben in WEZ +1. Es ist jetzt 11:20 Uhr.
Seite 2 von 2     12   

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