comp.lang.ada
 help / color / mirror / Atom feed
From: "markww" <markww@gmail.com>
Subject: Re: STRING length
Date: 14 Nov 2006 17:09:06 -0800
Date: 2006-11-14T17:09:06-08:00	[thread overview]
Message-ID: <1163552946.479495.27330@h48g2000cwc.googlegroups.com> (raw)
In-Reply-To: <1163551453.005505.131470@h54g2000cwb.googlegroups.com>

Actually please disregard the previous post, I found I needed to with
and use:

    Ada.Text_IO.Unbounded_IO

So.. finally one compilation error remains, the actual call to my
function:

    begin

        Add_Record("Mark", "555-555-5555", "123 main street");

    end LinkList;

the error is:

    expected private type "Ada.Strings.Unbounded.Unbounded_String"

what does that mean? The problem is with calling the procedure, if I
comment the call out compilation is successful. The procedure looks
like:

    procedure Add_Record(strName : in UNBOUNDED_STRING;
                                      strPhone : in UNBOUNDED_STRING;
                                      strAddress : in UNBOUNDED_STRING)
is
       Temp : CHAR_REC_POINT;
   begin
	Put(strName);
	New_Line;
	Put(strPhone);
	New_Line;
	Put(strAddress);
	New_Line;
    end Add_Record;

I guess the compiler doesn't interpret a literal string as an
unbounded_string?

Thanks,
Mark


On Nov 14, 7:44 pm, "markww" <mar...@gmail.com> wrote:
> Thanks Georg, that looks to be exactly what I need. I do have a problem
> '#including', or, 'withing' rather unbounded string.
> Now the head of my source file looks like:
>
>     with Ada.Text_IO, Ada.Integer_Text_IO, Ada.Strings.Unbounded;
>     use Ada.Text_IO, Ada.Integer_Text_IO;
>
> which is alright but as soon as I try:
>
>     use Ada.Strings.Unbounded;
>
> the compiler gives me a bunch of errors, it seems to conflict with
> Text_IO / Integer_Text_IO? Seems like all my previous calls to Put()
> now became invalid. I'm not familiar with Ada but with C++ and
> understand namespace collisions, is the same thing going on here?
>
> Thanks
>
> On Nov 14, 5:24 pm, Georg Bauhaus <bauh...@futureapps.de> wrote:
>
>
>
> > On Tue, 2006-11-14 at 14:51 -0800, markww wrote:
> > > Hi,
>
> > > How does one use a variable length string in ada?You use variable length strings in Ada by declaring them
> > to be of type UNBOUNDED_STRING which is defined in
> > Ada.Strings.Unbounded.
>
> > type MY_RECORD is
> >   record
> >     Name: UNBOUNDED_STRING;
> >     Phone: UNBOUNDED_STRING;
> >     Address: UNBOUNDED_STRING;
> >   end record;
>
> > Given that Phone is likely to be limited in length, you
> > could consider declaring the Phone component to be of
> > type BOUNDED_STRING, which is a string type with a maximum length.
> > Unlike STRING, objects of this type can have any number
> > of characters up to the maximum. See Ada.Strings.Bounded.
>
> > Yet another use of strings is in nested scopes: If you need
> > a string in just one place, e.g. temporarily, you can use
> > a plain STRING as in
>
> >   declare
> >     temp: constant STRING := some_string_returning_func(...);
> >   begin
> >     -- use temp
> >   end;
>
> > The point here is that the `temp` string variable takes
> > its bound from the initialization. You can also make it a
> > variable, if you need to write to string components.
>
> > Seehttp://en.wikibooks.org/wiki/Ada_Programming/Strings
> 
> > -- Georg- Hide quoted text -- Show quoted text -




  reply	other threads:[~2006-11-15  1:09 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2006-11-14 22:51 STRING length markww
2006-11-14 22:24 ` Georg Bauhaus
2006-11-15  0:44   ` markww
2006-11-15  1:09     ` markww [this message]
2006-11-15  1:21       ` Ludovic Brenta
2006-11-15  1:29       ` Jeffrey R. Carter
2006-11-15  2:13         ` markww
2006-11-15  1:17     ` Ludovic Brenta
2006-11-15  1:27 ` Jeffrey R. Carter
2006-11-15 16:28 ` Martin Krischik
2006-11-16  8:25 ` Jerry
  -- strict thread matches above, loose matches on Subject: below --
1998-10-01  0:00 String Length mincus
1998-10-02  0:00 ` Pascal Obry
1998-10-02  0:00   ` Ehud Lamm
replies disabled

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