Home  TOC
Press Releases from Fox Software: FoxPro 2.0


Access to Internal FoxPro Engine Available

External Libraries of C and Assembler Routines Work With EXE, Runtime and Interactive Product

Fox Offers Library Construction Kit For Add-On Developers


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0's new open architecture and Application Programmer's Interface (API) introduce a remarkably flexible library structure that offers third-party add-on developers tremendous profit opportunities, and allows users and programmers to extend the FoxPro system in nearly any conceivable direction. The new system integrates C and assembly language routines into any FoxPro application in all forms of FoxPro, including the end-user and developer interactive version, Runtime and stand alone EXE programs.

New Open Architecture and Dynamic Libraries Provide C and Assembly Connections

FoxPro 2.0's new open architecture, available through its Application Programmer's Interface (API), allows programmers to write functions in C and Assembler. These functions are placed in external libraries which can be accessed from FoxPro via a new SET LIBRARY TO command. Modules within a FoxPro external routine library are dynamically loaded into and released from memory as required.

Libraries Work With Interactive FoxPro As Well As Runtime and EXE's

"Our Dynamic Link Library and API system provide unmatched connection flexibility," Dr. David Fulton, Fox Software President, said. "Unlike any other implementation we've seen in the database category, FoxPro 2.0 allows developers to create libraries that can be used interchangeably with interactive FoxPro, Runtime applications, and/or free-standing EXE's. This should be very significant to the third-party library development community, since every user is a potential customer, no matter what form of FoxPro they're using."

The FoxPro External Routine API is an interface definition which allows programmers to extend the capabilities of FoxPro and the FoxPro user interface. In-depth access to the internal FoxPro engine allows programmers to access databases, manipulate memory, work with files, manipulate memos, handle FoxPro events, work with windows, process FoxPro statements and expressions and access FoxPro memory management, file and record input/output routines, dialogs and error handlers, events, video output routines, etc.

Library Construction Kit Includes All Tools Necessary For Library Development

A new Library Construction Kit contains all necessary software to create FoxPro libraries in the C language. Included is a special version of the new Watcom 8.5 Optimizing C compiler, a highly rated compiler which produces code that is both extremely fast and compact, the Watcom Linker, various Watcom utilities, and the Fox Software code needed for library creation.

The Library Construction Kit retails for $500, and is available now. Users can upgrade to the Professional Edition of Watcom C8.5 for an additional $149.95.

Top   Home  TOC


Special Version for 80386 and 80486 Processors Uses True 32-Bit

Instructions, First Microcomputer Implementation of Demand Paging For Faster Performance

Expands Limits of Standard Mode Product For Complex Applications


Perrysburg, Ohio, May 20, 1991 - A separate "Extended Mode" version of FoxPro which uses protected mode on 80386 and 80486 processors is included with all copies of the FoxPro 2.0 package at no extra cost.

True 32-Bit Instructions and Mainframe-Style Demand Paging Yield

Significant Performance Increases, Especially on Extremely Large Files

The extended versions of FoxPro 2.0, both single- and multi-user, employ true 32-bit instructions to take full advantage of advanced microprocessors. FoxPro 2.0 is also the first microcomputer database to implement mainframe-style demand paging, a memory management technique which allows efficient operation in smaller amounts of extended memory.

In virtually all applications, the extended mode versions of FoxPro 2.0 run noticeably faster than the standard mode versions. Improvements are particularly noteworthy on very large data files.

Combined with FoxPro 2.0's revolutionary new Rushmore(tm) query optimization technology, the speed enhancement of the extended mode versions opens new horizons for the management of massive datasets.

For example, on a 140 megabyte data file of 1.6 million records, the extended mode version of FoxPro 2.0 creates a single field index 2.6 times faster than standard mode FoxPro 2.0. Extended mode FoxPro 2.0 creates this index 6.1 times faster than dBASE IV.

Extended Mode Version Removes or Eases Limits in Standard Mode FoxPro

While standard mode FoxPro 2.0 is already unusually generous in terms of the limits it places on database applications, the extended mode versions either remove or ease these limits still further.

Among the improvements available in the extended mode versions of FoxPro 2.0:

VCPI Compatibility Provides Configuration Simplicity

The extended versions of FoxPro 2.0 are completely compatible with the VCPI standard, with DMPI compatibility to come. This eliminates the need for reconfiguration when operating under memory managers like Quarterdeck Office Systems' QEMM and multitasking systems like DesqView.

Top   Home  TOC


New index style stores unlimited number of multiple index entries in one file

