From: "Frank J. Lhota" <lhotaf@lexma.meitech.com>
Subject: Re: Problems with Last statment ....
Date: 2000/03/14
Date: 2000-03-14T00:00:00+00:00 [thread overview]
Message-ID: <blvz4.1676$S04.978@client> (raw)
In-Reply-To: 38ce6681.0@news.per.paradox.net.au
"Defiant" <ithinkiforgot@.bad.memory.com> wrote in message
news:38ce6681.0@news.per.paradox.net.au...
> hi im writing a program for a uni assignment and it is complete and works
> yet i have set the string type to a min of 1 to a max of 20 characters for
a
> name input...
>
> the problem i am having is i am using the Get_Line(Name, Last) statement
to
> get the name they feed in and the Put(Name); procedure to output... the
> problem is ada compiler grabs whatever extra numerals hex and garbage that
> is left in RAM to fill the extra places between 1 and 20... that the name
> that was input doesnt fill ....
>
>
> any suggestions ...
>
> Thanks
>
>
>
The call Get_Line(Name, Last) returns the most recently read line in Name( 1
.. Last ). For example, if the next line is "Hello", then the call
Get_Line(Name, Last) will set Last to 5 and set Name( 1 .. 5 ) to "Hello".
Any character in Name after Name( Last ) is garbage, and therefore should
not be output.
To write only the characters that were actually in the input line, try the
call
Put ( Name( 1 .. Last ) );
If you want to output the name right padded to 20 characters, you could do
the following:
Name ( Last + 1 .. Name'Last ) := ( others => ' '); -- Blank out the
unread portion.
Put ( Name );
Hope this helps.
next prev parent reply other threads:[~2000-03-14 0:00 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2000-03-14 0:00 Problems with Last statment Defiant
2000-03-14 0:00 ` John English
2000-03-14 0:00 ` Frank J. Lhota [this message]
2000-03-14 0:00 ` John J Cupak Jr
2000-03-14 0:00 ` Defiant
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox