Fox Pro Boot Camp Session1

20
History of FoxPro 1984 (December) Fox Software releases FoxBASE., This was a dBASE II work-alike 1985 Fox Software releases Multi-User FoxBase. Also a dBASE II work-alike but with primitive multi-user features 1986 Fox Software releases FoxBASE+ MSDOS. A dBASE III Plus work-alike that helped put Fox Software on the map 1986-1987 Ashton-Tate Attempts to Acquire Fox Software. 1987 FoxBASE+/Mac. This first Macintosh product of Fox Software's captured a majority the Mac database market within a few months of its release. It could be viewed as an initial design study for the first MSDOS version of FoxPro in 1989-90.

description

Part of a course I wrote some time ago.

Transcript of Fox Pro Boot Camp Session1

Page 1: Fox Pro Boot Camp Session1

History of FoxPro• 1984 (December) Fox Software releases FoxBASE., This was a

dBASE II work-alike

• 1985 Fox Software releases Multi-User FoxBase. Also a dBASE II work-alike but with primitive multi-user features

• 1986 Fox Software releases FoxBASE+ MSDOS. A dBASE III Plus work-alike that helped put Fox Software on the map

• 1986-1987 Ashton-Tate Attempts to Acquire Fox Software.

• 1987 FoxBASE+/Mac. This first Macintosh product of Fox Software's captured a majority the Mac database market within a few months of its release. It could be viewed as an initial design study for the first MSDOS version of FoxPro in 1989-90.

Page 2: Fox Pro Boot Camp Session1

• 1987 (June) FoxBASE+ fox SCO Xenix is released.

• 1988 (September) Ashton-Tate sues Fox Software. In december 1990 the suit filed by Ashton-Tate against Fox Software and Santa Cruz Operations for alleged copyright infringement of the dBASE language is dismissed in court (see Ashton-Tate Sues Fox Software).

• 1988 FoxBASE+ for the Macintosh is the first cross-platform xBase tool.

• 1989 FoxPro 1989 1.0 MSDOS. This product supported a superset of the dBASE IV language but an entirely new interface most similar to that of FoxBASE+/Mac. This interface has persisted both in the character-oriented MSDOS world and, in graphic form, in both the present-day Windows and Macintosh products.

• 1990 FoxDoc starts to ship with FoxPro. It was basically a repainted SNAP! (source code documentor developed by Walter Kennamer), wich Fox Software had bought

Page 3: Fox Pro Boot Camp Session1

• 1990 FoxPro 1.01, 1.02 and 1.03 Bug fixes

• 1991 (July) FoxPro 2.0 Rushmore™ query technology allows for blazingly fast querying performance. FoxPro 2.0 also introduces a graphical Screen Builder and Report Builder and integrated SOL support.

1991 FoxPro 2.0 MSDOS. This version of FoxPro should be mentioned separately from the 1989 version because it is the first one that incorporated SQL and the Rushmore Technology. The first versions of FoxPro basically incorporated the FoxBASE+ engine under the hood and it wasn't until FoxPro 2.0 that the full flowering of Fox's reputation for stellar performance occurred. FoxPro 2.0 also introduces a graphical Screen Builder and Report Builder.

1992 (June) Microsoft merged with Fox Software in a $173M operation

• 1993 (January) First Windows version of FoxPro 2.5, Distribution kit available for creating Windows EXEs. It might be noted in passing that FoxPro for Windows was essentially complete at the time of Fox's acquisition by Microsoft in June of 1992 and was released a few months later

Page 4: Fox Pro Boot Camp Session1

• 1993 FoxPro 2.6 for Macintosh is released.

1993 FoxPro 2.6 for Unix is released.

• 1993 (June) FoxPro 2.5a, International language support (and multi-line Wait Windows)

1993 (September) FoxPro 2.5b, International language support Added Greek, Polish, Icelandic, & Czech support

• 1994 (March) FoxPro 2.6, Better dBASE compatibility (over 50 commands enhanced for dBASE) Catalog Manager, more Wizards, codepages and collating sequences.

• 1994 (August) FoxPro 2.6a, Better dBASE compatibility (over 50 commands enhanced for dBASE) Catalog Manager, more Wizards, true Null support

Page 5: Fox Pro Boot Camp Session1

• 1995 Dave Fulton retires from Microsoft

• 1995 (June) Visual FoxPro 3.0, FoxPro evolves from a procedural language to an object-oriented language . Visual FoxPro 3.0 introduces a database container, seamless client/server capabilities, support for ActiveX™ technologies, and OLE Automation and null support. Its prerelease codename was Taz.