Compound indexes are smaller and faster

FoxPro 2.0 supports huge number of indexes


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0 introduces a new indexing system which offers many advantages. FoxPro's new compound indexes store multiple, unlimited index entries or tags in one index file, indexing is very much faster than in competitive products, and the index files are significantly smaller than competitive multiple-index implementations.

For example, on a 140 megabyte data file of 1.6 million records, FoxPro 2.0 creates a single field index 2.3 times faster than dBASE IV, and the index file is one-sixth the size of that created by dBASE IV (approximately 8 megabytes vs. 48 megabytes). The extended mode version of FoxPro 2.0 (see related release) is even faster, creating the index 6.1 times faster than dBASE IV!

Two types of compound indexes are available. A compound index can be automatically opened with a given database. In addition, multiple free- standing independent compound indexes may also be opened explicitly.

Unlimited Number of Tags Can Be Stored in One Index

FoxPro 2.0 can store an unlimited number of tags in a compound index file, providing maximum flexibility to accommodate any application requirements. dBASE IV can store only 47 tags in its MDX index format.

Number of Open Index Files Limited Only by DOS

FoxPro 2.0 places no restrictions on how many index files, whether the new CDX compound indexes or traditional IDX indexes, may be open. The only limit is whatever DOS imposes on the number of available file handles.

All Open Indexes Are Updated Automatically

FoxPro 2.0 updates all open compound and standard indexes automatically as changes are made to the database. As in the past, this automatic index maintenance is transparent to the programmer and end user.

Previous IDX Indexes Available Too

The previous FoxPro IDX indexing method is retained in version 2.0, primarily for compatibility with existing applications. A new COMPACT clause creates IDX-style indexes that are from one-half to one-sixth the size of IDX format indexes.

New and Enhanced Commands and Functions Support Advanced Indexing; Ascending and Descending Index Created Easily

A series of new and enhanced commands and functions provides simple and straightforward control over both the new CDX compound indexing system and traditional IDX indexes. Provisions are also included to convert back and forth between CDX and IDX index formats.

Indexes can be created in either ascending or descending order; no special tricks are required for descending numeric indexes, for example. A clever variation allows indexes to be used in either ascending or descending order, regardless of the order specified when the index was created.

Top   Home  TOC


FoxPro/LAN Requires Less Memory, Reduces Network Traffic

Interoperability For Flexible Mixed Networks


Perrysburg, Ohio, May 20, 1991 - FoxPro/LAN 2.0 provides significantly faster performance compared to earlier versions of FoxPro/LAN and competitive products, consumes less memory, operates smoothly in mixed DOS- Macintosh networks and offers a myriad of language, relationality, fourth generation object-oriented design tools.

Several Innovations Contribute to Superior Performance

A series of innovative enhancements deliver greatly improved performance, generally 2-3 times faster than the previous version of FoxPro/LAN, with some operations up to thirty times faster:

Mixed DOS and Macintosh Networks Can Share Data, Indexes, Even Program Files

FoxPro 2.0 provides exceptional flexibility in mixed networks of DOS and Macintosh computers. Users on mixed networks can share data and index files simultaneously, with no data conversion or other impediments. Even programs written with straightforward user interfaces can be shared and executed on both platforms.

FoxPro/Mac, a sister program to FoxPro 2.0 for DOS, will be released later this year, and will allow an even greater degree of application commonality.

"Version Discriminator" Loaders Determine Appropriate Version To Execute For Optimal Performance

FoxPro/LAN 2.0 is supplied in two versions, an extended version for 80386 and 80486 processors and a standard version for other CPU's. The extended version provides faster performance in many respects and offers more generous capabilities for memory variable storage and other elements.

New loaders introduced in FoxPro 2.0 determine the processor used in the network server and in individual workstation nodes. The appropriate version of FoxPro/LAN is loaded automatically, assuring the best performance possible in networks using a variety of CPU's.

Top   Home  TOC


Free-Form Hypertext Help System, Flexible Import/Export Facilities,

Minimized Windows, Editable Macros, Interactive One-To-Many Relation Control Added

Report Writer Capabilities Significantly Augmented

BROWSE FOR, Complete Array Functions, Object Manipulation Tools, Memo File

Packing, Menuing Control Among Many Features Added to FoxPro Language


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0 provides a host of new interface capabilities, new and augmented subsystems, and new and enhanced language commands and functions.

Many of these major improvements are discussed in separate releases in this package. This release covers a number of the new items not discussed elsewhere.

