Arrays 如何在声明中初始化delphi静态数组的特定条目?

Arrays 如何在声明中初始化delphi静态数组的特定条目?,arrays,delphi,static-array,Arrays,Delphi,Static Array,我有一个全局数组变量,用'a'..'z'枚举。如果我想初始化变量声明中的一些条目,我通常会执行以下操作: var Example: Array['a'..'z'] of String = ('Example one', 'two', 'three'); 是否有一种方法可以初始化变量声明中的“g”、“p”、“o”和“y”,或者我必须通过实现部分中的某个函数/过程来进行初始化 可能有更聪明的方法来实现我想要的吗?根本没有办法指定只需要初始化特定的元素。全局数组变量的初始值设定项只是一个元素列

我有一个全局数组变量,用
'a'..'z'
枚举。如果我想初始化变量声明中的一些条目,我通常会执行以下操作:

var 
  Example: Array['a'..'z'] of String = ('Example one', 'two', 'three');
是否有一种方法可以初始化变量声明中的“g”、“p”、“o”和“y”,或者我必须通过实现部分中的某个函数/过程来进行初始化


可能有更聪明的方法来实现我想要的吗?

根本没有办法指定只需要初始化特定的元素。全局数组变量的初始值设定项只是一个元素列表。元素是按顺序指定的。任何未指定的元素都将设置为默认值,在您的案例中为
'
。由于列表是按顺序处理的,因此未指定的元素必须是数组末尾的元素

为了做到这一点,您必须在代码中编写这些初始化

var 
  Example: Array['a'..'z'] of String; // global variable
....
// and later in code
Example['a'] := ...;
Example['b'] := ...;
... etc.
当然,您可以在代码中选择您喜欢的任何元素


如果希望在程序启动时执行初始化,则必须从调用初始化代码。

此时不能仅初始化某些元素。正确的方法是在
实现后编写的
初始化
部分:


implementation
...
initialization
  Example['g'] := 'something';

end.

啊,好的。我想既然
varatchar:Char=('g','v','n','f')的数组[0..3]工作,可能有一种方法可以选择某些元素进行初始化@德扬还提出了一个建议,下面我将尝试一下。谢谢你的回复!啊!!我懂了。这是一个全局变量!我会更新一下。我考虑局部变量是出于某种原因。这正是我所需要的!我正在使用的这本愚蠢的书根本没有提到那个部分。。。非常感谢。