Thank you Denis and everyone else who responded! After reading your suggestions and experimenting with them, it finally clicked! Problem solved. Chris
> From: Denis Bélisle <[EMAIL PROTECTED]> > Reply-To: [EMAIL PROTECTED] > Date: Mon, 30 Jun 2003 21:45:06 -0400 > To: [EMAIL PROTECTED] > Subject: <lingo-l> Re: totally stumped > > > On Monday, June 30, 2003, at 12:01 PM, > [EMAIL PROTECTED] wrote: >> >> --__--__-- >> >> Message: 7 >> Date: Mon, 30 Jun 2003 07:29:17 -0500 >> From: <[EMAIL PROTECTED]> >> To: <[EMAIL PROTECTED]> >> Subject: <lingo-l> totally stumped >> Reply-To: [EMAIL PROTECTED] >> >> Help! I am totally stumped after 4 very long days of trying to figure >> this >> out! I thought I understood lists and very simple "databases"--just >> saving >> and opening a text file with fileIO. Well silly me! >> >> I have a section of this CDRom I am working on that has to capture the >> text >> of a checkbox, add it to a linear list (gMark1), and then somehow, >> some way >> store it in my database (gDatabase) list at a particular property >> location. >> Before it gets stored as a property list in my gDatabase, I need to >> display >> the captured text as text (not a list with the quotes and brackets) in >> a >> field member. >> >> Well, I can get the linear list developed, I can display it as a list >> in the >> field member with all the brackets and quotes and commas, I can even >> get it >> into the gDatabase, but I can't figure out how to put the linear list >> at the >> exact property location in gDatabase and I can't figure out how to >> display >> the contents of the linear list without it being in list form (just the >> text). sigh. >> [...] > > Chris, > > If I understand correctly, you have checkboxes as data entry - of which > I assume you want to collect the text if hilited, a global variable > containing a linear list acting as a buffer where you store the > collected strings, and a global variable containing a property list > that act as a permanent storage. Unless I fail miserably in > comprehending the situation, most of what you want can be accomplished > with three handlers (not counting the initialization on start movie) > such as: > > < movie script begin> > > global gMark1,gDatabase > > on startMovie > gMark1 = [] > gDatabase = [#prop1:[],#prop2:[],#prop3:[]] > member("displayField").text = "" > -- and a few checkBox members (checkBox1, checkBox2,checkBox3) > end startMovie > > --HANDLER to collect data from hilited checkbox in a list > on addToLinear whichCheckBoxList,whichList > whichList = [] > -- add to linear list if checkBox hilited > repeat with x = 1 to whichCheckBoxList.count > if member(whichCheckBoxList[x]).hilite then > whichList.add(member(whichCheckBoxList[x]).text) > end if > end repeat > end addToLinear > > --HANDLER to store a list under a specific property in a propList > on storeInDB whichList,whichDB,whichProp -- NOTE: whichProp is a string > whichDB[whichProp] = whichList > end storeInDB > > --HANDLER to display any list (of strings) in any field with one item > per line > on displayListInField whichList,whichField > member(whichField).text = "" > repeat with x = 1 to whichList.count > member(whichField).line[x] = whichList[x] > end repeat > end displayListInField > > > --For example: > > --addToLinear(["checkBox1","checkBox2","checkBox3"],gMark1) > -- -- will add the text of all hilited checkboxes from the list to > gMark1 > > --displayListInField(gMark1,"displayField") > -- -- will display the content of gMark1 in the field "displayField" > > --storeInDB(gMark1,gDatabase,"prop2") > -- -- will store gMark1 at property #prop2 of the property list > contained in gDatabase > > --displayListInField(gDatabase[#prop2],"displayField") > -- -- will display the content stored at property #prop2 of gDatabase > in the field "displayField" > > > -- ALTERNATIVE HANDLER to bypass the buffer and to display right away > on storeDirectInDB whichCheckBoxList,whichDB,whichProp > whichDB[whichProp] = [] -- need this to overwrite > repeat with x = 1 to whichCheckBoxList.count > if member(whichCheckBoxList[x]).hilite then > whichDB[whichProp].add(member(whichCheckBoxList[x]).text) > end if > end repeat > displayListInField(whichDB[whichProp],"displayField") > end storeDirectInDB > > --Example: > -- > storeDirectInDB(["checkBox1","checkBox2","checkBox3"],gDatabase,"prop1") > -- -- will store as a linear list the text of all hilited checkboxes in > the list under > -- -- property #prop1 of the property list contained in gDatabase (and > display the result) > > <movie script end> > > I also suggested the alternative handler above as I couldn't be certain > that you really need that gMark1 buffer. Why not collect and store in > one shot? The data, once in gDatabase, is always there waiting... > > All of the above only crudely tested and in dire need of paranoïcs > (error checking procedures). > > Denis > > [To remove yourself from this list, or to change to digest mode, go to > http://www.penworks.com/lingo-l.cgi To post messages to the list, email > [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is > for learning and helping with programming Lingo. Thanks!] [To remove yourself from this list, or to change to digest mode, go to http://www.penworks.com/lingo-l.cgi To post messages to the list, email [EMAIL PROTECTED] (Problems, email [EMAIL PROTECTED]). Lingo-L is for learning and helping with programming Lingo. Thanks!]