如何在Delphi中清除Word的多维数组



我使用的是Delphi 7,我试图清除(即用零填充(声明的数组:

const CONST_MAX_INDEX_AllColumnsSeparators = 3658;
type TAllColumnsSeparators = array[0..CONST_MAX_INDEX_AllColumnsSeparators] of Word;
type ColSeparators = Array[0..11] of TAllColumnsSeparators; // count of columns

var All_separators: ColSeparators;

在这个页面后面,应该有函数System.Array.Clear,但这似乎适用于比Delphi v.7更新的IDE。

System.Array.Clear(All_separators, 0, CONST_MAX_INDEX_AllColumnsSeparators+1);

我得到错误未定义的标识符数组。

我想,我可以手动在循环中重新设置种子,但我想这将是一项性能缓慢的工作。

注意:我在一个循环中处理了63个文件,每个循环都需要重置这个数组,所以这个命令将嵌套在一个环路中。所以我想应该有一些聪明的方法可以在没有另一个控制回路的情况下快速轻松地完成这项工作。

注意,给定

const
CONST_MAX_INDEX_AllColumnsSeparators = 3658;
type
TAllColumnsSeparators = array[0..CONST_MAX_INDEX_AllColumnsSeparators] of Word;
TColSeparators = array[0..11] of TAllColumnsSeparators;

这两种类型都是静态数组,属于类型。因此,最外层的数组类型也是一个只包含Words序列的值类型。因此,要用零(零Words(填充这样的变量,只需要用零(0Bytes(填充其内存:

var
AllSeparators: TColSeparators;
begin
FillChar(AllSeparators, SizeOf(AllSeparators), 0);

最新更新