> Dayum, dude... > And I thought *I* was long-winded... cooooooool!
> Someone who goes thru keyboards faster than I do! hehe Heh. I dunno... I've had this little jobber here for several years. I like it ... I actually got it at a little independant computer shop around the corner from the place where I lived with my ex in Orlando, primarily because it was so small. I was tired of (still am) seeing or working with desk-swallowing behemoths with keys or buttons for everything from email and irc to emptying my recycle bin. Although Tiff occasionally takes all the keys off to clean it, which may help with its lifespan. Though for a few months I thought it was broke because (I realized accidentally) she interposed the alt and windows keys on the left side, so I thought the left alt key was broke until I turned the machine on one day and got an unexpected response from ctrl+windows+del. > I just happened to be skimming the code example and saw > the isDefined thing. I saw it, and questioned it. Glad > you weren't put out. Nah, no reason to be. > I'm all for annoying people, except people you respect. Heh. I'll try and stay on your good side then. :) > You definitely make some good points. Especially since I > also find structKeyExists() painful and/or difficult to > type. And I ALWAYS spell it strucktKeyExists the first > time around, and it gives me many errors, and the errors > say unto me "variable undefined" and yea do I say then, > "farging iceholes, I done did it agin'..." Did you see in the newspaper the other day that Marone declared "Fargan' War"? > I use full syntax in on-list examples because I fear that > those who read it may inherit (or discover) bad habits in > my code, and they may later accuse me of being silly, lazy, > or, worse, utterly lacking in proper geek comportment. I often describe actual code as pseudocode just because it's incomplete, like if I put elipses in it with a description like <div>...some stuff...</div>. I guess that's par for course for me -- I often tend to think and/or speak in a very open-ended fashion... sometimes. :) ENFP if Meyers/Briggs interests you at all. Though I've gotten to a point where I'm sort of "picking my battles" with regard to giving people advice on mailing lists -- or in general. It comes from noticing over the years that although people are grateful for advice which helps them solve a problem they've asked about, they often ignore or are actively put off by unsolicited advice, even if on my end it's given in good spirit. So if a guy says, "why doesn't this piece of code work" these days I try and stick more to the subject of why that code doesn't work than offering advice for general "good habbits". Otherwise I just get frustrated when I offer advice left and right only to see it ignored. There are exceptions -- I still rant about people using arrays where I think they ought to use a structure. > As far as the DB example, that's a return from a SQL > Server built-in stored procedure, and it will ALWAYS > return a minimum of 2 query objects... since my data > access layer is wrapped in a CFC and it's a one-off > call to a simple DAO to execute the sproc it seemed > much more sensible to code one function-local struct > and return the data to the caller than to write a > complicated system (it's a base DAO and 3 extension > classes as it is) wherein I have getters and setters > for anywhere between 1 and 8 resultsets, possibly > more than one sproc call (depending on which extension > class I'm calling), and all the data (or, at least > very most of the data) is always going to be needed. > Since they're not long resultsets anyway, I elected > to sacrifice a little bit of overhead on behalf of > a simpler design. Ahh, see in that context of it being a built in sproc it make a lot more sense to me. :) Given your description I'm thinking you're using SQL Server's features to perform some of the db meta-data management I accomplish in the onTap framework with JDBC methods. > Incidentally, since I was returning the data in a > struct, I discovered that I had a situation wherein > my tableDAO may return either 7 OR 8 resultsets, > depending on the structure of the table. The issue > that ensued is very difficult to explain > understandably.... so bear with me. <snip> > What I ended up doing was adding a private method > that reconstructs the return value on the fly, > looping over the struct generated by the sproc call > and keying off unique column names in the datasets > to reorder the struct. As I write this, I begin to > think it's probably not the best way, but... > it worked. And it proved to me that there is > definite value in API-based coding. > I hope that made sense. I didn't find that hard to follow at all... Possibly because I'm familiar with the need to perform similar "snafu-correction" myself. The onTap framework was originally designed for CF5 and when MM released MX some of the changes to the behavior of functions caused a lot of the framework functions to break. Specifically the fact that, while isArray(arguments) still returns true, it is in actuality false and no other array functions will work on the arguments array. I was accustomed to manipulating the arguments array like is possible in JavaScript to create wrapper functions, particularly wrappers which aren't interested in the number or type of arguments, but simply want to pass the arguments on to another function. The problem is that in order to accomplish this goal, you need to be able to manipulate the arguments array -- remove arguments specific to the wrapper, etc. I ended up creating yet another function just for the purpose of getting an array from an argument collection... What a mess... but it's over now. :) And yea, API's, absolutely! :) They're the reason I finally have work I feel comfortable handing over to an intern. Now I need an intern. :) If you haven't already seen it, check out http://www.fusiontap.com/demo/powerontap.htm -- this is the example that shows the work I would hand over. s. isaac dealey 954.522.6080 new epoch : isn't it time for a change? add features without fixtures with the onTap open source framework http://macromedia.breezecentral.com/p49777853/ http://www.sys-con.com/story/?storyid=44477&DE=1 http://www.sys-con.com/story/?storyid=45569&DE=1 http://www.fusiontap.com ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~| Logware (www.logware.us): a new and convenient web-based time tracking application. Start tracking and documenting hours spent on a project or with a client with Logware today. Try it for free with a 15 day trial account. http://www.houseoffusion.com/banners/view.cfm?bannerid=67 Message: http://www.houseoffusion.com/lists.cfm/link=i:4:197575 Archives: http://www.houseoffusion.com/cf_lists/threads.cfm/4 Subscription: http://www.houseoffusion.com/lists.cfm/link=s:4 Unsubscribe: http://www.houseoffusion.com/cf_lists/unsubscribe.cfm?user=11502.10531.4 Donations & Support: http://www.houseoffusion.com/tiny.cfm/54