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 > >> > >> > >> > >> > > >