From: tonyg on
On 29 June, 16:19, Adam Beneschan <a...(a)irvine.com> wrote:
> On Jun 29, 8:08 am, Ludovic Brenta <ludo...(a)ludovic-brenta.org> wrote:
>
>
>
>
>
> > tonyg wrote on comp.lang.ada:
>
> > > On 29 June, 15:33, Adam Beneschan <a...(a)irvine.com> wrote:
> > >> On Jun 29, 7:28 am, tonyg <tonytheg...(a)googlemail.com> wrote:
>
> > >>> Hi,
> > >>>    I have an unbounded string from a database I want to turn into a 16
> > >>> character subtype of string
>
> > >>> i.e. unbounded_string to string(1..16)
>
> > >>> I've been trying to do this most of the afternoon but keep getting
> > >>> errors
>
> > >>> anyone know how ?
>
> > >> Declare a subtype to give string(1..16) a name; then call To_String
> > >> (in Ada.Strings.Unbounded) and convert the function result to your
> > >> subtype.  E.g.:
>
> > >>    subtype String_Length_16 is string(1..16);
> > >>    V : String_Length_16;
>
> > >>    V := String_Length_16 (Ada.Strings.Unbounded.To_String (U));
>
> > That solution only works if U happens to contain exactly 16
> > characters, which is probably not the case if the database really
> > contains unbounded strings (i.e. VARCHAR or similar).
>
> Right, when the OP said he wanted to "turn [an unbounded string] into
> a 16 character subtype", I didn't look more deeply into the words
> "turn into".  I suppose I should have.  We'd need to know exactly what
> his requirements are to provide a full solution, though---
> specifically, does he expect any unbounded strings to be shorter than
> 16 characters, does he expect any of them to be longer than 16
> characters, and if either or both is "yes", what it the desired
> behavior in each case.
>
>                                -- Adam

I never knew either way and its the first time I have been taking a
string from a database - believe it or not all the rest have been
numbers up to now :) but thanks to the both of you for your help.
From: Jerry on
On Jun 29, 7:28 am, tonyg <tonytheg...(a)googlemail.com> wrote:
> Hi,
>    I have an unbounded string from a database I want to turn into a 16
> character subtype of string
>
> i.e. unbounded_string to string(1..16)
>
> I've been trying to do this most of the afternoon but keep getting
> errors
>
> anyone know how ?
>
> Thanks

Check out Head, Tail, and possibly Trim.
Jerry