comp.lang.ada
 help / color / mirror / Atom feed
From: dl10696@ehsn4.cen.uiuc.edu (Dat Trieu Le)
Subject: Re: How do I "Get" just 4 characters?
Date: 4 Mar 93 22:18:37 GMT
Date: 1993-03-04T22:18:37+00:00	[thread overview]
Message-ID: <C3Dxz1.J81@news.cso.uiuc.edu> (raw)
In-Reply-To: 9303041121.aa12530@Paris.ics.uci.edu

kanderso@mabillon.ICS.UCI.EDU (Kenneth Anderson) writes:

>I had a question posed to me by one of my students, that asked : How
>do I get just 4 characters of input?

>Using the following program as an example:

>with Text_IO;

>procedure test is

>   subtype pin_type is string(1..4);

>   A   : pin_type;
>   Num : INTEGER;

>begin
>   Text_IO.Get(A);
>   Text_IO.PUT_LINE(A);
>end test;

>Now then, if I run the program and type "1234567890",

>what I see is

>1234567890
>1234

>What I would like to see is this:

>1234
>1234

>I.E. I don't want to see 567890, I want the program to kick in right away
>after the fourth character is typed, not wait for the user to type Return.

>I tried changing the program to this:

>with Text_IO;

>procedure test is

>   subtype pin_type is string(1..4);

>   A : pin_type;
>   B : CHARACTER;

>begin
>   Get(B);
>   A(1) := B;
>   Get(B);
>   A(2) := B;
>   Get(B);
>   A(3) := B;
>   Get(B);
>   A(4) := B;
>   Text_IO.PUT_LINE(A);
>end test;

>But the same behavior results...

>Any suggestions?

>Thanks in advance,

Hi Ken,

I believe TEXT_IO works much like buffered input io. That is,
it will read from the input buffer. the Get message reads from
that buffer. If there is not enough characters in the buffer,
then the program will wait until the user has completed its
input to the buffer. Text_IO doesn't consider inputs to be complete
until it is followed by a carriage-return. If you want Ada to
interpret characters one-at-a-time, then a routine to interface
to the hardware may have to be written.

hope this helps.



  reply	other threads:[~1993-03-04 22:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
1993-03-04 19:22 How do I "Get" just 4 characters? Kenneth Anderson
1993-03-04 22:18 ` Dat Trieu Le [this message]
1993-03-04 23:20   ` Ron Sercely
1993-03-05  5:45     ` Dat Trieu Le
1993-03-05 15:55       ` Ron Sercely
1993-03-05  5:56 ` Craig Manahan
replies disabled

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