Joe Lewis Wilkins wondered: >Along the way, somewhere, I missed this "container" thing - except >to know that it exists. The Release 3 Reference Manual doesn't tell >exactly how one is created (that I have found), though several >references to container$$ are made with regard to other items (EDIT$ >statement and the like). Joe, This is from the FB^3 Release # Reference manual under EDIT$ function, p. 178: Item Size Pascal String 255 bytes + length byte Edit Field 32,767 bytes Container 2 gigabytes A more comprehensive explanation of containers appears beginning in Appendix C on p. 595, IV Containers, which in part explains: "Containers are compiler managed handles that hold up to 2 gigabytes of ASCII or numeric information. Containers may be identified by a double dollar sign (DIM myContainer$$) or in a DIM AS statement (DIM AS CONTAINER myContainer). "Containers are always global." --- snip --- Containers are stored in the application heap as relocatable blocks. You can extract the handle to these blocks as follows: hndl& = [@myContainer$$] --- End info from manual ---- In most respects containers are handled a lot like strings and EDIT FIELDS, but they hold a bunch more data. Here is how you read data into them: container$$ = EDIT$(efID) : REM fill container with TEXT from and EDIT FIELD container$$ = %resID% : REM fill container with TEXT res ID resID% container$$ = &hndl& : REM fill container with contents of hndl& and here is how you extract it: EDIT$(efID) = #container$$ You empty a container just like an EDIT FIELD: container$$ = "" The manual warns that they are slower with math because they convert data to strings before storage. But working with text the little I have, data transfer appears to be almost instantaneous. In addition, -bowerbird asked: >going out of town, so can't read all the messages, >but wanted to say that the long-string containers >sound great, 'cept they need to hold styled text. > >can do? The Reference Manual is a little vague in this area, at least for me. On Page 178 it says: "Where a container is the specified target, there is more than enough room to hold the contents of a field. Use the GET FIELD statement if you need to retrieve style information along with the text of a styled edit field." I am not sure in the context if the GET FIELD statement works only with EDIT FIELDS, or also containers as a way to hold style info. Perhaps Staz can shed some light on it. I am very pleased to report that FB^3 has a new function custom written just for -bowerbird: container$$ = UCASE$$(container$$) This will upper case every character of text in that container! Think of it, -bird, tttttttwwwwwwwoooooooo gigs of UCASE$$... just for you! (And no, I am not kidding. Certainly there's a poem in there somewhere.) HTH Ken p.s. See also pps. 178, 180, 434, 498 and others.