FoxBase Plus – Mac — The Race Goes to the Swift

by Mick O’Neil
Mac Tech Quarterly
Spring 1989 – Page 50

As the Macintosh penetration of the corporate and small business market has accelerated, compatibility and connectivity with resident MS DOS software and systems has becomes increasingly important. Thus, multi-system software developers like Microsoft, Aldus, and Word Perfect Corporation have insured that their latest spreadsheets, desktop publishing software, and word processors include the ability to recognize, open, and format data files created under both MS DOS and the Macintosh operating environment.

Compatibility between high level data management systems is complicated by the variety and function of files generated by each package. Ashton Tate’s DBase, the most popular database software under both CP/M and MS DOS, has evolved into a full-blown, 4th generation applications development system, and businesses have invested enormous resources in developing specially tailored DBase applications using the built in DBase programming language. A program claiming “DBase compatibility” on the Macintosh must recognize and employ DBase program files and report files as well as access DBase data files.

Recognizing this niche in the database market, Fox Software has introduced FoxBase+/Mac, a full relational database featuring 100% compatibility with DBase III Plus programs, reports, and data files. The company has carefully blended the Mac’s feature laden graphics interface with backward compatibility with DBase to produce much more than a straight DBase “clone” like Nantucket’s McMax. Though both programs should be considered by inveterate DBase enthusiasts, we feel that FoxBase will charm even the most hardened MS DOS veteran.


In order to run a DBase application on the Macintosh, the user must simply move all appropriate files from the PC to the Mac. This can be accomplished via hard wire or modem with software like MacLink Plus from DataViz or Lap-Link from Traveling Software, through the use of an IBM compatible drive, or over a local area network like TOPS or 3COM. The company claims that any DBase III Plus application must work “immediately and perfectly” under FoxBase+/Mac and thus the Fox software is compatible with source programs (.PRG files), databases (.DBF files), memo files (.DBT files), memory variable save files (.MEM files), screen format files (.FMT files), report format files (.FRM files) and label definition files (.LBL files). Because of format differences, the first time you USE or SET INDEX TO a dBase-style index file, FoxBase+/Mac will automatically reindex the database. Though there may be an initial investment of time in the reindexing process, the whole procedure is seamless and accurate. Another initial task required in order to move applications is modification of printer commands to meet ImageWriter or LaserWriter specifications. An alternative is to load other printer drivers into the system disk and utilize a non-Apple printer.


FoxBase+ made a name for itself in the PC world by offering DBase compatibility with incredible speed, and the Mac version of the software does not disappoint in either category. Our tests confirmed that this software leaves DBase Mac in the dust on a Macintosh II with 1 megabyte of RAM and a 40 Meg hard disk. Some sample benchmarks include 5.5 seconds for FoxBase to append 1000 records to a file while dBase Mac took 153.8 seconds for the same task. FoxBase took about 25 seconds to sort a 2000 record file while dBase Mac more than doubled that, and incredibly FoxBase took 3.5 seconds to index a field in the same file while dBase ate up 115.5 seconds. Benchmarks aside, FoxBase+/Mac has a more responsive “feel” than DBase Mac. Somehow, the Fox Software programmers avoided the Macintosh screen refresh problem so prevalent in DBase Mac, Full-Write, and much of the new integrated software.

Graphical User Interface

First-time database users can access the power of FoxBase+/Mac without learning programming or arcane screen commands. Databases can be opened, examined, and modified through the use of a sophisticated but simple to use graphics “control panel” along with the traditional pull down menus. The program’s graphics interface is everything that DBase III Plus’ Assistant strived to be but wasn’t.

While the user merrily works away on the Mac opening files, indexing, sorting, applying filters, constructing expressions, and printing reports, equivalent DBase commands are automatically entered into a command window. For those users more comfortable working in DBase syntax, commands can be entered from the keyboard for immediate execution. Commands generated through the user interface or entered directly can be edited and re-executed through the Command window and can even be cut and pasted directly into a user program. For those of us who have spent countless hours struggling with awkward DBase syntax, the combination of the non-procedural graphics interface with the Command window equivalent is nothing short of a minor miracle.

