SECTION I-The Interactive Use of Visual FoxPro Chapter 1: Introduction to the Tool Today's computing environment Installing and starting Visual FoxPro The Visual FoxPro interface The Command window Windows, menus, and toolbars Controls Conclusion Chapter 2: The Language Working with Visual FoxPro interactively Using the Command window The Command window context menu Building commands, functions, and expressions Commands Variables Operators Functions Expressions A Visual FoxPro command and function overview Arrays Client/Server Colors Data - Database Data - Editing Data - Fields Data - Indexes Data - Locking Data - Memo Fields Data - Navigation Data - SQL commands Data - Structure Data - Tables DateTime DDE Debugging Environment - General Environment - Disk Environment - Keyboard Environment - Monitor Environment - Network Error handling File name manipulations File information File selection File and directory writing Fonts Help Interrupts (Mouse, Keyboard, Other) International Low-level file functions Macros Math Math - Financial Math - Numeric Math - Statistical Math - Trig and Exponential Memory Miscellaneous OOP OOP - Control-specific Printing Programming - Comments Program control structures Program event handling Program subroutines Program variable scoping Project manager String functions Text merge User interface Variables VFP Visual Studio Windows/menus Obsolete commands and functions Chapter 3: The Interactive Data Engine The relational model Visual FoxPro's data structures Tables Fields Nulls Indexes Original table Index file (for order by Birth Date) Table displayed according to Birth Date index Index file Table displayed according to Sex/Name tag Indexes and Rushmore Databases .MEM files Other FoxPro files Working with data structures Manipulating tables Accessing an existing table Exclusive vs. Shared use Accessing multiple tables Closing a table Viewing the contents of a table Specifying the order of records in a table Creating indexes Creating a table and modifying the structure of an existing table Setting a filter Manipulating databases Accessing an existing database Accessing multiple databases Viewing the contents of a database Using the Database Designer Working with persistent relationships Working with table structures programmatically Modifying tables and databases programmatically Working with data Navigating through tables and finding specific data SKIP BOF(), EOF() and the Phantom Record GO SEEK RUSHMORE-revisited LOCATE Modifying data Adding records interactively Adding records programmatically Adding a batch of records from another source Deleting records interactively Deleting records programmatically Handling deleted records: recalling and packing Editing records interactively Editing records programmatically How do I save the data? Chapter 4: Visual FoxPro's SQL Implementation SELECT Sample databases Basic SELECT syntax Field lists Record subsets Aggregate functions Subtotaling-GROUP BY Multi-Table SELECTs Outer joins Controlling the result set: destination Controlling the result set: ORDER BY Controlling the result set: DISTINCT Controlling the result set: HAVING INSERT DELETE UPDATE SECTION II-Tools Needed for Building an Application Chapter 5: Creating Programs Creating a program with the editor Running a program Compiling a program Up close with the VFP editor Configuring Visual FoxPro program execution preferences Chapter 6: The VFP Project Manager Using the VFP Project Manager to build an .APP or .EXE Up close with the Project Manager The Project Manager dialog The Project Manager context menu The Project menu Tips and tricks Chapter 7: Building Menus Driving an application with a menu Using the Menu Designer to create a menu Up close with the Menu Designer The Menu Designer dialog The Menu menu The View menu The Menu-generation process Tips and tricks Adding flexibility to the Visual FoxPro Menu Designer Creating context menus So why isn't the Menu Designer OOP-ified? Chapter 8: Building Forms The big picture Terminology and tools Creating and running a form Changing form properties through user input Calling methods from objects on the form Integrating forms and data Up close with the Form Designer Form Designer Properties window Code window Form Designer toolbar Form Controls toolbar Layout toolbar Menus Tab order Include files Referencing objects Referencing objects by their full names Referencing objects by their container Indirect object references Tips and tricks Referencing generic objects Names and captions Code windows Layout Chapter 9: Native Visual FoxPro Controls The proper care and feeding of controls Focus and containers Common properties Common events Event firing Visual delineators Label control Image control Line control Shape control Page Frame control Separator control Controls to initiate action Command Button control Command Button Group control Timer control Hyperlink control Controls to manipulate data Text Box control Edit Box control Check Box control Option Group control List Box and Combo Box controls Uses of lists and combos Populating a list or combo box List Box functionality Combo box functionality Defining and returning values from a list box Spinner control Grid control Other controls Container ActiveX control and ActiveX bound control Custom class Session class Chapter 10: Using VFP's Object- Oriented Tools A quick introduction to object-oriented programming The original form and control objects Inheriting from the original Creating your own originals OOP terminology Inheritance and overriding methods Non-visual classes Where OOP fits in with Visual FoxPro Quick start to creating classes Form classes Creating your own form base class Using your own form base class Creating a form from a Form Class template Using a different form base class "on the fly" Creating form subclasses Registering a form class with Visual FoxPro Attaching a custom icon to a registered class Modifying a form class Control classes Creating your own control base class Creating control subclasses from your base class Registering your controls base class Placing controls on a form from your base class or a subclass Use the Project Manager Select the class from the Form Control toolbar Control and container classes Working with Visual FoxPro's object orientation Naming classes Adding your own properties and methods The property and method hierarchy Overriding property inheritance Overriding method inheritance Preventing a parent's method from firing Preventing an event from firing Calling a parent's method in addition to the local method Suggested base class modifications Up close with the Class Designer Up close with the Class Browser Starting the Class Browser Using the Class Browser Chapter 11: Output: The Report and Label Designers Quick start to building reports Report terminology To-may-to or tuh-mah-to? Dumbing down the Report Writer How about an example? Up close with the Report Designer The Report Designer window Select a control Select a group of controls Move a control within a report Move a control from one report to another Duplicate a control Resize a control Delete a control Change the font or other attributes of a control Resize a band The Report Controls toolbar Change the text of a label Change the internal properties of a control Create a control The Layout Controls toolbar The