Thanks a lot, Brett. That's the kind of response that help me to understand a higher level (the global value of the words)..
Could explain me more about the "with" stuff attached with the field ? Is it like the html form ? Philippe ----- Original Message ----- From: "Brett Handley" <[EMAIL PROTECTED]> To: <[EMAIL PROTECTED]> Sent: Friday, January 11, 2002 2:26 PM Subject: [REBOL] Re: Compose iterated fields with different names for each > Hi Philippe, > > I have made a working example of code similar to yours: > > inform-disp: copy [] > for e 1 6 1 [ > text: join "text" e > coor: to-pair reduce [70 * e + 243 107] > append inform-disp compose [ > at (coor) (to-set-word join 'fldmodif e) field 40x22 (text) > ] > ] > view layout inform-disp > > But you wrote that some fields may/may not be created. So how will you know > which exists or not? Here is an example (not good though - read below): > > inform-disp: copy [] > for e 1 6 1 [ > text: join "text" e > coor: to-pair reduce [70 * e + 243 107] > if not equal? 1 random 4 [ > append inform-disp compose [ > at (coor) (to-set-word join 'fldmodif e) field 40x22 (text) > ] > ] > ] > append inform-disp [ > at 10x120 > button "Print fields" [ > for e 1 6 1 [ > if value? fld-name: to-word join 'fldmodif e [ > fld: get fld-name > print fld/text > ] > ] > ] > ] > view layout inform-disp > > There is a problem with this. The fldmodif1, fldmodif2... words are global. > So if you run the code again in the same > session you will not get the correct results. > > Here is another way. This way does not use field names - it uses a field > called "TAG" that every face has. You can put > any value you want into tag. In this example I create a new field type > called special-fld. It has an action that will print > the field that was just changed. > > inform-disp: copy [ > style special-fld field 40x22 [ > print [ > "Field" face/tag > "at position" face/offset > " has value" mold value > ] > ] > text "type in the fields" > ] > for e 1 6 1 [ > text: join "text" e > coor: to-pair reduce [70 * e + 243 107] > append inform-disp probe compose/deep [ > at (coor) special-fld with [tag: (e)] (text) > ] > ] > view layout inform-disp > > Hope it helps you. > Brett. > > ----- Original Message ----- > From: "Philippe Oehler" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Friday, January 11, 2002 8:50 PM > Subject: [REBOL] Compose iterated fields with different names for each > > > > I composed a part of a layout with different fields. > > Those fields are produced if a condition is true. So that's why I want a > > name for each of them. > > The names should be fldmodif1, fldmodif2, fldmodif3, etc., to see if the > > user change them when he will press a button. > > > > I used the append exemple-layout REDUCE COMPOSE/DEEP to make it in a > boucle > > of 'for. > > > > Like that : > > > > for e 1 6 1 [ > > text8: join first tran ["-" ghi] > > coor: 243 + (70 * e) coor: to-pair (join coor "x107") > > append inform-disp reduce compose/deep ['at (coor) fldmodif1: 'field > > 40x22 (text8)] > > ] > > > > You noticed that it that example the name is fldmodif1. But i cant, using > > reduce compose/deep, produce a fldmodif (e) without having an error. > > > > I tried to produce a string first and then append it to the inform-box. > But > > it doesnt work too. > > > > text567: join "at " [coor " fldmodif" e ": field 40x22 " text8] > > print text567 > > append inform-disp reduce compose/deep [(text567)] > > > > How can i make it ?? > > > > > > Philippe Oehler > > > > -- > > To unsubscribe from this list, please send an email to > > [EMAIL PROTECTED] with "unsubscribe" in the > > subject, without the quotes. > > > > -- > To unsubscribe from this list, please send an email to > [EMAIL PROTECTED] with "unsubscribe" in the > subject, without the quotes. > -- To unsubscribe from this list, please send an email to [EMAIL PROTECTED] with "unsubscribe" in the subject, without the quotes.
