From: tonyg on 30 Jun 2010 04:28 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 1 Jul 2010 03:18
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 |