Enhanced Help System Employs Innovative Free-Form Hypertext

FoxPro 2.0 provides help text in both structured and context sensitive fashion. Several innovative enhancements make this system especially flexible and powerful.

"Free-Form Hypertext Help" allows users to highlight any key word in any location in the help text, any editing window or the command window, and move immediately to help on that subject. This extremely versatile feature is even available within any editing or command window, not just within the Help system itself, providing an unmatched context-sensitive capability.

In addition, automatic cross-referencing moves instantly to information on subjects included in "See Also" cross-references. A new Help filter system restricts the visible range of topics for simplified access. Help has also now been added for FoxPro interface elements.

Developers, programmers and end users can add all three forms of Help access to applications with minimal effort.

Long-Requested BROWSE FOR Provided in FoxPro 2.0

BROWSE FOR, to allow including a general scope specification to specify the records to be displayed in a BROWSE, has long been one of the most requested enhancements to FoxPro. This powerful capability is now available in FoxPro 2.0.

"BROWSE FOR fulfills one of the most common enhancement requests from our users," Dr. Fulton said. "Our new Rushmore optimization technology made it possible for us to satisfy this need, yet provide fine performance. BROWSE FOR will allow programs to be simplified and made more flexible."

Simple Interactive Control of One-To-Many Relationships With No Programming

FoxPro's interactive View window has always allowed establishing relations between files with no programming. With the new FoxPro 2.0 One-To-Many relational capabilities, the View window has been enhanced to add specific control over one-to-many relations. Even beginners can construct complex relational structures with no programming, using FoxPro's BROWSE, REPORT and other subsystems to manipulate relational system intuitively.

Keyboard Macros Can Now Be Edited or Created Manually

FoxPro 2.0 allows editing of keyboard macros. A special built-in editor is provided for this purpose. Users can now write macros manually, as well as record the keystrokes automatically.

Direct Import and Export for Compatibility With a Wide Variety of File Formats Added

FoxPro 2.0 can append data from and write data to a wide variety of file formats used by popular applications. Among the file formats supported are:

DIF Data Interchange Format
FW2 Framework II spreadsheets
MOD Microsoft Multiplan BIFF (Binary File Format) document
RPD RapidFile database
SYLKSymbolic Link interchange format
WK1 Lotus 1-2-3 Release 2.xx spreadsheet
WK3 Lotus 1-2-3 (Release 3.0) spreadsheet
WKS Lotus 1-2-3 (Release 1A) spreadsheet
WR1 Symphony (versions 1.1, 1.2 and 2.0) spreadsheet
WRK Symphony (versions 1.0, 1.01) spreadsheet
XLS Microsoft Excel (version 2) spreadsheet

New Interface Enhancement Creates Minimized Windows

FoxPro 2.0's interface introduces a new concept called minimized windows. Any system window or user window created with the new MINIMIZE clause can be reduced to a one line by 16 character minimized window containing the window's title. The minimized window can be positioned anywhere on the display or automatically "docked" in the lower right portion of the screen.

The minimize provisions, along with new Zoom commands added to the FoxPro menu line, make it easy to place many windows on the screen or in a window simultaneously and still have ample space for output.

Built-In Program and File Editor Enhanced

FoxPro 2.0's built-in program and file editor has been enhanced with several user-requested features. An optional status line can display the line and column number of the cursor's current position, as well as various status annunciators. Hanging indentation capabilities have been added. Search and search/replace are now bidirectional, forward or backward through a file. Line numbers previously sought are now remembered by the editor, an aid to program revision during debugging.

Report Writer Enhanced for Versatility and Convenience

FoxPro's interactive Fourth Generation Report Writer has been enhanced with several improvements which increase flexibility and improve ease of use. Among the many advances:

Reports, Screens, Queries Can Be Created Programmatically

Quick Reports, Screens and Queries can now be created under program control, without invoking the FoxPro 2.0 interactive design tools. This allows programmers to design systems which gather information from end users and create reports, screens and queries reflecting user needs, without requiring the user to learn or use the FoxPro design tools.

New and Enhanced Commands and Functions Increase Power of FoxPro Language

The FoxPro language has been upgraded with many new and enhanced commands and functions. Among the highlights:

Printer Drivers Enhance Output Appearance

Users can enhance the visual appeal of printed output with new printer drivers in FoxPro 2.0. Drivers are supplied for a variety of popular printers, with special drivers for printers supporting Hewlett-Packard PCL and PostScript.

