2

The LA Fox Developer Newsletter
The L.A Fox Developer is the monthly newslet ter of the LA Fox User Group. The purpose is information sharing among application developers and users working with FoxPm.

LA Fox Address:
LA Fox User Group
Chuck Williams
(310) 539-9439
977 Ashbndge Lane
Harbor City, CA 90710
LA Fox Board of Directors
Chuck Williams, President & Newsletter Editor
David Van Valkenburg, Treasurer
Allen Garfein, Membership
George Dvorak
Warren Rekow
Bill Seldon
Barry Lee
Gerg Dunn
KnsDahlin
The newsletter contains regular columns and articles from other user groups.
XPro User Group
Randy Unruh
(310) 399-9159
2210 Wilshire Blvd. - #161
Santa Monica, CA 90403.
OC MS FoxPro Developers Group
John Miller
(714) 661-5264
Subscriptions
The annual membership fee for the LA Fox
User Group, including subscription to The LA
Fox Developer Newsletter, is $45.

Disclaimer
Neither the LA Fox User Group, the XPro User Group, the OC MS FoxPro Developers Group, their officers or board of directors or their members make any express or implied warranties of any kind with regard to any information disseminated, including, but not limited to, warranties of merchantability and/or fitness for a particular purpose.
Opinions provided by newsletter articles, or by speakers, members, or guests who address the meetings, are individual opinions only, and do not necessarily represent the opinions of the group. All opinions and information should be carefully considered, and the group is not liable for any incident or consequential damages in connection with, or arising out of, the furnishing or use of any information or opinions. Brand names and product names may be trademarks or registered trademarksof their respective owners.
LA Fox President’s Column (Con’t)
And, oh by the way, there was no "Used()" function as a conve nient test of whether a given file was already open. You could, of course, “Select <alias>” and get an error message if it was not open. And we did have the “Select 0” command to open the next available area - and it would return an error if all the areas were full. Wasn’t that fun. And then there was the performance hit from opening and closing data files all through the application.

Data access was equally primitive. We did have “Scatter” and “Gather”, but there was no Memo option, so if some silly user had enough text to require a memo field, you had to find some other technique - and those commands worked only with an array, not memvars - and there was no “Blank” option to create a properly dimensioned array or memvar set - and because there was no “Copy to Array” or “Append from Array”, the programs were filled with “Do While” loops for working with data from multiple records. And finally, the big daddy “SQL Select” command, that makes our current lives so much better, was not to be mentioned in Perrysburg at the time - you heard right again folks, FoxBase Mac applications are just getting SQL data access.

The compound index idea wasn’t around then, so a data file that needed a variety of indexes had a set of individual index files, whichwere much larger than current ones. And none of this luxury of the CDX automatically opening as the data file is opened, with all tags maintained. You had to explicitly open each index, and if you forgot and an index got out of sync, it had to be rebuilt (if you were able to detect the fact that it happened).

And consider the Browse construct. For all the griping about thedifficulty in including it in event-driven environments, it is an extremely robust and useful command. In its current manifestation, it includes 30 options which take 16 pages to describe in the Reference manual. The previous FoxBase Mac Browse had 5 options, required 2 pages to describe, and had so many limitations as to be practically useless - so this is like a new and rich feature set for FoxBase Mac developers.

Although FoxBase Mac contained the prototypes of today’s FoxPro power tools, several new ones have been added and the others have become much more robust. Today’s Menu Builder makes it so easy to create multi-level menus with hot keys (with options easily enabled and disabled, and with pads dynamically added) that it’s hard to imagine we actually thought it was great that we could construct a menu using the very limited menu commands that behaved like an ordinary Mac menu. Heaven forbid when you had to change the menu some-
Page 2

2