動的配列の0クリアの方法

論よりソース。
下記ソースの通りです。

const
  BufferSize = 2048;
var
  Buffer: array of Byte;
begin
  SetLength(Buffer, SizeOf(Buffer[0]) * BufferSize);
  FillChar(Buffer[0], SizeOf(Buffer[0]) * BufferSize, 0);
end;

FillChar が参照を取るので Buffer[0] と書かないといけないところがポイントです。
文字列も動的配列と同様に SetLength で長さを変更できますが、先頭は管理領域となっているので、以下のように添え字を1にする必要があることに注意。

const
  BufferSize = 2048;
var
  S: string;
begin
  SetLength(S, BufferSize);
  FillChar(S[1], Length(S), 0);
end;

Return index page