Browse Facility

Information in several files can be viewed by opening browse windows and resizing them so they all fit on the screen. The browse facility includes a “window splitter” that lets you split the window into two panes or close the window back into one; a field re-sizer that lets you resize the display of selectable fields in the browse window; a pusher icon that allows you to change the order of the fields in a browse window; a scroll bar for moving through records quickly, and optional grid lines that divide your data into spreadsheet-type information.

The View Window

The View Window constitutes a graphics based control system. Ten small circles represent files. When a file is opened one of the windows is darkened and shows the filename and if the file has been indexed, a small pointer appears superimposed on the circle. Thus, ten files can be opened at once and the user can keep track of the status by quickly glancing at this window. Creating a relation between two files is as simple as dragging the mouse pointer from one circle to another. An arrow appears and the expression builder dialog box is called up to clearly define the relationship. Double clicking on an open file opens the browse window and thus the view window can be used to trigger multiple views of related data.

The Expression Builder

The expression builder offers the user a painless method of building complex expressions for filters or relations. Numerical, logical, date, and calculation functions are all accessible from pull down menus and field and variable information can be included by double clicking in the appropriate box. Expressions can be tested prior to their use in order to eliminate obscure error messages or confusing results.

Programming Tools

FoxBase+/Mac Version 1.10 (free upgrade for registered users) includes FoxForm, a form design tool that allows users to create custom screens by using traditional Macintosh draw and paint tools; FoxCode, a program generation language and a “Template” file compiler, and FoxGen, a program generator, that combines a selected template with a screen form to generate a program.

FoxForm combines elements of MacDraw and MacPaint to give the user control over objects and text and adds some standard window and dialog box controls to provide the unique feel and power of the Macintosh environment to input/output screens. The FoxForm toolbox has a selection pointer, a text tool, a line tool, rectangle and rounded rectangle tools, a text region tool, a text button tool, a radio button tool, a check box tool, a field tool, a popup menu tool, and a picture tool. Objects can be selected, resized, respaced, moved, grouped, duplicated, and stacked. Stacking objects allows a kind of multidimensional approach for the creation of elaborate input screens. Text is treated as an object and the user has complete control over font, style, and size for editing purposes. Graphics can be imported as objects and can be assigned pen and fill cholers and characteristics.

FoxCode refers to both an applications development language and a template compiler. Templates are simply sections of code either created by the user or selected from a growing template library of FoxCode applications. A few stock templates are provided with the FoxCode package which can be used to generate a limited variety of applications and Fox Software promises to include “shareware” templates with future shipments and updates of FoxBase+/Mac. FoxCode’s procedural language allows the developer full access to Macintosh features though programming with FoxCode is complex. While conventional program code acts on databases, indexes, reports, and other data files, Fox Code statements act only on FoxBase+/Mac programs being written by FoxGen. That is, FoxCode is actually one step removed from actual program code and the distinction can be confusing.

FoxGen is a program generator that produces FoxBase+/Mac program code or format files using information from compiled templates (FoxCode) and FoxForm screen files (FoxForm).

FoxBase+/Mac 1.10 also offers a full range of programming and debugging tools, including program editing, trace, and debugging windows. The trace window allows you to monitor program execution line-by line and shows surrounding program statements to add a sense of context. The trace window can also be used for single-stepping a program through execution with each line controlled by a mouse click. The value of arbitrary expressions can be monitored in the Debug Window and FoxBase+/Mac can be instructed to suspend execution based on these values.

Multi-Window, Multi-Font, Multi-Color

Up to nine user output screens can be activated simultaneously plus a whole range of editing windows. Output screen support includes multiple fonts, color background and fore-ground, and icons and pictures.

