System.SetTextBuf
Delphi
procedure SetTextBuf(var F: Text; var Buf); overload;
procedure SetTextBuf(var F: Text; var Buf; Size: Integer); overload;
プロパティ
種類 | 可視性 | ソース | ユニット | 親 |
---|---|---|---|---|
procedure | public | System.pas | System | System |
説明
入出力バッファをテキストファイルに割り当てます。
Delphi のコードでは,SetTextBuf プロシージャは,テキストファイル F が,内部バッファではなく Buf で指定したバッファを使用するように変更します。F はテキストファイル変数,Buf は任意の変数,Size はオプションの式です。
テキストファイル変数には,Read 操作と Write 操作のバッファ用にそれぞれ 128 バイトの内部バッファがあります。ほとんどの操作はこのバッファで十分です。ただし,大量の入出力があるプログラムでは,より大きいバッファの方がディスクヘッドの動きやファイルシステムのオーバーヘッドを減らすことができて便利です。
Size は,バッファのサイズをバイトで指定します。Size を省略した場合,バッファサイズは SizeOf(Buf) になります。新しいバッファは,F が次に AssignFile に渡されるまで有効です。
SetTextBuf は,Reset,Rewrite,Append の直後に呼び出せますが,開いているファイルに対しては使用できません。
いったん入出力操作をしたすでに開いているファイルに対して SetTextBuf を呼び出すと,バッファの変更によってデータを失うことがあります。
Delphi のランタイムライブラリは,ファイルに対する入出力操作の間,バッファが常に存在していることを確認しません。よくあるエラーには,ローカル変数をバッファとして割り当てた後に,そのバッファを宣言した手続きの外でファイルを使用するエラーがあります。