comp.lang.ada
 help / color / mirror / Atom feed
From: "David C. Hoos, Sr." <david.c.hoos.sr@ada95.com>
Subject: Re: An array of records within an array of records (Still a problem)
Date: 1998/05/02
Date: 1998-05-02T00:00:00+00:00	[thread overview]
Message-ID: <354b11f5.0@205.238.18.7> (raw)
In-Reply-To: 354AEE03.424DC998@none.com


Hi,

The error message means exactly what it says: you need a subtype mark where
you had put the name of an object.

The following code shows how it's done.
Also, note that you must assign all three elements of the track array,
otherwise you will get an error at run time,

Further, the use of named association instead of positional association, and
the organized layout of the assignment statement will make the code easier
to understand and maintain.

Finally, since many news readers cannot display HTML, you should use plain
text when posting to widely-read newsgroups.


with Ada.Text_Io;procedure Mullen is   type Cd_Track is      record
Title:String(1..20);         Artist:String(1..20);
Playlength:Float:=0.00;         Id:Integer;      end record;   type
Cd_Track_Array is array(1..3) of Cd_Track;   -- New_Cd_Track:Cd_Track_Array;
type Cd is      record         Title:String(1..20);
Artist:String(1..20);         Id:Cd_Track_Array;         Tracks:Integer;
end record;   type Cd_Array is array(1..3) of Cd;
New_Cd_Array:Cd_Array;begin   New_Cd_Array (1) :=     (Title  =>
"aaaaaaaaaaaaaaaaaaaa",      Artist => "bbbbbbbbbbbbbbbbbbbb",      Id
=> (1 => (Title      => "cccccccccccccccccccc",                       Artist
=> "dddddddddddddddddddd",                       Playlength => 0.34,
Id         => 1),                 2 => (Title      =>
"eeeeeeeeeeeeeeeeeeee",                       Artist     =>
"ffffffffffffffffffff",                       Playlength => 0.35,
Id         => 2),                 3 => (Title      =>
"gggggggggggggggggggg",                       Artist     =>
"hhhhhhhhhhhhhhhhhhhh",                       Playlength => 0.36,
Id         => 3)                ),      Tracks => 3);   Ada.Text_Io.Put
(New_Cd_Array(1).Id(1).Title);end Mullen;
    R Mullen wrote in message <354AEE03.424DC998@none.com>...
    I wonder if anyone could help me out, my problem is that I am trying to
create an array of records within an array of records representing CD tracks
within a CD, however I have tried every possible solution but the error I
receive most is "Sub-type mark required in this context", this is on the
line where I am specifying the ID of the CD to the array of tracks.
    my code is as follows:


type cd_track is
        record
                title:string(1..20);
                artist:string(1..20);
                playlength:float:=0.00;
                id:integer;
        end record;

type cd_track_array is array(1..3) of cd_track;
new_cd_track:cd_track_array;

type cd is
        record
                title:string(1..20);
                artist:string(1..20);
                id:new_cd_track;
                tracks:integer;
        end record;

type cd_array is array(1..3) of cd;
new_cd_array:cd_array;


begin


new_cd_array(1):=("qqqqqqqqqqqqqqqqqqqq","qqqqqqqqqqqqqqqqqqqq",("qqqqqqqqqq
qqqqqqqqqq","qqqqqqqqqqqqqqqqqqqq",0.34,1),3);
                put(new_cd_array(1).id(1).title);
      I am specifying the ID of the CD to the array of CD Tracks. I would of
thought it would work but as of yet it still wont. Although I have asked
this before the responses weren't really concerning the actual problem.
    This is part of a larger coursework assignment this being a small
section, the course lecturer has had a look and cant figure it out yet,
could anyone have a look and tell me how I can incorporate an array of
records within an array of records and possibly fix this most annoying
error.

    Any help greatly appreciated.

    Thanks

    (Using latest version of GNAT with TEXT_IO, with windows 95)







  parent reply	other threads:[~1998-05-02  0:00 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <354AEE03.424DC998@none.com>
1998-05-02  0:00 ` An array of records within an array of records (Still a problem) Arthur Ward
1998-05-02  0:00 ` David C. Hoos, Sr. [this message]
1998-05-02  0:00 ` David C. Hoos, Sr.
1998-05-02  0:00 ` Robert Dewar
1998-05-04  0:00 ` Pascal Obry
1998-05-02  0:00 tmoran
1998-05-04  0:00 ` Stephen Leake
1998-05-06  0:00   ` Dr Richard A. O'Keefe
1998-05-06  0:00     ` Robert Dewar
replies disabled

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox