FoxPro 2.6 Intensive Part I
(Microsoft Training Course: F1005) - 3 days - £1700 exc VAT

 Nov Dec Jan Feb Mar Apr May Jun Jul Aug Sep Oct 
London16 21 18 15 21 18 16  20 17 21 19  

> Target Audience
This course is designed for new or existing users of FoxPro or technical staff who will be involved in the management of a new FoxPro system. It teaches the student the skills required for xBase programming.
> Course outline
  1. Database Concepts
  2. Use FoxPro Interactively
  3. Configure FoxPro
  4. Datafile Basics
  5. View the Records in a Table
  6. Navigating a Table
  7. Datafile Analysis
  8. Create and Use Indexes
  9. Create and Use Relations
  10. Create Tables and Modify Tables
  11. Create Reports with the Report Designer
  12. Output Reports
  13. Use the Relational Query By Example
  14. Use the Application Generator
  15. Use Wizards
  16. Elementary Programming Commands
  17. Datafile Management Commands
  18. Use General Command Syntax
  19. Assign Memory Variables with the Store command
  20. FoxPro Functions
  21. FoxPro Expressions
  22. The BROWSE Command
  23. Use essential Programming Standards
  24. Procedures and Sub-routines
  25. Pass Parameters into Programs
  26. User Defined Functions
  27. Using The Debug Tools
  28. Use FoxDoc
  29. Import and Export Data
  30. Program Screen Commands
  31. Use the Screen Designer
  32. Screen Controls and Screen Sets
  33. Projects and Applications
  34. Create Menus
  35. Code Snippets & Event Driven Programming
  36. Advanced Screens
  37. Database Design
  38. Rushmore Datafile Access
  39. Query by Example - SQL
  40. Project Management
  41. Applications & Executable Files
  42. Networking FoxPro
  43. Arrays
  44. Use the Screen Generator to Create Screens
  45. Modify the Screen using the Layout Options
  46. Add code to validate fields
  47. Use Options to control the Screen Generator
  48. Use Event Driven Programming Techniques
  49. Validate Data on Entry
  50. Append and Delete Validation
  51. Error Handling
  52. Help Options
  53. Optimise Code
  54. SQL Programming
  55. Use and Manipulate Arrays
  56. Build Applications & Executable Files

Module 1: Database Concepts
  • Understand the definition of a Database
  • Why use a Database
  • Understand the benefits of the FoxPro 2.6 Database Management System.
Module 2: Use FoxPro Interactively
  • Understand the Menu layout
  • Be aware of the Command window
  • Use windows and dialogs
  • Understand the terms Database, Table, Record, Field, Index and Relation.
Module 3: Configure FoxPro
  • Change the on/off settings
  • Change the file and directory locations
  • Change the International and Miscellaneous options
  • Save the current settings to a .VUE file
  • Restore settings from an existing .VUE file.
Module 4: Datafile Basics
  • Datafile Management - Work Areas
  • The VIEW window
  • Open Tables in work areas
  • Select a particular Table.
Module 5: View the Records in a Table
  • Use the Browse option to view and modify data
  • Modify the Browse layout to see selected fields
  • Use both Browse and Change displays.
Module 6: Navigating a Table
  • Understand the record focus
  • Move to the next, previous, top, bottom or specified record
  • Search for one or more records matching specific criteria.
Module 7: Datafile Analysis
  • Count the number of records in a table that match specific criteria
  • Summate or average values in tables
  • Carry out more calculations on tables, including finding maximum and minimum values.
Module 8: Create and Use Indexes
  • Create simple ascending and descending indexes by modifying the record structure
  • Apply indexes to change the record order
  • Create complex indexes using the Modify index dialogue
  • Find and retrieve records using the index.
Module 9: Create and Use Relations
  • Establish Relational links between tables
  • Use and test a One to Many relation
  • Use and test a Many to One relation.
Module 10: Create Tables and Modify Tables
  • Set up a Database table structure
  • Set a Field list
  • Set a Filter
  • Know the Data Types and when to use them.
Module 11: Create Reports with the Report Designer
  • Create simple reports using the Quick Report option
  • Understand and Modify report layouts
  • Move and align report objects
  • Use the Text tool, Field tool, Line and Box tools to enhance the design
  • Change Fonts and Font sizes and styles
  • Include calculated fields in the report
  • Add additional group or summary bands using memory variables in a report.
Module 12: Output Reports
  • Preview report output
  • Send reports to a printer
  • Set printer options.
Module 13: Use the Relational Query By Example
  • Select input information
  • Select output information
  • Sort information
  • Summarise information
  • Group information
  • Output to screens, reports or graphs
  • Link to datafiles
  • Using Multiple Related Databases.
Module 14: Use the Application Generator
  • Walk through the steps in generating an application with the application generator
  • Run the application and be aware of the functions provided and interface issues
  • Understand its limitations, and how to enhance the application.
Module 15: Use Wizards
  • Use Wizards to create tables, reports and screens
  • Understand the limitations of Wizards
  • Modify the result of the Wizard.
Module 16: Elementary Programming Commands
  • The Xbase Command Language
  • System Configuration Commands
  • Setting the environment
  • Understand command syntax
  • Use the help screen
  • Use the command reference manual
Module 17: Datafile Management Commands
  • Use the command line to manipulate databases
  • Write a program to set up the environment, open tables, set the index order and set relationships.
Module 18: Use General Command Syntax
  • Use the SCOPE options
  • Use the FOR and WHILE clauses
  • Use field lists
  • Use Key words to modify a command.
Module 19: Assign Memory Variables with the Store command
  • Use and know the different data types
  • Use variables in commands
  • Display the values stored in variables
  • Display FoxPro memory
  • Save sets of memory variables to a file using optional wildcards and clauses
  • Restore variables from a file.
Module 20: FoxPro Functions
  • Use FoxPro Functions within FoxPro commands
  • Understand the additional scope and functionality available by using functions in commands.
Module 21: FoxPro Expressions
  • Use the FoxPro expression builder to store complex expressions into variables
  • Use the EVALUATE function to make program commands more flexible
  • Use macro substitution as the ultimate tool
  • Use referencing to enable expressions to be used where names are expected in the command syntax.
Module 22: The BROWSE Command
  • Use the browse command and key words to protect tables
  • Use key words to store browse formats so that they can be reused
  • Use field clauses to protect and validate fields
  • Include fields from other related tables
  • Use expressions to calculate or derive new columns in the Browse.
Module 23: Use essential Programming Standards
  • Write programs using conditional and code structures (IF..ENDIF DO CASE..ENDCASE)
  • Write programs using iterative code structures (DO WHILE..ENDDO FOR..ENDFOR SCAN..ENDSCAN)
  • Use the Immediate IF function.
Module 24: Procedures and Sub-routines
  • Understand the compile option
  • Store and run programs as .PRG text files
  • Store and run sub-routines using different options.
Module 25: Pass Parameters into Programs
  • Pass parameters to programs and subroutines
  • Assign Public and Private Memory Variables
  • Be aware of modular coding techniques.
Module 26: User Defined Functions
  • Write User Defined Functions (UDFs)
  • Use UDFs in FoxPro commands to extend FoxPro’s functionality
  • Change the parameter passing method for UDFs and procedures.
Module 27: Using The Debug Tools
  • Use the Debug window to check the value of variables, fields or expressions
  • Set a breakpoint against a change in value
  • Use the Trace window to follow a programs execution or to see the command that has just caused a breakpoint
  • Set a breakpoint against a command line so that program execution suspends.
Module 28: Use FoxDoc
  • Create formatted programs
  • Document program hierarchies, variable cross references etc.
Module 29: Import and Export Data
  • Copy records to new tables
  • Copy records to different file formats
  • Limit the records & fields selected for import
  • Add records from other tables
  • Add records from different file formats
  • Limit the records & fields selected for export.
Module 30: Program Screen Commands
  • Understand the commands used to program screen display and input
  • Use the Read command
  • Code a Simple Data Input screen
  • Use advanced GET and READ parameters
  • Define Windows with specified properties.
Module 31: Use the Screen Designer
  • Create a data review screen using the quick screen option
  • Generate a screen program from the screen design.
Module 32: Screen Controls and Screen Sets
  • Use a utility Toolbox to control screens Screen Sets
  • Screen controls
  • Push Buttons
  • Check Boxes
  • Radio Buttons
  • Popups.
Module 33: Projects and Applications
  • Use the Project tool to aid development
  • Understand the different components of a project
  • Add elements to a project
  • Benefit from options stored with screens as part of a screen set
  • Build a Project.
Module 34: Create Menus
  • Understand the commands to program menus
  • Use the Menu designer to generate Menu programs
  • Keyboard Short-cuts and Disabling Options
  • Integrating Menus With Procedures And Attaching Edit Screens.
Module 35: Code Snippets & Event Driven Programming
  • Screen Events
  • Field Events
  • Read Events
  • Creating Standard User Entry Screens with PopUp Validation
  • Append and Delete Validation.
Module 36: Advanced Screens
  • Screen Sets
  • Browse Window Control Of A Screen Set
  • Hand Coding Menus
  • Database Implementation
  • Use Of Entities, Relationships and Attributes
  • Include more than one data screen from related tables
  • Use Memory variables in data entry screens.
