Two good points.

I used an Array, as I wrote, to try to show how Jason might have done what he 
had initially intended using arrays. I didn't mean to suggest that that's how 
it would be best done. Sorry for confusion. I guess I just like the similarity 
of arrays and objects - something that is not seen in all languages.

As for efficiency, I would probably go with static const int's (in lieu of 
enums) and use an array. This would require to iterating - just simple offset 
into array. Something like,

static const PAYMENT_TYPE_AC:int = 0;
static const PAYMENT_TYPE_RN:int = 1;
static const PAYMENT_TYPE_CP:int = 2;
static const PAYMENT_TYPE_CR:int = 3;

static const PAYMENT_MESSAGES:Array = 
                                        [
                                        "Remember to reset the station 
address.",
                                        "Remember to reset the station 
expiration date.",
                                        "Remember to contact contractor to 
remove the certificates from this station.",
                                        "Remember to cancel the refund payment."
                                        ];


If there are better ways, I am always happy to hear them. I am still pretty new 
to this Flex thing.

-eric

--- In flexcoders@yahoogroups.com, Charles Parcell <pokemonkil...@...> wrote:
>
> Additionally, utilizing a loop to locate an item can eat up cycles if the
> list of codes gets to be large.  Granted that in the case of this example
> looping 3 or even 10 items is likely not going to be an issue in anyway.
> Something to think about if the application of this example is used
> differently.
> 
> Charles P.
> 
> 
> On Fri, May 22, 2009 at 10:50 AM, Charles Parcell
> <pokemonkil...@...>wrote:
> 
> > Why even have the Array aspect in the second example? It stands as a
> > pointless container for what we are seeing it used for. Unless there will be
> > some additional items added to it that we have not seen yet.
> >
> > I just feel the need to point that out. :)
> >
> > Charles P.
> >
> >
> >
> > On Thu, May 21, 2009 at 3:49 PM, Eric Cooper <e...@...> wrote:
> >
> >> I just tried compiling what I wrote - and realized that it didn't... so
> >> here are two variants. The first is same as previous, but it compiles. The
> >> second may be more in the spirit of what you were attempting initially - 
> >> and
> >> kind of highlights similarities between arrays and objects.
> >>
> >> First:
> >>
> >>                                var records:Array = new Array(
> >>                                        { code:"AC", text:"Remember to
> >> reset the station address." },
> >>                                        { code:"RN", text:"Remember to
> >> reset the station expiration date." },
> >>                                        { code:"CP", text:"Remember to
> >> contact contractor to remove the certificates from this station." },
> >>                                        { code:"CR", text:"Remember to
> >> cancel the refund payment." }
> >>                                        );
> >>
> >>                                 for each (var test:Object in records) {
> >>                                        if
> >> (grid.selectedItem.PAYMENT_TYPE_CODE == test.code)
> >>                                                Alert.show(test.text );
> >>                                        }
> >>
> >>
> >> Second:
> >>
> >>                                var PAYMENT_TYPE_CODE:String = "CR";
> >>                                 var records:Array = new Array(
> >>                                        { "AC": "Remember to reset the
> >> station address." },
> >>                                        { "RN": "Remember to reset the
> >> station expiration date." },
> >>                                        { "CP": "Remember to contact
> >> contractor to remove the certificates from this station." },
> >>                                        { "CR": "Remember to cancel the
> >> refund payment." }
> >>                                        );
> >>
> >>                                 for (var i:int = 0; i < records.length;
> >> ++i) {
> >>                                        if
> >> (records[i][grid.selectedItem.PAYMENT_TYPE_CODE])
> >>
> >>  Alert.show(records[i][PAYMENT_TYPE_CODE]);
> >>                                         }
> >>
> >>
> >>
> >>
> >> --- In flexcoders@yahoogroups.com, "Jason B" <nospam@> wrote:
> >> >
> >> > SWEET thanks
> >> >
> >> > --- In flexcoders@yahoogroups.com, "Eric Cooper" <eric@> wrote:
> >> > >
> >> > > How about this:
> >> > >
> >> > > var records:Array = new Array(
> >> > >                                     { code:"AC", text:"Remember to
> >> reset the station address." },
> >> > >                                     { code:"RN", text:"Remember to
> >> reset the station expiration date." },
> >> > >                                     { code:"CP", text:"Remember to
> >> contact contractor to remove the certificates from this station." },
> >> > >                                     { code:"CR", text:"Remember to
> >> cancel the refund payment." },
> >> > >                                             );
> >> > >
> >> > > for each(test:Object in records){
> >> > >     if(grid.selectedItem.PAYMENT_TYPE_CODE == test[i].code)
> >> > >             Alert.show(test[i].text );
> >> > >     }
> >> > >
> >> > > would that do it?
> >> > >
> >> > > -eric
> >> > >
> >> > > --- In flexcoders@yahoogroups.com, "Jason B" <nospam@> wrote:
> >> > > >
> >> > > > var records:Array = new Array({
> >> > > >                   "AC": "Remember to reset the station address.",
> >> > > >                   "RN": "Remember to reset the station expiration
> >> date.",
> >> > > >                   "CP": "Remember to contact contractor to remove
> >> the certificates from this station.",
> >> > > >                   "CR": "Remember to cancel the refund payment."
> >> > > >                   });
> >> > > >
> >> > > >
> >> > > > for each(test:Object in records){
> >> > > >
> >> > > > //HERE we match up PAYMENT TYPE CODE with AC RN CP if one is a match
> >> we show the value
> >> > > >
> >> > > > if(grid.selectedItem.PAYMENT_TYPE_CODE == test[i])
> >> > > >  Alert.show(SHOW ME --->"Remember to reset the station address" );
> >> > > >
> >> > > >
> >> > > >
> >> > > > }
> >> > > >
> >> > > >
> >> > > > datagrid hidden column AC, RN, CP are in datagrid
> >> > > > user selects RT item from grid and hits button
> >> > > > system match's that row with what message should be displayed
> >> > > > user never see's RT since its a hidden field in grid
> >> > > > user now see's a message displayed as a reminder
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > >
> >> > > > --- In flexcoders@yahoogroups.com, "Paul Andrews" <paul@> wrote:
> >> > > > >
> >> > > > > Jason,
> >> > > > >
> >> > > > > I'm not sure I follow exactly what the problem is now.
> >> > > > >
> >> > > > > Paul
> >> > > > > ----- Original Message -----
> >> > > > > From: "Jason B" <nospam@>
> >> > > > > To: <flexcoders@yahoogroups.com>
> >> > > > > Sent: Thursday, May 21, 2009 4:02 PM
> >> > > > > Subject: [flexcoders] Re: simple array?
> >> > > > >
> >> > > > >
> >> > > > > >i want to loop the records and compare the value "addresschange"
> >> to the
> >> > > > > >PAYMENT Type Code if its the right one display it
> >> > > > > >
> >> > > > > >
> >> > > > > > --- In flexcoders@yahoogroups.com, "Paul Andrews" <paul@>
> >> wrote:
> >> > > > > >>
> >> > > > > >>
> >> > > > > >> ----- Original Message -----
> >> > > > > >> From: "Jason B" <nospam@>
> >> > > > > >> To: <flexcoders@yahoogroups.com>
> >> > > > > >> Sent: Thursday, May 21, 2009 3:46 PM
> >> > > > > >> Subject: [flexcoders] Re: simple array?
> >> > > > > >>
> >> > > > > >>
> >> > > > > >> > Thanks but i dont know how to do a compare based on your
> >> example show?
> >> > > > > >>
> >> > > > > >>  for(var i:uint = 0; i < records.length; i++) {
> >> > > > > >>  //If array matchs show text
> >> > > > > >>     if(payment_grid.selectedItem.PAYMENT_TYPE_CODE ==
> >> > > > > >> records[i].addresschange){
> >> > > > > >>         Alert.show(records[i].addresschange);
> >> > > > > >>     }
> >> > > > > >> }
> >> > > > > >>
> >> > > > > >>
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> > for(var i:uint = 0; i < records.length; i++) {
> >> > > > > >> > //If array matchs show text
> >> > > > > >> > if(payment_grid.selectedItem.PAYMENT_TYPE_CODE ==
> >> records.valueof
> >> > > > > >> > ????){
> >> > > > > >> >    Alert.show(records[0].addresschange);
> >> > > > > >> >
> >> > > > > >> > }
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> > --- In flexcoders@yahoogroups.com, Pedro Sena <sena.pedro@>
> >> wrote:
> >> > > > > >> >>
> >> > > > > >> >> records[0].addresschange
> >> > > > > >> >>
> >> > > > > >> >> You are putting an object inside your array
> >> > > > > >> >>
> >> > > > > >> >> Using records[0] you retrieve your object
> >> > > > > >> >> using records[0].addresschange you access its property
> >> called
> >> > > > > >> >> addresschange
> >> > > > > >> >>
> >> > > > > >> >> On Thu, May 21, 2009 at 11:14 AM, Jason B <nospam@> wrote:
> >> > > > > >> >>
> >> > > > > >> >> >
> >> > > > > >> >> >
> >> > > > > >> >> > var records:Array = new Array({
> >> > > > > >> >> > addresschange: "Remember to reset the station address.",
> >> > > > > >> >> > etc.....
> >> > > > > >> >> > });
> >> > > > > >> >> >
> >> > > > > >> >> >
> >> > > > > >> >> > Alert.show(records['addresschange']);
> >> > > > > >> >> > Alert.show(records[0]);
> >> > > > > >> >> > Alert.show(records.addresschange);
> >> > > > > >> >> >
> >> > > > > >> >> > how the heck can i access the item directly by index name?
> >> > > > > >> >> >
> >> > > > > >> >> >
> >> > > > > >> >> >
> >> > > > > >> >>
> >> > > > > >> >>
> >> > > > > >> >>
> >> > > > > >> >> --
> >> > > > > >> >> /**
> >> > > > > >> >> * Pedro Sena
> >> > > > > >> >> * Systems Architect
> >> > > > > >> >> * Sun Certified Java Programmer
> >> > > > > >> >> * Sun Certified Web Component Developer
> >> > > > > >> >> */
> >> > > > > >> >>
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> > ------------------------------------
> >> > > > > >> >
> >> > > > > >> > --
> >> > > > > >> > Flexcoders Mailing List
> >> > > > > >> > FAQ:
> >> http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> >> > > > > >> > Alternative FAQ location:
> >> > > > > >> >
> >> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
> >> > > > > >> > Search Archives:
> >> > > > > >> >
> >> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
> >> > > > > >> > Links
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >> >
> >> > > > > >>
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > > > ------------------------------------
> >> > > > > >
> >> > > > > > --
> >> > > > > > Flexcoders Mailing List
> >> > > > > > FAQ:
> >> http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> >> > > > > > Alternative FAQ location:
> >> > > > > >
> >> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
> >> > > > > > Search Archives:
> >> > > > > > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo!
> >> Groups
> >> > > > > > Links
> >> > > > > >
> >> > > > > >
> >> > > > > >
> >> > > > >
> >> > > >
> >> > >
> >> >
> >>
> >>
> >>
> >>
> >> ------------------------------------
> >>
> >> --
> >> Flexcoders Mailing List
> >> FAQ: http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> >> Alternative FAQ location:
> >> https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-446f-b4cf-1e62079f6847
> >> Search Archives:
> >> http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo! Groups
> >> Links
> >>
> >>
> >>
> >>
> >
>


Reply via email to