Users can create new printer drivers or modify existing ones easily. Drivers use standard FoxPro code, so special features can also be added readily. Versions of the printer drivers written in C using FoxPro's API open architecture are also provided for users requiring maximum throughput.

Top   Home  TOC


Fourth Generation Interactive Menu Builder Tool Creates Hierarchical and Standard Menus and Popups With No Programming

New FoxPro Menu Code Generator Creates Menu Code Which Can Be Used Directly Or Modified

Control Over FoxPro System Menu Provided

Over Thirty New and Enhanced Commands and Functions Expand Menu Options


Perrysburg, Ohio, May 20, 1991 - Users can create custom menus easily with no programming with FoxPro 2.0's new interactive Menu Builder, new and enhanced commands and functions, and templates which create menu code.

Interactive Menu Builder Requires No Programming to Build Complex Menus and Popups

FoxPro 2.0's new interactive Menu Builder, one of a suite of new fourth generation design tools, combines advanced, highly flexible menu capabilities with unparalleled ease of use.

Users merely specify menu prompts and the commands they should execute. Multiple level hierarchical or cascading submenus and popups can be created easily. Users can specify keyboard shortcuts merely by pressing the desired shortcut key.

Menu Code Generator Creates Program Code Automatically, With No Programming Required

Once the menus and popups have been defined, the new FoxPro code generator system takes over and creates the program code to implement the menus and popups, No user programming is required. The generated code can be executed directly or inserted into any FoxPro application.

Complete control over FoxPro System Menu Added; User Elements Can Be Added Seamlessly, or System Menu Simplified for Beginning Users

Users now enjoy full control over the FoxPro System menu bar and popups. Items can be deleted or added, and routines can be assigned to the Systems pads or System popups. This allows users to customize the FoxPro system menu for many purposes, including simplifying the available options for beginning users, adding new options seamlessly or changing how standard options operate.

New and Enhanced Commands and Functions for Comprehensive Menu Control

FoxPro's command language has been expanded with over two dozen new commands and functions and powerful enhancements to many other commands. Over 100 new system variables have been added to control the FoxPro System menu.

These new language expansions provide the underpinning for the interactive menu definition and automatic menu generation systems. In addition, they allow advanced programmers to gain still further flexibility and control.

Menu Builder Works With Other FoxPro 2.0 4GL Tools

The new Menu Builder is part of a suite of fourth generation tools in FoxPro 2.0. In addition to the Menu Builder, the new Screen Builder and enhanced Report Writer and Label Generator tools provide enormous versatility with unmatched ease of use.

Top   Home  TOC


Developers Gain Control Over All Aspects of Application Development Process

Project Manager Creates Applications Or Two Types of EXE's


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0's new Project Manager helps developers manage the application creation process. The Project Manager unifies and coordinates all the elements which are part of an application. Users can create applications under the Project Manager's control to run in interactive FoxPro 2.0, the FoxPro Runtime, or two types of executable EXE packages.

Integrated Project Management Facilities Help Control and Maintain Application Development Process

A FoxPro 2.0 project is a special file which keeps track of all programs which are required to create an application, as well as all the dependencies, references and connections among the files. Working in conjunction with FoxPro's automatic compilation features, a project insures that compiled files are based on the latest source files.

Projects can contain more than program object code. Users can store interface elements like screen sets, menus and formats, reports, labels and queries, external API libraries, memory variable files, keyboard macros and even read-only databases for lookups. Storing all these elements in a central location helps organize development and reduces disk clutter.

Developers can build projects either interactively, by specifying all the component pieces of an application, or automatically via FoxPro 2.0's new Build command. Build searches files and libraries for references to other files or libraries, keeping track of everything that will be needed to create the final application.

"The project concept provides the flexibility and control of traditional `make' utilities, but with far less effort and no learning curve," noted Dr. David Fulton, President of Fox Software. "Projects greatly ease development of complex applications, smoothly and easily."

Runtime or Two Types of Free-Standing EXE Programs Possible

Once users create a Project, they can build either a custom application (APP) or two styles of executable program (EXE).

A monolithic single EXE contains everything necessary to operate as a stand-alone executable application. Alternately, developers can opt for a collection of small EXE files which require the presence of a central Fox library.

"There are advantages to all three options. It's basically a packaging decision, with the optimal choice depending on the application, the hardware and software environment, and other factors. For example, using the small EXE model makes remote updating via modem much more efficient and less costly," Dr. Fulton observed. "There seems to be some mystique about EXE files, and now FoxPro satisfies those who want this approach. But we've provided the flexibility possible with EXE's throughout all three techniques. FoxPro 2.0 is one system that happens to be able to create both Runtime and different flavors of EXE executables; there's no `EXE compiler' per se."

