comp.lang.ada
 help / color / mirror / Atom feed
From: gerhard.nospam@bigfoot.de (Gerhard Häring)
Subject: Re: a little help
Date: Tue, 16 Oct 2001 17:47:18 +0200
Date: 2001-10-16T17:47:18+02:00	[thread overview]
Message-ID: <slrn9soaq9.44j.gerhard.nospam@lilith.hqd-internal> (raw)
In-Reply-To: 9qh8lt$1he7$1@newsreader1.mclink.it

On Tue, 16 Oct 2001 14:23:58 +0200, F <phosphorus@libero.it> wrote:
>in-side variable and the parameter j is in out) and there are still the same
>problems.
>The problem is the second recall of my procedure.
>Please help me................. :-)
>
>
>P.S.
>I send you the entire new program
>
>procedure prova is
>    type st is new string;
>    b:st(1..20);
>    ind:integer:=1;
>
>    procedure leggis (j: in out st; i: in out integer) is
>       c:character;
>    begin
>        while not end_of_line loop
>            get(c); j(ind):=c; i:=i+1;
>        end loop;
>    end leggis;
>
>begin
>    new_line;
>    leggis(b,ind);
>    for i in 1..ind loop
>        put(b(i));
>    end loop;
>    ind:=1;
>    new_line;
>    -- this is the beginning of my problems!!
>    leggis(b,ind);
>    for i in 1..15 loop
>        put(b(i));
>    end loop;
>end prova;

You're still using global variables. Don't. These are almost always
causes of errors. If you need variables in your main procedure, declare
them in a declare block like

declare
    ind := integer := 1;
begin
    -- main procedure logic here
end prova;

I don't want to entirely debug your program (it could be written much
simpler with using the appropriate stuff from Ada.Text_IO and perhaps
Ada.Strings.(Un)bounded). But now the global variables are causing the
bugs. You should avoid them whenever you can.

Gerhard
-- 
mail:   gerhard <at> bigfoot <dot> de       registered Linux user #64239
web:    http://www.cs.fhm.edu/~ifw00065/    OpenPGP public key id 86AB43C0
public key fingerprint: DEC1 1D02 5743 1159 CD20  A4B6 7B22 6575 86AB 43C0
reduce(lambda x,y:x+y,map(lambda x:chr(ord(x)^42),tuple('zS^BED\nX_FOY\x0b')))



  reply	other threads:[~2001-10-16 15:47 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2001-10-16  8:39 a little help F
2001-10-16  9:50 ` Gerhard Häring
2001-10-16 12:23   ` F
2001-10-16 15:47     ` Gerhard Häring [this message]
2001-10-16 15:46   ` Martin Dowie
2001-10-16 15:29 ` Ted Dennison
2001-10-17  7:11   ` F
2001-10-17 14:26     ` Ted Dennison
2001-10-17 10:00 ` Preben Randhol
replies disabled

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