Module 37: Database Design
  • System Overview
  • Entity Descriptions
  • Entity Relationships
  • Entity Modelling
  • Primary, Secondary and Foreign Keys
  • Additional Fields
  • Field Types
  • Eliminate Duplicate Entities
  • Eliminate Duplicate Relationships
  • Tidy the Diagram
  • Create the Database
  • Primary Index
  • Further Design Issues.
Module 38: Rushmore Datafile Access
  • How Rushmore Changed The Way We Program
  • New Index Structures
  • Commands used with compound indexes
  • How Rushmore Works.
Module 39: Query by Example - SQL
  • Queries using Multiple Related Databases
Module 40: Project Management
  • Overview
  • User Requirement
  • Functional Specification
  • Database Design
  • Functional Design
  • Implementation
  • Distribution
  • Documentation
  • Support
  • Corporate Data Management.
Module 41: Applications & Executable Files
  • The Controlling READ
  • Distribution Options
  • Generating Applications
  • Modify the properties of the FoxPro icon and add the name of the application file after the FOXPROW command.
Module 42: Networking FoxPro
  • Configure FoxPro for multi-user applications
  • Programming Considerations
  • Understand FoxPro’s automatic locks
  • Consider the implications of multi-user systems and the requirement for optimistic or pessimistic locking
  • Use record locking and file locking functions and commands
  • Write a program using record locking techniques
  • Memory variables in screens.
Module 43: Arrays
  • The Use of Arrays from within Screens
  • Relationships
  • One to Many Relationships
  • Cyclical Relationships.
Module 44: Use the Screen Generator to Create Screens
  • Know when to use Push Buttons, Check Boxes, Radio Buttons, Popups, Lists and Spinners
  • Use the above devices and use options in the corresponding dialogues to modify their appearance and behaviour
  • Use text Edit regions for Memo or large Character fields
  • Use the Disable option to protect fields
  • Use the Say or Output form for read only fields
  • Avoid problems with saving the environment in a screen
  • Generate a data screen with a utility toolbar
  • Add generic functions to the toolbar.
Module 45: Modify the Screen using the Layout Options
  • Specify a name and title for the window
  • Change the default window type to a Dialog window, an Alert window or a Desktop
  • Change the default window properties, e.g. the window may or may not Minimize, Float, have borders, Close etc.
  • Set the window font options
  • Set the window background colour or pattern.
Module 46: Add code to validate fields
  • Add code to protect fields Add messages to appear in the status bar Add error messages to be displayed if field validation fails Code commands to be processed before the screen is written Code commands to be processed after the screen closes down Use popup validation for foreign keys.
Module 47: Use Options to control the Screen Generator
  • Use options to include or exclude code for opening and closing tables, defining windows, releasing windows
  • Select options to change the READ clauses
  • Select options to choose platform independent code.
Module 48: Use Event Driven Programming Techniques
  • Use the code snippets to handle specific events during the program
  • Understand the sequence of Field Events and Read Events.
Module 49: Validate Data on Entry
  • Write routines to provide field level validation
  • Write routines to provide record level validation.
Module 50: Append and Delete Validation
  • Create and use routines for adding and deleting records to maintain data integrity.
Module 51: Error Handling
  • Trap Errors
  • Store information to aid error recovery or correction.
Module 52: Help Options
  • Select Windows style or FoxPro style Help systems
  • Create a user defined help file
  • Code Context sensitive help
  • Use See Also lists in a Help topic.
Module 53: Optimise Code
  • Understand Rushmore Datafile Access
  • Code commands to run with Optimised speed
  • Avoid expressions and clauses that will make a command Non Optimisable.
Module 54: SQL Programming
  • Use the SELECT Command
  • Use options not available with RQBE
  • Optimize SQL Queries
  • Use the SQL INSERT command
  • Use the SQL CREATE TABLE command
  • Create and use temporary cursor files.
Module 55: Use and Manipulate Arrays
  • Set up arrays
  • Fill arrays from tables, records, queries or assign individual elements
  • Use list and popup devices.
Module 56: Build Applications & Executable Files
  • The Controlling READ
  • Distribution Options
  • Use the project management tools to assist the development cycle
  • Generating Applications
  • Modify the properties of the FoxPro icon
  • Generate Executable files from a project using the FoxPro Distribution Kit.
> Pre-Requisites
    > Purpose
    The overall aim of the course is to provide the delegate with the experience and knowledge required to design, develop, implement, manage and maintain a multi-user FoxPro system. By the end of the course, delegates will have created a system using the FoxPro approach to programming