1995 Visual FoxPro 3.0 for Macintosh is released. Its prerelease codename was Speedy

• 1996 There was never a released version called VFP 4.0. What started out to be VFP 4.0 in the beta process ended up becoming VFP 5.0 as Microsoft decided to synchronize the version numbers for VB, VC++ and VFP, when it went into Visual Studio. Its prerelease codename was Renard.

• 1996 (October) Visual FoxPro 5.0 adds improved support for ActiveX, COM component creation, a radically new debugger, integration with the Visual SourceSafe™ version control system and the ability to create Visual FoxPro - based Web applications. Its prerelease codename was RoadRunner.

Page 6: Fox Pro Boot Camp Session1

• 1997 (October) Visual FoxPro 5.0a ships

• 1997 Visual FoxPro ships as part of Visual Studio 97

• 1998 (May, 18) Visual FoxPro 6.0 is released. Its prerelease codename was Tahoe.

• 1998 Andrew Forber develops a Divide by Zero patch for FPW 2.x

• 1998 (September) Microsoft releases Divide by Zero patch for FPW 2.6a

• 1999 (July) MS announced that support for FoxPro 2.x would be discontinued in six months. But it was supported all the way to Jan/Feb 2000, and gave help with Y2K issues in December.

• 1999 (December) Microsoft releases FoxPro patch for fast PCs (file that updates the FoxPro for Windows version 2.6a development environment and run time to eliminate startup errors encountered on computers operating at clock speeds of about 333 MHz and faster). See PATCH: FoxPro 2.6a Patch Files for FoxPro 2.6 and PATCH: Patch_26.exe Fixes Divide by Zero Error on Fast Computers

Page 7: Fox Pro Boot Camp Session1

• 2001 (June, 27) Visual FoxPro 7.0 is released. Its prerelease codename was Sedona.

• 2003 (February, 1) Visual FoxPro 8.0. Its prerelease codename was Toledo.

Page 8: Fox Pro Boot Camp Session1

Rushmore Technology - The Heart of The FoxWhat Is Rushmore

Rushmore is a data access technique that permits sets of records to be accessed very efficiently. Rushmore query optimization uses indexes efficiently to quickly find a set of records. It is used on queries that involve restrictions on multiple-indexed fields. Rushmore is an exclusive technology for rapidly selecting sets of records from tables. It can reduce query response times from hours or minutes to seconds.

The legendary data access performance in FoxPro stems from its Rushmore query optimization and use of fixed length storage of data. Rushmore creates bit-mapped indexes that allow the engine to very quickly determine whether each row in a table meets a criteria and should therefore be included in a query's result set. Fixed width storage of data ensures that a field will be in the same location from row to row, making that field easier to locate.

Starting with the Rushmore query technology in the Visual FoxPro 2.0 release, FoxPro's primary attraction has been its fast data engine. It doesn't seem to have lost that edge over the years: posted reports on the newsgroups claim the new release of Visual FoxPro is twice as fast as SQL Server, for 50 users or less.

Page 9: Fox Pro Boot Camp Session1

Why This Technology is Named Rushmore

The Fox Software design team came up with the "code-name" Rushmore after spending a night watching the Alfred Hitchcock's movie "North by Northwest".

"North by Northwest" (1959) is an Alfred Hitchcock classic, suspenseful comic thriller - one of the most entertaining movies ever made and one of his most famous suspense/mystery stories.

The film's theme includes elements typical of many Hitchcock films (especially "The 39 Steps" (1935) and "Saboteur" (1942)) - predominantly the themes of mistaken identity for the innocent ordinary hero, false pretenses and survival in 20th Century America.

A light-hearted and complacent hero/bystander (Cary Grant in the role of Roger Thornhill, a Manhattan advertising executive), totally vulnerable, isolated and victimized (and mistaken for a government agent by a group of spies), is on-the-run as a murder suspect (framed for murder at the UN), and pursued (across the US) by a seeming conspiratorial group of spies, the police, and the FBI. The American is eventually forced to assume another man's identity, while confronted with murder, mayhem, a world of spies and counterspies, a domineering mother, and an untrustworthy lover. His final salvation occurs on the Presidential faces carved on Mount Rushmore.

The original title was "The Man In Lincoln's Nose", which was replaced by a reference to a line from William Shakespeare’s "Hamlet" (in which Hamlet says, "I am but mad north-north-west.").

Page 10: Fox Pro Boot Camp Session1

Understanding Rushmore Technology

