comp.lang.ada
 help / color / mirror / Atom feed
From: "Nick Roberts" <Nick.Roberts@dial.pipex.com>
Subject: Re: [Q] Returning Strings From A Function
Date: 1997/04/08
Date: 1997-04-08T00:00:00+00:00	[thread overview]
Message-ID: <01bc43b8$a4c441a0$09f682c1@xhv46.dial.pipex.com> (raw)
In-Reply-To: E89sJq.62y@world.std.com



Robert A Duff <bobduff@world.std.com> wrote in article
<E89sJq.62y@world.std.com>...
> In article <01bc42af$e32e3ea0$90f482c1@xhv46.dial.pipex.com>,
> Nick Roberts <Nick.Roberts@dial.pipex.com> wrote:
> >   FS: Filename_String := ""; -- unconstrained type, so must be
initialised
> 
> FS is forever constrained to length zero.
> 
> >   FS := Text_IO.Name(F); -- constraint error raised if longer than 12
> 
> No, this will raise C_E, unless the name is of length zero.
> 
> Ada's built-in arrays cannot change size.


Argh! The embarrassment! Sudden brainstorm, Bob (my excuse being that I am
using a lot of different languages at the moment (pretty feeble, eh?)).
Anyway, what I _should_ have written was this...


declare
   F: Text_IO.File_Type;
   ...
   type Filename_String is array (1..12 range <>) of Character;
   type Filename_Ref is access Filename_String;
   ...
   S: Filename_Ref;
   ...
begin
   ...
   S := new Filename_String'(Text_IO.Name(F)); -- constraint error raised
if name longer than 12 chars
   ...
   Text_IO.Put("Name of file is: "+String(S.all)); -- note the need to
dereference and convert
   ...
end;


John: I hope I did not end up confusing you. Many apologies. The above will
actually work, and will hopefully be a relatively simple solution to your
problem.

Nick.






  reply	other threads:[~1997-04-08  0:00 UTC|newest]

Thread overview: 24+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1997-04-04  0:00 [Q] Returning Strings From A Function John McCabe
1997-04-04  0:00 ` Joakim Olsson
1997-04-05  0:00 ` John McCabe
1997-04-05  0:00   ` Robert Dewar
1997-04-06  0:00     ` John McCabe
1997-04-06  0:00       ` Robert Dewar
1997-04-06  0:00         ` Nick Roberts
1997-04-07  0:00           ` Robert A Duff
1997-04-08  0:00             ` Nick Roberts [this message]
1997-04-07  0:00               ` Matthew Heaney
1997-04-06  0:00       ` Matthew Heaney
1997-04-05  0:00   ` Robert A Duff
1997-04-05  0:00 ` johnherro
1997-04-05  0:00   ` Mark & Zurima McKinney
1997-04-07  0:00     ` Jon S Anthony
1997-04-07  0:00       ` johnherro
1997-04-07  0:00     ` johnherro
1997-04-07  0:00       ` Robert Dewar
1997-04-08  0:00     ` Jeff Carter
1997-04-09  0:00     ` Looking for an Ada SCIENTIFIC UNITS checking package Ron House
1997-04-05  0:00   ` [Q] Returning Strings From A Function Robert Dewar
1997-04-06  0:00     ` John McCabe
1997-04-06  0:00       ` Robert Dewar
1997-04-06  0:00 ` John McCabe
replies disabled

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