Screen I/O

Screen Input/Output takes full advantage of the Macintosh user interface. For example, user defined input forms can include radio buttons and with associated text in any desired font, size, style, or color; check boxes; pop-up menus for selecting from a list of possibilities; user-defined menu bars with standard Macintosh pull-down menus; vertical and horizontal arrays of buttons with spacing and alignment handled automatically; text editing of character string or memo fields in a rectangular box of any desired size; and standard dBase language screen input/output.

Context Sensitive Help

FoxBase+/Mac includes a HELP facility designed to provide on-line, context-sensitive help. Help text can be selected and displayed based on topic name, program name, selected field, or any combination of these criteria. Because the HELP text and data used to retrieve it are stored in standard FoxBase+/Mac databases, it’s a relatively simple matter to generate a sophisticated HELP facility for any FoxBase application.

RunTime System

Fox software also announced a RunTime System. Software developers can distribute applications written in FoxBase+/Mac to an unlimited number of purchasers for one low cost license ($300) and end users need not buy individual copies of FoxBase+/ Mac. That is, the runtime license permits each user to access any number of applications without any additional payment.

What’s Missing

In the struggle to develop a sophisticated Macintosh application while maintaining backward compatibility with dBase, Fox Software gets high marks. Still, some initial compromises were required. The Reports facility in FoxBase+/Mac is as sterile as its big blue cousin. The report creation process excels at creating simple columnar displays and labels that would have pleased MIS in the 60’s but that has little relevance to Mac users spoiled by the report capabil- ities of FileMaker Plus. And speaking of FileMaker’s features, FoxBase+/Mac could sure use the ability to duplicate a record, enter the same field information in multiple records, and check for uniqueness of an entry without elaborate program- ming.

dBase vs FoxBase — The Bottom Line

MS DOS dBase users will have somewhat of a dilemma to face in selecting a data manager on the Macintosh. Ashton-Tate recognized early on that the Macintosh is an incredibly powerful tool particularly for complex tasks like constructing multiple file data relation- ships. Instead of “porting” their best selling dBase software over to the Mac, they started from scratch and developed a very elegant (if slow) management system. Though the company kept ‘dBase’ in the name, this was a marketing decision rather than an indication that dBase Mac had anything in common with dBase III Plus. On the other hand, Fox Software have directly catered to the MS DOS dBase enthusiast by producing software on the Macintosh that they can immediately recognize and use. At the same time, FoxBase+/Mac may entice these users to develop and enhance their old dBase software while taking advantage of the Macintosh graphics interface.

dBase Mac FoxBase+/Mac 
Open Files3148
Records per fileunlimited1,073,741,823
Max Record Size32000 Byteslimited by disk space
Max Field Size32000 Byteslimited by disk space
Max # of Fields per Record32000128
Max # of items in multi-valued field32000NA
Max # of characters in text field255254
Max # of characters per item255254
Number of field data types76
Numeric Precision1916
Data Types Recognized text, number, date time, graphic, logical, and choicecharacter, number, date, logical, memo and picture
Fields available for sorting eight deep limited only by length of command line
Calculation functions5155
Types of reportsform, columnar, customcolumnar, labels
Compatibility dBase II, dBase III, dBase IIIdBase III Plus, Framework II data filesPlus data, program, and report files
Tech Support90 days free then paid Free
Mac InterfaceExcellentGood
Mem Requirement 1 Meg1 Meg
The dBase Foxchase — A Performance Comparison

Product Information

Product: FoxBase+/Mac
Company: Fox Software
Address: 118 W. South Boundary Perrysburg, Ohio 43551
Price: $395
Telephone: (419) 874 -0162

Please follow and like us:

About the Author


The A.P.P.L.E. Website is run by the Apple Pugetsound Program Library Exchange Users Group and is open to all Apple and Macintosh fans and their friends.