System.Classes.TCustomMemoryStream.Read
Delphi
function Read(var Buffer; Count: TNativeCount): TNativeCount; override;
C++
virtual TNativeCount __fastcall Read(void *Buffer, TNativeCount Count)/* overload */;
inline System::LongInt __fastcall Read(System::Sysutils::TBytes Buffer, System::LongInt Offset, System::LongInt Count){ return TStream::Read(Buffer, Offset, Count); }
inline System::LongInt __fastcall Read(System::Sysutils::TBytes &Buffer, System::LongInt 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 メソッドは例外を生成します。