Top   Home  TOC


Unique Relational Query-by-Example Provides Answers Fast, Without Programming

Sophisticated Query Optimizations Deliver The Fastest Relational Data Retrieval On Any Microcomputer

SQL Completely Integrated Within FoxPro 2.0, No Mode Changes or Switching Required


Perrysburg, Ohio, May 20, 1991 - New fourth generation relational tools in FoxPro 2.0 provide users, programmers and developers with easy-to-use, interactive relational data entry, relational querying and relational reporting capabilities.

An innovative relational query-by-example (RQBE), integrated FoxPro SQL language extensions, one-to-many relations and other relational features work in concert with FoxPro 2.0's 4GL Screen Builder, Menu Builder, Report Writer and Label Generator tools to provide unmatched power and flexibility.

Interactive Relational Query-by-Example Retrieves Data Fast, With No Programming Required

FoxPro 2.0's new Relational Query-by-Example (RQBE) provides an easy-to-use interactive environment for retrieving information. The RQBE process requires no programming. It is appropriate for both beginners performing ad hoc data retrieval and programmers and developers constructing queries for incorporation into applications.

Using FoxPro's unique windowing user interface, RQBE users can easily build even complex relational queries with either mouse or keyboard. The user can specify which databases to access, how they are related, which fields to include in the output and how they should be grouped, sorting sequences, the format of the output, and specific selection criteria for any field.

"Enhancing relational capabilities was a central design goal for FoxPro 2.0, and the new Relational Query-By-Example is the cornerstone of this effort" said Dr. David Fulton, Fox Software President. "While it offers the interactive and easy-to-learn, easy-to-use aspects of traditional QBE's, RQBE goes well beyond them in its abilities to extract the exact information the user needs even in complex relational situations - at extremely high speed and with no programming necessary."

FoxPro Query Facilities Are Orders of Magnitude Faster Than Competition!

Unlike other relational querying implementations for microcomputers, which have earned a well deserved reputation for sluggish performance, FoxPro 2.0 provides extraordinarily fast data retrieval. On an industry-standard benchmark suite of 69 queries, FoxPro 2.0 outperformed other relational products by dramatic margins:

Ratio Vs.
FoxPro 2.0
Oracle * *
dBASE IV 2197 81
XDB 603 22
FoxPro 2.0 27 --

The real-world implications are extremely significant: consider that competitive relational products can take well over an hour to perform tasks which take FoxPro 2.0 under half a minute! Even the fastest competitive product takes over ten minutes!

RQBE Builds SQL SELECT Statements Automatically

FoxPro's 4GL RQBE generates a FoxPro SQL SELECT statement which may be used anywhere in source code programs. In many cases, a single FoxPro SQL SELECT can replace many lines of FoxPro-style code.

SQL SELECTS Incorporated Into FoxPro 2.0; No Mode Switching Required

FoxPro 2.0 adds non-procedural SQL SELECT statements to the mainstream of its programming language. No special switches or mode changes are required to access the power and efficiency of FoxPro SQL SELECTS.

The non-procedural aspect of FoxPro 2.0's SQL greatly eases the complexity of intricate data retrieval tasks. The need to write and track complicated FoxPro SELECT and SET RELATION TO statements is eliminated in favor of concise, easy-to-understand SQL SELECTs.

During RQBE definition, the user can examine the SELECT statement being constructed at any time. "This can be a potent learning technique. SQL is new to most FoxPro and X-Base users," Dr. Fulton noted, "Experimenting with the RQBE interface and seeing the resulting FoxPro SQL SELECT is one of the best ways to learn SQL I've seen."

SQL CREATE TABLE, INSERT and Nested SELECTs Add Powerful, Fast Capabilities

FoxPro 2.0 also provides several other powerful SQL commands. CREATE TABLE creates table structures programmatically without reference to an existing table, and INSERT adds records to a table in one step, which requires fewer locks in network environments and thus yields notably faster performance.

FoxPro 2.0's SQL implementation supports nested SELECT statements, allowing selection of records from a set of records chosen by another SELECT. In addition, FoxPro SQL offers the uncommon capability of accepting general expressions in the projection (fields) list and WHERE clause. This provides tremendous flexibility in query design, allowing use of the rich spectrum of FoxPro expressions in SQL statements.

Versatile Output Options Direct Relational Query Output, Eliminates Extra Steps in Obtaining High Quality Output

