Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Wie kann man einen Stream leeren (https://www.delphipraxis.net/143897-wie-kann-man-einen-stream-leeren.html)

TheMiller 25. Nov 2009 17:23


Wie kann man einen Stream leeren
 
Hallo,

ich brauche in einer Prozedur ziemlich oft einen Stream. Jetzt möchte ich ihn statt immer neu zu erstellen und freizugeben, den Stream einfach leeren. Reicht es dazu aus, die Stream.Size auf 0 zu stellen?

Vielen Dank

DeddyH 25. Nov 2009 17:26

Re: Wie kann man einen Stream leeren
 
Ein TMemoryStream? Falls ja, der hat auch eine Clear-Methode.

SirThornberry 25. Nov 2009 17:27

Re: Wie kann man einen Stream leeren
 
es kommt darauf an was du unter leeren verstehst. Wenn du darunter verstehst das er 0 byte groß ist, ist das setzen von size auf 0 eine Variante.

TheMiller 25. Nov 2009 17:28

Re: Wie kann man einen Stream leeren
 
Hier geht es um einen TStringStream. Ich möchte vermeiden, dass vorherige und neue String-Stream-Inhalte vermischt werden.

SirThornberry 25. Nov 2009 17:32

Re: Wie kann man einen Stream leeren
 
Je nach dem wie du den neuen Inhalt in den Stream packst musst du vorher nicht leeren. Du kannst schließlich die Daten auch überschreiben.

TheMiller 25. Nov 2009 17:35

Re: Wie kann man einen Stream leeren
 
Diesen Code habe ich für das Einlesen der Daten in den Stream

Delphi-Quellcode:
...
try
  ss.WriteString(utf8decode(Form1.ZQuery1.FieldByName('gtext').AsString));
  ss.Position:=0;
  AddRTFFromStream(frmGesetz.Editor.Handle, ss);
except
...
Muss ich bei der nächsten Einlese-Aktion den Stream leeren?


Alle Zeitangaben in WEZ +1. Es ist jetzt 03:52 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