Rushmore technology is a data access technique that uses standard Visual FoxPro indexes to optimize access to data. You can use Rushmore with any Visual FoxPro index, including FoxPro 1.x (.idx) indexes, compact (.idx) indexes, and compound (.cdx) indexes.

Both .cdx and compact .idx indexes use a compression technique that produces indexes as small as one-sixth the size of uncompressed old-format indexes. Visual FoxPro can process a compressed index faster because it requires less disk access, and because more of the index can be buffered in memory. Although Rushmore, like other file access techniques, benefits from the smaller size of compact indexes, it also functions very well with indexes in older formats.

When Visual FoxPro processes very large tables on computers with only the minimum amount of RAM, Rushmore might not find sufficient memory to operate. In that case, Visual FoxPro might display a warning message (“Not enough memory for optimization”). Although your program will function correctly and without losing any data, the query will not benefit from Rushmore optimization.

In its simplest form, Rushmore speeds the performance of single-table commands using FOR clauses that specify sets of records in terms of existing indexes. Also, Rushmore can speed the operation of certain commands such as LOCATE and INDEX.

Visual FoxPro SQL commands use Rushmore as a basic tool in multi-table query optimization, using existing indexes and even creating new ad-hoc indexes to speed queries.

Page 11: Fox Pro Boot Camp Session1

Desktop

• Upon starting VFP without clicking on a application file. The screen that will be seen is here from version 9.

• Wizards are easily accessible from here.

Page 12: Fox Pro Boot Camp Session1
Page 13: Fox Pro Boot Camp Session1

WizardsWizards• Application Wizard

Allows you to create a project and a Visual FoxPro Enhanced Application Framework and then opens the Application builder, so you can add a database, tables, forms, or reports you have created already.

• Cross-Tab Wizard Allows you to create a cross-tab query to summarize data from existing tables.

• Database Wizard Makes it possible for you to use predefined templates to help you create a database containing appropriate tables.

• Documenting Wizard Enables you to format and produce text files from the code in your projects and program files.

• Form Wizard Makes it easy for you to use a single table to create a form for data entry.

• Graph Wizard Allows you to create a graph from a Visual FoxPro table using Microsoft Graph.

• Import Wizard Allows you to move data into Visual FoxPro table (.dbf) files from other file formats, such as plain text, Microsoft Excel, Microsoft Word, and other files.

Page 14: Fox Pro Boot Camp Session1

• Label Wizard Allows you to create labels that you can affix to envelopes and packages or that you can use in your own custom situation.

• Local View Wizard Allows you to create views, which are customized displays of some or all information, using native Visual FoxPro data.

• Mail Merge Wizard Allows you to create either a data source, such as names or addresses, for a Microsoft Word merged document, such as a form letter, mailing labels, envelopes, or catalogs, or a text file, that can be used by any word processor.

• One-To-Many Form Wizard Allows you to create a data entry form that updates several tables from a single form.

• One-To-Many Report Wizard Allows you to create a report that groups records from a parent table with records from a child table.

• PivotTable Wizard Allows you to create interactive worksheet tables used to summarize and analyze data from existing tables.

• Query Wizard Allows you to create a query to select a group of records based on rules you specify.

Page 15: Fox Pro Boot Camp Session1

• Remote View Wizard Allows you to create views, which are customized displays of some or all information, using remote data (ODBC).

• Report Wizard Allows you to create reports using one free table or one table or view in a database.

• SQL Server Upsizing Wizard Allows you to create a SQL Server database that duplicates, as much as possible, the functionality of a Visual FoxPro database.

• Table Wizard Allows you to create tables based on typical table structures and allows you to select a table to fit your needs from a list of sample tables.

• Web Publishing Wizard Displays data from a table or view in an HTML document.

Page 16: Fox Pro Boot Camp Session1

A New Application

Page 17: Fox Pro Boot Camp Session1

Hands On

• Open up FoxPro, and hit new application. On the opening window.

Give it a name such as sample or test. Watch what windows come up, and what they say…

• Also open FoxPro Help file at this time.

• Note the options on both the Application window and the Project Manager window.

• Please explore for a few minutes.

Page 18: Fox Pro Boot Camp Session1

Lunch Break

Page 19: Fox Pro Boot Camp Session1

Working with FoxPro objects• We will be using the VFP Help File as our

textbook.• Please open the Help File.

• Please make liberal use of the “Favorites” feature of the help files.

• This is a resource with many samples and walkthoughs & HowTos.

Page 20: Fox Pro Boot Camp Session1

WalkThroughs

• Wizards

• Database Wizard in depth.

• Syntax basics

• Lab Work and subject concentrations by individual.