excellent, I sincerely doubted it couldn't, I just never actually saw such an example :-) Thanks Preben :-) -- "To err is human. To really screw up, you need C++!" St�phane Richard "Ada World" Webmaster http://www.adaworld.com "Preben Randhol" wrote in message news:slrnbqvhev.97p.randhol+valid_for_reply_from_news@kiuk0156.chembio.ntnu.no... > On 2003-11-10, Stephane Richard wrote: > > I'd like to make an constant array of a given record type and initialize it > > upon it's creation. > > [Delete unknown language (VHDL?)] > > Yes it can be done: > > ---8<-------8<------8<------- > > with Ada.Text_IO; use Ada.Text_IO; > > procedure arrayinit > is > > type Test_Record is > record > Enabled : Boolean; > Name : String(1 .. 5); > Value : Integer; > end record; > > type Test_Array is array (1 .. 5) of Test_Record; > > My_Array : constant Test_Array := > (1 => (True, "Test1", 1), > 2 => (False, "Test2", 2), > 3 => (False, "Test3", 4), > 4 => (False, "Test4", 8), > 5 => (True, "Test5", 16)); > begin > > -- Printing the values to show that it is correct. > > for i in My_Array'Range loop > Put_Line (Integer'Image (i) & " => " & > Boolean'Image (My_Array (i).Enabled) & "," & > My_Array (i).Name & "," & > Integer'Image (My_Array (i).Value)); > end loop; > > end arrayinit; > ---8<-------8<------8<------- > > > -- > "Saving keystrokes is the job of the text editor, not the programming > language."