Relational query results can be directed to a variety of FoxPro subsystems, including a Browse, the Report and Label form systems, a Cursor, the screen Display, etc. SQL output can be sent directly to an array.

In addition, RQBE output can be routed to an automatic Quick Report. This option creates attractively formatted columnar or form-style report output from a query immediately, without the need to predefine a report form.

New Multiple-Window Relational BROWSE For One-to-Many Display

Users can now display multiple related datafiles in simultaneous visible windows with FoxPro's powerful BROWSE facility. When moving through a parent database in one BROWSE window, only the related records in children databases will be displayed in multiple BROWSE windows on the screen at the same time.

SET SKIP TO Creates One-To-Many Relationships Between Databases

FoxPro 2.0 implements SET SKIP TO to create one-to-many relationships between databases. SET SKIP TO allows moving within a child database without moving the record pointer in the parent database. In this way, many records in the child database related to a single parent record can be displayed.

Top   Home  TOC


Rushmore Provides Automatic and Transparent Speed Increases

General Purpose Access and Filtering Technique Benefits All Scoped Operations On Indexed Files

Speed Increases Over Two Orders of Magnitude Possible With Patent-Pending Rushmore Technology


Perrysburg, Ohio, May 20, 1991 - Rushmore(tm), a patent-pending new access and filtering optimization technology introduced in FoxPro 2.0, provides startling speed increases in accessing data in indexed files. Even compared with previous versions of FoxPro, already widely regarded as the fastest microcomputer database manager, FoxPro 2.0's Rushmore technology can access data up to two orders of magnitude or more faster!

"We think the Rushmore technology is a true breakthrough that advances the state of the art," said Dr. David Fulton, Fox Software President. "It opens new vistas for data management on microcomputers. Massive tasks that were beyond the scope of micro-based computers and required mini or mainframe computers are now well within the capabilities of desktop systems."

Rushmore is Automatic and Transparent

Rushmore optimization is automatically employed - and dramatically improves the performance of - any FoxPro command that uses a filtering condition where indexes are available. Common FoxPro commands like BROWSE, SCAN and many others benefit automatically. The long-requested general-purpose BROWSE FOR in FoxPro 2.0 provides remarkable performance, largely through the availability of Rushmore technology.

Rushmore, combined with other optimization techniques, is also utilized automatically with FoxPro 2.0's new SQL SELECT statements.

"Rushmore has an extraordinary impact on data access. It works with any existing application, although programmers will probably want to change some strategies to extract its full advantages. Interestingly, the best techniques for using Rushmore are simpler methods, not more complex," Dr. Fulton observed. "It's better to look at an entire database, rather than use tricks to work only with subsets."

Example: FoxPro 2.0 over 3,000 TIMES faster than dBASE IV

"For example, on a 140 megabyte data file of 1.6 million records, a simple COUNT without Rushmore active took 186.5 seconds with FoxPro 2.0 (and 422 seconds with dBASE IV). A SEEK-COUNT WHILE strategy took 43.3 seconds with FoxPro 2.0 (and 79 seconds with dBASE IV). With Rushmore active, the simple COUNT took .126 seconds! Note that this is 3,349 times faster than the same simple COUNT under dBASE IV and 627 times faster than even the best strategy with dBASE IV!"

Top   Home  TOC


Flexible New Object-Oriented Screen Builder Requires No Programming To Create Attractive, Highly Functional Input and Editing Screens

New Control Objects Add Push Buttons, Radio Buttons, Check Boxes, Popups and Lists


Perrysburg, Ohio, May 20, 1991 - A new object-oriented Screen Builder in FoxPro 2.0 uses fourth generation techniques to create attractive and functional input and editing screens. The new Screen Builder is easy to learn and easy to use for beginners, while providing complete control and flexibility for advanced users, programmers and developers.

The user designs screens by simply choosing objects from a pull-down menu and placing them anywhere on the screen, with either a mouse or the keyboard.

The objects include:

No programming required, yet full spectrum of language control available to knowledgeable users

The Screen Builder, modeled after that in FoxBASE+/Mac, provides sophisticated, object-oriented controls without any programming. Taking full advantage of FoxPro's unique event-driven, windows-style interface, elegant and highly sophisticated screens can be constructed quickly and easily.

As objects are placed on the screen, a broad spectrum of editing options, including range checking, validation clauses with user-defined functions, when clauses and even scroll bar management of long fields can be attached.

Advanced users can also create "Code Snippets" (blocks of code attached to screen objects) to provide unlimited control over object behavior, field contents and other aspects of the screen interface. The code snippet approach places controlling code where it belongs: at the point in the system where it has effect.

Convenient Options Ease Screen Design

The FoxPro Screen Builder includes a variety of tools and options to ease the screen design process. Selecting multiple objects is now faster and easier with FoxPro 2.0's new marquee tool. The marquee surrounds a group of objects with an outline, so operations can be performed on all the selected objects.

Users can draw boxes and lines using a variety of line types, including single and double lines, a panel of solid color, or any ASCII character, in any color combination. Graphic elements can improve entry accuracy by improving the readability and by calling attention to a particular area of the screen.

Objects can be positioned on top of or behind other objects, centered, colored, grouped and ungrouped for ease in manipulating complex collections of objects, and the order in which objects will be accessed can be changed. A time-saving Quick Screen option displays datafile fields in either columnar or form layout, eliminating the need to enter a series of fields manually.

Screen Sets Combine Multiple Screens For Power and Flexibility

Users can create Screen Sets consisting of one or more screens. Each individual screen is a functionally complete interactive element that can be part of a larger functional group of control panels and full screen displays. The Screen Set concept encourages construction and reuse of generic screen elements and control objects.

Screen Builder Creates FoxPro Code For Maximum Versatility

Information about the objects on the screen is saved in a FoxPro database, which in turn is used by the FoxPro's code generation system to create polished FoxPro code. The generated code can be executed directly or inserted into any FoxPro application.

Screen Builder Works With Other FoxPro 2.0 4GL Tools

The new Screen Builder is part of a suite of fourth generation tools in FoxPro 2.0. In addition to the Screen Builder, the new Menu Builder and enhanced Report Writer and Label Generator tools provide enormous versatility with unmatched ease of use.

Top   Home  TOC


FoxPro Itself Used As Template Language

New TextMerge Approach Provides All Benefits of Template Technology Without Steep Learning Curve of Existing Template Products

Templates Implemented With New FoxPro Commands

Application Developer uses Template Technology to Create Applications for End Users


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0 provides template language technology completely integrated within FoxPro, using FoxPro itself as its own template language. The new approach replaces FoxView, FoxCode and FoxGen, the template tools provided with earlier versions of FoxPro.

FoxPro Language Enhancements Provide Template Benefits

The new FoxPro template system is implemented with only a handful of specialized FoxPro text merge commands. In conjunction with the new Screen Builder and Menu Builder discussed in related releases, these few commands provide the many benefits of template systems, like ease of application development, reusability of template modules, and commonality of interface across multiple applications.

"The new template capabilities in FoxPro 2.0 represent something of a conceptual breakthrough," noted Dr. David Fulton, President of Fox Software. "Template systems have always been based on the concept of writing a form of pseudo-code and replacing portionswith actual product code later. Of course, this required users to learn a completely new language and set of rules - an investment which many programmers simply weren't prepared to make."

"It dawned on us that we could handle this via the time-tested concept of the `mail merge' - simply using FoxPro as its own template language! It proved remarkably easy to add just a few text merge-oriented commands to FoxPro and provide all the unquestionable benefits of template technology without any of the drawbacks. There's little or no learning curve required. Anyone who knows how to program in FoxPro already knows the template language!"

Template Process is Simple and Powerful

The actual process of writing templates and creating code is straightforward. A SET TEXTMERGE TO command specifies an output file to which all subsequent code will be directed. SET TEXTMERGE ON indicates that all text code found between TEXT...ENDTEXT commands, or that appears after a special TEXTMERGE character (\, \\) is output to the file. In addition, all expressions, functions and memory variables found between paired angle brackets (<< and >>) are to be evaluated before they are sent to the output file. SET TEXTMERGE TO closes the output file.

The resulting code is standard FoxPro source which the user can execute or further modify as desired.

Sample Templates Included with FoxPro

FoxPro 2.0 includes a variety of sample templates, which are themselves FoxPro programs, that process output from the new Screen Builder and Menu Builder. The output can take the form of FoxPro format files, code segments, or applications.

FoxApp Application Developer Creates Simple Applications Quickly and Easily

FoxPro 2.0 includes a new Application Developer called FoxApp. Users can create simple, yet well-structured and functional, applications with absolutely no programming and minimal effort. In addition to creating usable applications, FoxApp can also be employed by novice users as a learning tool.

Top   Home  TOC


Host of New Features, Stunning Performance Boosts, Relational Query-By-Example, Integrated SQL, Extended and Standard Editions At Low Cost

No Price Increases on Single User Product

LAN Multi-User Version Can Save Thousands of Dollars Vs. Competition

EXE Creation Added to Runtime Package At No Additional Cost

Liberal Upgrade Policies for Current Users


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0 offers a multitude of new features, patent-pending technological advances, performance unmatched by any microcomputer database, an innovative Relational Query-By-Example, completely integrated SQL, a suite of fourth generation design tools and many other advantages, in most cases at the same price as earlier versions of FoxPro.

Single User FoxPro 2.0 Remains at $795; Both Standard and Extended Editions Included at No Additional Cost

The single user version of FoxPro 2.0 carries a suggested retail of $795, identical with previous versions of FoxPro.

"This represents an incredible value," noted Charles Valentine, Jr., Fox Software Vice-President of Marketing and Sales. "We've never particularly emphasized price as a major selling point for our products, but providing such massive performance acceleration and extensive benefits while maintaining price deserves special attention. Also notable is the inclusion of both standard and extended true 32-bit versions at no additional cost; in the past, we and many other vendors have offered separate versions at significant extra cost."

FoxPro/LAN is Extremely Cost Efficient; Can Save Tens of Thousands of Dollars While Providing Superior Performance

FoxPro/LAN, the multi-user version which shipped simultaneously, also provides both standard and extended versions. Retail price is $1,295.

"The LAN product is extremely cost efficient," Valentine observed. "Unlike dBASE IV, Paradox and others which require expensive `LAN Packs' for each group of a few nodes added to a network, FoxPro/LAN is licensed per server. Users are welcome to add as many nodes to a server as their network system allows, with absolutely no extra payment to Fox. It's not uncommon to see corporations spending twenty or thirty thousand dollars or more for competitive software just to serve a large network. With FoxPro/LAN, they need spend only about one thousand dollars, with vastly superior performance to boot."

New Royalty-Free Distribution Kit Replaces Runtime At Same Price, Yet Provides Runtime and Two Forms of EXE Creation As Well

The new FoxPro 2.0 Distribution Kit serves the needs of developers and programmers who wish to distribute applications to end users and clients. It replaces the Runtime sold with previous versions of FoxPro.

The Distribution Kit can create three forms of packaging for distributed applications: the traditional runtime, small EXE executables using a central library, or single monolithic EXE's. All three are completely royalty free; once developers buy the Distribution Kit they never need pay Fox any royalties or account for their sales in any way.

"Once again, the Distribution Kit is an excellent value," Valentine said. "Retail price remains unchanged at $500, even though the Kit provides more flexibility via its multiple packaging options."

Generous Upgrade Policies Encourage Users to Move to Next-Generation

Fox continues its tradition of low-cost upgrades for its existing user base.

Price protection for FoxPro 2.0 took effect on February 1, 1991. All registered owners of FoxPro 1.02 who acquired it after this date can upgrade to the equivalent package in the FoxPro 2.0 system at no cost.

Upgrades for other owners of FoxPro 1.02 are $195 for single user, $250 for LAN, and $100 for Runtime to Distribution Kit upgrade. In addition, registered owners of FoxBASE+ can also upgrade to FoxPro 2.0 for the same costs.

Top   Home  TOC


Memory Footprint is Greatly Reduced


Perrysburg, Ohio, May 20, 1991 - FoxPro 2.0 introduces a new virtual memory system utilizing sophisticated technology to optimize memory utilization and increase performance.

New Intelligent Virtual Memory System Refines Memory Usage, Eliminates Overlays

The new virtual memory system does not use overlays, eliminating the inefficiencies inherent in overlay swapping. In previous versions of FoxPro, 64K of RAM was used for managing overlay swapping. The new virtual memory manager does not need this memory, and restores it to the general memory management pool.

The virtual memory system manages segments intelligently. Granularity is improved because segments are smaller than massive overlays. The intelligent memory technology can exchange needed segments very rapidly, and frequently used segments are retained in memory as needed.

The root segment in FoxPro 2.0 is reduced to approximately 280K, which makes much more usable memory (on the order of 200K) available to the FoxPro memory manager. This is particularly valuable in the LAN version of FoxPro.

Performance is Improved

The virtual memory system improves performance in several respects. In addition to increasing available general purpose memory and the intelligent and extremely fast segment management, critical code that previously had to be stored in the root can now be relegated to segments because segments can be loaded so much faster.

Top   Home  TOC

If you have any information that can help us to compile this history, please, send us a message. Thanks!