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