System.Classes.TCustomMemoryStream.Read
Delphi
function Read(var Buffer; Count: Longint): Longint; override;
function Read(Buffer: TBytes; Offset, Count: Longint): Longint; override;
C++
virtual int __fastcall Read(void *Buffer, int Count)/* overload */;
virtual int __fastcall Read(System::DynamicArray<System::Byte> Buffer, int Offset, int Count)/* overload */;
inline int __fastcall Read(System::DynamicArray<System::Byte> &Buffer, int Count){ return TStream::Read(Buffer, Count); }
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
function | public | System.Classes.pas System.Classes.hpp |
System.Classes | TCustomMemoryStream |
説明
Read は,メモリストリームから Count で指定するバイト数を Buffer に読み出し,ストリームの現在位置を読み出したバイト数だけ進めます。
Read メソッドを呼び出すと,メモリストリームの内容のバッファへの読み出しを,現在の位置から開始することができます。Read メソッドは Memory 内の現在位置から Count で指定するバイト数を読み出します。Count で指定するバイト数がメモリバッファの最後を超えている場合は,Read メソッドは関連付けられたメモリバッファの最後までのデータを転送するだけです。Read メソッドは実際に Buffer に転送したバイト数を返し,その分だけ現在位置を進めます。戻り値が Count 値より少ない場合,ストリームデータの最後まで読み出したことを意味しています。
メモリストリームのデータを読み出すほかのメソッド(ReadBuffer や ReadComponent)は,実際に読み出しを行うために Read メソッドを呼び出します。
メモ: Read は Count で指定する値を上限とみなします。これとは対照的に,Count で指定されたバイト数が読み出せない場合,ReadBuffer メソッドは例外を生成します。