Есть ли способ сделать массив "суб перечисления" в Delphi? - PullRequest
0 голосов
/ 31 января 2020

Рассмотрим:

type
  TEnum = (e1, e2, e3, e4, e5, e6, e7, e8, e9, e10);

const
  ENUM_ARR: array[TEnum] of integer = (1, 2, 3, 4, 5, 6, 7, 8, 9, 10);

procedure Proc;
var
  subEnumArr: array[e3..e5] of integer;
  enumVar: TEnum;
begin
  for enumVar := Low(subEnumArr) to High(subEnumArr) do
    subEnumArr[enumVar] := ENUM_ARR[enumVar];
end;

Это прекрасно работает. Но допустим, я хочу создать массив с более сложным набором перечислений, например:

subEnumArr: array[e1, e3..e5, e7, e9..e10] of integer;

Так что delphi не допустит этого, и мне интересно, есть ли элегантное решение для этого.

...