comp.lang.ada
 help / color / mirror / Atom feed
From: Simon Bracken <simon.bracken.@gecm.com>
Subject: Re: newbie problem
Date: 1998/12/04
Date: 1998-12-04T00:00:00+00:00	[thread overview]
Message-ID: <748rsl$2jv@gcsin3.geccs.gecm.com> (raw)
In-Reply-To: 3667EE11.6E94BA0F@interact.net.au

Graeme Wallace <Dizzy@interact.net.au> wrote:
>If I want to get user input for my program in the form of a  string of
>undefined length, how do I do so ?  If I set the string length to, say:
>
>help_me_please : String(1..20);
>
>I seem to be stuck with a string exactly that size.  What is the
>variable assignment which allows the actual length of the user input to
>determine the length of the string which the io system
>(ada.text_io.)gets ?
>
>G Wallace
>
>Thankyou.
>:-)
>

I'm a newbie too (with respect to the latest edition of Ada) here follows 
what I would suggest if you were using Ada83.  I expect that one of the 
new (Ada95) string types may be more convenient but this should do the 
trick (with necessary addition of "ada.")

The following is an abstract from a noddy application: it will allow the 
user to input a string of up to 80 characters.  The result is then 
manipulated in the normal way.  {it isn't perfect so if any other pedants 
are watching I know!}


with Text_IO;
procedure Example is

  subtype TEXT_STRING is STRING (1 .. 80);
  type VARYING is
    record
      Text : TEXT_STRING;
      Last : NATURAL;
    end record;

  Input_Record : VARYING;

.. blah

begin

    ...

    Text_IO.Get_Line (Input_Record.Text, Input_Record.Last);
    case Input_Record.Text (Input_Record.Text'First) is
      when 'P' =>
        if List = null then
          List := new PAGE_ITEM;
          List.Address := Input_Record.Text (2 .. 5);
          Current_Page_Ptr := List;
        else
     ...

end Example;

Hope this helps a bit.  I must aquaint myself with the new stuff.

Cheers,

Simon.





  reply	other threads:[~1998-12-04  0:00 UTC|newest]

Thread overview: 31+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1998-12-05  0:00 newbie problem Graeme Wallace
1998-12-04  0:00 ` Simon Bracken [this message]
1998-12-04  0:00   ` Marin David Condic
1998-12-04  0:00 ` Marin David Condic
1998-12-04  0:00 ` David Botton
1998-12-04  0:00 ` Gautier.DeMontmollin
1998-12-04  0:00 ` Mats Weber
1998-12-05  0:00   ` Matthew Heaney
1998-12-05  0:00 ` Matthew Heaney
1998-12-07  0:00 ` Jeff Carter
  -- strict thread matches above, loose matches on Subject: below --
2009-05-13 14:16 Olivier Scalbert
2009-05-13 14:54 ` Martin
2009-05-13 15:20   ` Olivier Scalbert
2009-05-13 15:14 ` Adam Beneschan
2009-05-13 15:54   ` Olivier Scalbert
2009-05-13 15:44 ` Ludovic Brenta
2009-05-13 16:03   ` Olivier Scalbert
2009-05-13 18:00 ` Olivier Scalbert
2009-05-13 18:51   ` Martin
2009-05-13 19:45     ` sjw
2009-05-13 19:48     ` Olivier Scalbert
2009-05-14 19:41       ` sjw
2009-05-15  5:02         ` Olivier Scalbert
2009-05-15  8:05         ` Jean-Pierre Rosen
2009-05-18 10:23         ` Olivier Scalbert
2009-05-18 10:48           ` Martin
2009-05-18 10:54             ` Olivier Scalbert
2009-05-18 10:52           ` Ludovic Brenta
2009-05-18 11:09             ` Olivier Scalbert
2009-05-14 22:39       ` Jeffrey R. Carter
2009-05-14  2:59 ` anon
replies disabled

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