From: Matthew Heaney <matthew_heaney@acm.org>
Subject: Re: Length & Last Attributes.
Date: 1998/10/13
Date: 1998-10-13T00:00:00+00:00 [thread overview]
Message-ID: <m37ly562rw.fsf@mheaney.ni.net> (raw)
In-Reply-To: 6vtr9b$hp9$1@platane.wanadoo.fr
[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain, Size: 1395 bytes --]
"BARDIN Marc" <Marc.Bardin@wanadoo.fr> writes:
> How to get corrects values for Length & Last attributes for a string
> AFTER it has been defined in the program ?
> In the following example program, these 2 attributes aren't corrects after
> Max_Descripteur value is known.
procedure Op (S : in String) is
begin
... S'First ...
... S'Last ...
... S'Length ...
>
> Anticipated thanks.
> Marc
>
>
> with Text_Io; use Text_Io;
> procedure Test_Tri_Fichier is
>
> Max_Descripteur : Positive;
> subtype Ch_L_Cha�ne is String (1..Max_Descripteur);
The rule is "linear elaboration." The problem is that you elaborate the
subtype Ch_L_Chane using object Max_Descipteur, which hasn't been given
a value!
So your subtype will have some value for T'Last, but who knows what it
will be?
The solution is to elaborate the subtype AFTER giving Max_Descripteur a
value.
> Fin_Sc : Positive range Ch_L_Cha�ne'range;
> package Ent_Es is new Text_Io.Integer_Io (Integer);
>
> begin
> Max_Descripteur := 5;
Now declare your subtype:
declare
subtype Ch_L_Chane is String (1 .. Max_Descripteur);
begin
... Ch_L_Chane'Length ...
... Ch_L_Chane'Last ...
> Put (" Length : "); Ent_Es.Put (Ch_L_Cha�ne'Length, 5);
> Fin_Sc := Ch_L_Cha�ne'Last;
> Put (" Fin_Sc : "); Ent_Es.Put (Fin_Sc, 5);
> end Test_Tri_Fichier;
prev parent reply other threads:[~1998-10-13 0:00 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
1998-10-12 0:00 Length & Last Attributes BARDIN Marc
1998-10-12 0:00 ` Steve Doiel
1998-10-13 0:00 ` Dale Stanbrough
1998-10-13 0:00 ` Matthew Heaney [this message]
replies disabled
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox