[comp.databases] Press releases from Fox Software re: FoxPro 2.0

pew@cs.brown.edu (Peter E. Wagner) (06/13/91)

The following is a series (13) of press releases regarding FoxPro 2.0.
I thought people here might be interested.  FoxPro 2.0 is supposed to
ship by the end of the month.  I've heard 6/21, but we all know how
these things go :).

============================================================================
============================================================================
                            About Fox Software

FoxPro 2.0 is the latest in a line of high-performance PC database
management systems from Fox Software. Working with data files and
applications created by earlier version of FoxPro, FoxBASE+, FoxBASE+/Mac
and SCO FoxBASE+ under Xenix and UNIX, users have cross-platform
compatibility while protecting their investments in information, hardware,
training and support.

For the future, versions of FoxPro for Windows, the Apple Macintosh, and
UNIX/Xenix are under development, with a Fox client/server solution planned
for 1992 to further extend the power and scope of this new technology.

Earlier releases of Fox DBMS software have consistently won industry-wide
recognition for superior performance, extended functionality and
compatibility, ever since the release of Fox's first product in 1984.

FoxPro 1.02, FoxBASE+ and FoxBASE+/Mac have all received universal acclaim
from reviewers, software developers and end-users. Awards garnered include
several "Editor's Choice" honors, InfoWorld's "Product of the Year," LAN
Times' "Recommended" citation and a variety of "Best DBMS," "Ten Best," and
many other awards.
FoxPro 2.0 is strongly based on this long history of successful delivery of
high technology to the business community and has already received a
glowing review in BYTE Magazine.

Fox Software is a privately-held corporation headquartered in Perrysburg,
Ohio. Worldwide operations are supported by international offices in the
United Kingdom and Germany, with local distribution in the rest of Europe
and the Pacific Rim.

                                   # # #

FoxPro, FoxPro/Mac, FoxPro/LAN, Rushmore, FoxBASE+, FoxBASE+/386,
FoxBASE+/LAN, FoxBASE+/Mac, FoxBASE+/Mac Multi-User, FoxGraph, FoxCode,
FoxView, FoxGen, and FoxDoc are trademarks of Fox Holdings, Inc. Macintosh
is a registered trademark of Apple Computer Inc. Other trademarks are
registered to their respective trademark holders.

============================================================================
============================================================================
    	    	    PRESS RELEASES FOLLOW
============================================================================
============================================================================


          OPEN ARCHITECTURE AND API BROADENS FOXPRO 2.0 HORIZONS
                                     
                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


FOR IMMEDIATE RELEASE

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.



============================================================================
============================================================================

  ENHANCED PERFORMANCE EXTENDED MODE VERSION OF FOXPRO 2.0 INCLUDED AT NO
                                EXTRA COST

      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


FOR IMMEDIATE RELEASE

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:

     *    String variable length is limited only by memory, compared to the
          standard mode's already liberal 64K length limit. This is
          particularly important in applying all string functions to memo
          fields loaded into string variables.

     *    The system now supports 65 thousand memory variables, a very
          substantial increase which permits development of extremely
          complex applications.

     *    Each FoxPro array can store 65 thousand elements. Each array uses
          only one memory variable slot.


           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.


============================================================================
============================================================================

  FAST, COMPACT NEW COMPOUND INDEXING TECHNOLOGY INTRODUCED IN FOXPRO 2.0
                                     
 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


FOR IMMEDIATE RELEASE

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.


============================================================================
============================================================================

 MULTI-USER NETWORK VERSION OF FOXPRO 2.0 IMPROVED FOR FASTER PERFORMANCE

         FoxPro/LAN Requires Less Memory, Reduces Network Traffic
                                     
               Interoperability For Flexible Mixed Networks


FOR IMMEDIATE RELEASE

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:

     *    Virtual Memory Manager and Segment Loader eliminate cumbersome
          overlays, and manage efficient segments intelligently and at very
          high speed. Network traffic is reduced substantially.

     *    FoxPro/LAN 2.0's smaller memory footprint is especially
          significant in a network environment, where large network drivers
          occupy large portions of memory.

     *    FoxPro 2.0's completely integrated SQL INSERT adds data in one
          step, instead of multiple steps in procedural methods. INSERT
          requires fewer time-consuming record locks.

     *    Rushmore query optimization greatly reduces network traffic, even
          on massive datasets.

     *    Compound Indexes reduce the number of locks required. Updating
          even a large number of index tags requires only one lock rather
          than one for each individual index.

     *    Compact Indexing system creates smaller and more efficient
          indexes, and reduces network traffic.


  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.


============================================================================
============================================================================

    FOXPRO 2.0 INCLUDES EXTENSIVE LANGUAGE ENHANCEMENTS, NEW INTERFACE
              CAPABILITIES, MAJOR NEW AND ENHANCED SUBSYSTEMS

    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


FOR IMMEDIATE RELEASE

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
     SYLK  Symbolic 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:

     *    A new Selection Marquee selects multiple objects with either
          mouse or keyboard. The marquee surrounds a group of objects with
          an outline, after which operations can be performed on all the
          selected objects.
     
     *    Users can now open as many Layout windows as memory permits. This
          makes cutting, copying and pasting objects between report
          definitions fast and easy.
     
     *    GROUP and UNGROUP options have been added, which allows users to
          manipulate a complex collection of objects as a single object.
     
     *    Users can add and remove lines in bands by stretching the bands
          with the mouse.
     
     *    New Report Variables capability creates variables associated with
          a report. These variables permit elaborate calculations to made
          within a report and may be retained for later processing.
     
     *    Improved handling of group printing adds control of whether a
          group will print at the bottom of a page, an option to reprint
          the header of a group that spans more than one page and resetting
          the page number at a group break.


         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:

     *    Name Expressions - Name expressions allow users to store a name
          to a memory variable, then refer to the memory variable in a
          command or function. This is significantly faster than macro
          substitution.
     
     *    Logical Operators - The logical operators AND, OR and NOT no
          longer need to be surrounded by two periods. This saves
          keystrokes and is more intuitive for beginning users.
     
     *    @ SAY/GET has been greatly enhanced with a variety of new
          clauses. Among the new features: DISABLED prevents an item from
          being selected, and displays it `greyed out'; SHOW GET[S]
          redisplays a GET field after updating in VALID, WHEN, ON KEY,
          etc. routines; CYCLE doesn't terminate a GET on the last field,
          instead starting again at the first GET field; and OBJECT
          specifies which GET object is entered when a READ is issued.
     
     *    FoxBASE+/Mac type objects - text edit regions, text buttons,
          radio buttons and check boxes - are now supported in FoxPro 2.0.
          Language syntax is almost identical to that of FoxBASE+/Mac. In
          addition to programming the creation and use of such objects,
          they can be created without programming via the new FoxPro Screen
          Builder.
     
     *    ARRAY FUNCTIONS - FoxPro 2.0 adds a comprehensive array of
          functions to manipulate arrays, including ACOPY(), ADEL(),
          AELEMENT(), AINS(), AFIELD(), ADIR(), ASCAN(), ALEN(), ASORT(),
          and ASUBSCRIPT(). In addition to these new functions, entire
          arrays can be passed by reference, a potent enhancement for
          advanced programmers.
     
     *    DEFINE MENU, DEFINE PAD, DEFINE POPUP, DEFINE BAR, ON BAR, ON
          PAD, ON SELECTION, ACTIVATE MENU, and ACTIVATE POPUP have been
          significantly enhanced. Twenty-three new commands and functions
          have been added to the arsenal of menuing tools. Users may
          control the pads that appear in the System menu bar and the
          options appearing in System popups.
     
     *    DEFINE WINDOW adds a FOOTER clause to display a footer centered
          at the bottom of the window. A FILL clause permits filling the
          window with a specified character.
     
     *    LABEL and REPORT add a PREVIEW clause which sends a
          representation of the labels or report to the screen for content
          and layout checking prior to printing.
     
     *    PACK now removes unused blank space in FoxPro memo fields as well
          as records marked for deletion in a data file, reducing disk
          storage required.
     
     *    SET SKIP TO is available in FoxPro 2.0 to create one-to-many
          relationships between databases.
     
     *    LOOKUP() is available to make relational lookups simple and fast.

     *    USE AGAIN allows a database file to be opened simultaneously in
          multiple work areas.
     
     *    ZOOM WINDOW changes the size of system and user-defined windows.
          Windows may be reduced to a one line by sixteen character `icon'
          displaying only the name or title of the window, enlarged to fill
          the entire screen, or anything in between. MIN, MAX, NORM, AT,
          FROM, SIZE and TO clauses provide complete control over window
          size and location.
     
     *    WCHILD and WPARENT functions assist in development of complex
          windowing user interfaces by returning the number of child
          windows and the name of a parent window, respectively.


                 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.


============================================================================
============================================================================

  FOXPRO MENUING SYSTEM ENHANCED FOR EXCEPTIONAL FLEXIBILITY AND CONTROL

 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


FOR IMMEDIATE RELEASE

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.


============================================================================
============================================================================

      NEW PROJECT MANAGER IN FOXPRO 2.0 UNIFIES APPLICATION ELEMENTS

Developers Gain Control Over All Aspects of Application Development Process
                                     
        Project Manager Creates Applications Or Two Types of EXE's


FOR IMMEDIATE RELEASE

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."

============================================================================
============================================================================

  FOXPRO 2.0 RELATIONALITY ENHANCED WITH NEW FOURTH GENERATION TOOLS FOR
    SUPERIOR RELATIONAL DATA ENTRY, RELATIONAL QUERYING AND RELATIONAL
                                 REPORTING

     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


FOR IMMEDIATE RELEASE

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:


                       Total
                        Time      Ratio Vs.
     Product          (Secs)     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!

*  NOTE: Oracle licensing provisions prohibit publishing of benchmarks of
   Oracle performance. In these tests, Oracle performed much slower than
   any other product tested.


              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 <workarea> 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.


============================================================================
============================================================================

  REVOLUTIONARY NEW RUSHMORE(tm) QUERY OPTIMIZATION AND ACCESS TECHNOLOGY
             PROVIDES STARTLING SPEED INCREASES IN FOXPRO 2.0
                                     
        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


FOR IMMEDIATE RELEASE

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!"


============================================================================
============================================================================

    EASY SCREEN DESIGN, FASTER APPLICATION DEVELOPMENT WITH NEW FOURTH
                  GENERATION SCREEN BUILDER IN FOXPRO 2.0

  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


FOR IMMEDIATE RELEASE

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:

     *    Push Buttons for initiating actions.
     
     *    Radio Buttons for selecting a single option from a set of
          options.
     
     *    Check Boxes to get information from the user (typically indicates
          the state of a parameter).
     
     *    Popups for choosing from a short list of related items.
     
     *    Lists for selecting items from a FoxPro array.
     
     *    Editable Text Regions for editing memo and character data.
         

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.


============================================================================
============================================================================

POWERFUL, EASY-TO-LEARN NEW TEMPLATE SYSTEM SPEEDS APPLICATIONS DEVELOPMENT
                               IN FOXPRO 2.0

                  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


FOR IMMEDIATE RELEASE

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.


============================================================================
============================================================================

          COST-EFFICIENT FOXPRO 2.0 REPRESENTS EXCEPTIONAL VALUE
                                     
  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


FOR IMMEDIATE RELEASE

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.


============================================================================
============================================================================

  NEW HIGH-SPEED VIRTUAL MEMORY SYSTEM IMPROVES PERFORMANCE IN FOXPRO 2.0
                                     
                    Memory Footprint is Greatly Reduced


FOR IMMEDIATE RELEASE

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.

============================================================================