System.Classes.TMemoryStream.Write
Delphi
function Write(const Buffer; Count: Longint): Longint; override;
C++
virtual int __fastcall Write(const void *Buffer, int Count)/* overload */;
inline int __fastcall Write(const System::DynamicArray<System::Byte> Buffer, int Offset, int Count){ return TStream::Write(Buffer, Offset, Count); }
inline int __fastcall Write(const System::DynamicArray<System::Byte> Buffer, int Count){ return TStream::Write(Buffer, Count); }
Eigenschaften
Typ | Sichtbarkeit | Quelle | Unit | Übergeordnet |
---|---|---|---|---|
function | public | System.Classes.pas System.Classes.hpp |
System.Classes | TMemoryStream |
Beschreibung
Schreibt die mit Count vorgegebene Anzahl von Bytes aus dem Puffer (Buffer) an die aktuelle Position im Speicherpuffer und aktualisiert dann die Position auf Basis von Count.
Mit Write werden, beginnend an der aktuellen Position, so viele Bytes in den Speicherpuffer des Streams geschrieben, wie in Count vorgegeben. Falls nötig, wird der Speicherpuffer dabei vergrößert. Alle Daten, die nach der aktuellen Position (Startposition) stehen, werden überschrieben, wenn der Vorgang nicht am Ende des Speicherpuffers startet.
Write aktualisiert die Eigenschaft Size mit dem Wert Position + Count, und die Eigenschaft Position erhält den neuen Wert von Size. Somit gehen bei einem Aufruf von Write alle Daten verloren, die im Speicher-Stream nach der aktuellen Position gespeichert waren.
Write schreibt immer die in Count festgelegte Anzahl von Bytes in den Puffer, wenn kein Speicherfehler auftritt. Demnach ist Write für ein TMemoryStream-Objekt das Äquivalent zur Methode WriteBuffer.
Alle anderen Methoden des Speicher-Streams, die das Lesen von Daten ermöglichen (WriteBuffer, WriteComponent), rufen zum Schreiben Write auf.