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 develop-
ers 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 warran-
ties 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 perfor-
mance 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 pro-
grams 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 hap-
pened).

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 manifesta-
tion, 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