有多种类型的数组?

时间:2010-05-09 16:28:45

标签: delphi arrays delphi-2009

我想知道是否有办法制作一个有多种数据字段的数组。

到目前为止,我使用的是aMyArray: array of array [0..1] of TPoint;

但现在,这对我来说还不够。我需要在现有的2“Point”元素中添加3个元素,使其成为像aMyArray: array of (TPoint,TPoint,real,real,real)

这样的数组

因此aMyArray的每个元素都有5个'子元素',其中2个是TPoint类型,其中3个是'真实'类型。

这可能以某种方式实现吗?

4 个答案:

答案 0 :(得分:12)

也许像

这样的记录
TMyType = record
  Points: array[0..1] of TPoint;
  Floats: array[0..2] of Real;
end;

TMyType = record
  Point0: TPoint;
  Point1: TPoint;
  Float0: Real;
  Float1: Real;
  Float2: Real;
end;

适合你。

答案 1 :(得分:0)

您可以使用Variants数组在每个元素中存储不同的数据。但阵列设计用于存储同质数据。如果您的数据存储要求更复杂,请开始寻找不同的容器。

答案 2 :(得分:0)

我会使用带有AddObject的TStringList或decendant。

答案 3 :(得分:0)

您可能还想使用变体记录。例如see this