Grid_Font : constant array (7 .. 40) of HFONT := (
others i => Create_Font ("Lucida Console", i + 4)
);
Пока что пришлось извращаться (по-моему, уродливо вышло).
Index : integer;
function Set_I(i: integer) return integer is
begin
Index := i;
return Index;
end;
function Get_I return integer is
begin
Index := Index + 1;
return Index;
end;
Grid_Font : constant array (7 .. 40) of HFONT := (
Create_Font ("Lucida Console", Set_I(7) + 4),
others => Create_Font ("Lucida Console", Get_I + 4)
);
Можно ли создавать многомерные массивы с компонентами разной длины?
type TPattern_Array is array (Positive range <>, Positive range <>) of boolean;
Patterns : constant TPAttern_Array := (
(true, true),
(true, false),
(true, true, true, false, false),
(true, true, true, false, false, false, true, false, false, false));
Не компилируется... Странно, почему так? Не вижу проблем с реализацией.
Или вручную эмулировать подобное, то есть создать несколько массивов разной длины, а потом создать массив указателей и на них указать?