FoxPro 2.6 Intensive
(Microsoft Training Course: F1004) - 5 days - £2640 exc VAT

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

> 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 provides a fast track intensive week for those wishing to acquire FoxPro development skills.
> 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. Memory Variables
  20. FoxPro Functions
  21. FoxPro Expressions
  22. The BROWSE Command
  23. Structured Programming
  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. Screen Controls and Screen Sets
  36. Projects and Applications
  37. Code Snippets & Event Driven Programming
  38. Screen Design
  39. Report Generation Using Related Datafiles
  40. Advanced Screens, Screen Sets
  41. Use Of Entities, Relationships and Attributes
  42. Database Design
  43. The Design Process
  44. Rushmore Datafile Access
  45. Query By Example - SQL
  46. Project Management
  47. Applications & Executable Files
  48. Networking FoxPro
  49. Arrays
  50. Use the Screen Generator to Create Screens
  51. Create Screen Sets
  52. Modify the Screen using the Layout Options
  53. Use Code Snippets
  54. Use Options to Control the Screen Generator
  55. Use Event Driven Programming Techniques
  56. Validate Data on Entry
  57. Append and Delete Validation
  58. Advanced Screens, Screen Sets
  59. Error Handling
  60. Help Options
  61. Networking FoxPro
  62. Optimise Code
  63. SQL Programming
  64. Use and Manipulate Arrays
  65. 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
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
  • Summarize 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: Memory Variables
  • 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: Structured Programming
  • 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
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: Screen Controls and Screen Sets
  • Screen Sets
  • Screen controls
Module 36: Projects and Applications
  • Building the Project.
Module 37: Code Snippets & Event Driven Programming
  • Screen Events
  • Field Events
  • Read Events
  • Creating Standard User Entry Screens with PopUp Validation
  • Append And Delete Validation
Module 38: Screen Design
  • Push Buttons
  • Check Boxes
  • Radio Buttons
  • Popups
Module 39: Report Generation Using Related Datafiles
  • Using Memory Variables in a Report
Module 40: Advanced Screens, Screen Sets
  • Browse Window Control of a Screen Set
  • Hand Coding Menus
  • Database Implementation
Module 41: Use Of Entities, Relationships and Attributes
Module 42: Database Design
  • Eliminate Duplicate Entities
  • Eliminate Duplicate Relationships
  • Tidy the Diagram
  • Primary and Foreign Keys
Module 43: The Design Process
  • System Overview
  • Entity Descriptions
  • Entity Relationships
  • Entity Modelling
  • Primary, Secondary and Foreign Keys
  • Additional Fields
  • Field Types
  • Create the Database
  • Primary Index
  • Further Design Issues
Module 44: Rushmore Datafile Access
  • How Rushmore Changed The Way We Program
  • New Index Structures
  • Commands used with compound indexes.
  • How Rushmore Works.
Module 45: Query By Example - SQL
  • Queries Using Multiple Related Databases
Module 46: Project Management
  • Overview
  • User Requirement
  • Functional Specification
  • Database Design
  • Functional Design
  • Implementation
  • Distribution
  • Documentation
  • Support
  • Corporate Data Management
Module 47: 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 48: Networking FoxPro
  • Configuring FoxPro
  • Programming Considerations
  • Memory variables in screens
Module 49: Arrays
  • The Use of Arrays from within Screens
  • Relationships
  • One to Many Relationships
  • Cyclical Relationships
Module 50: 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
Module 51: Create Screen Sets
  • Generate a data screen with a utility toolbar
  • Add generic functions to the toolbar
Module 52: 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, eg. 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 53: Use Code Snippets
  • 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 54: 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 55: 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 56: Validate Data on Entry
  • Write routines to provide field level validation
  • Write routines to provide record level validation
Module 57: Append and Delete Validation
  • Create and use routines for adding and deleting records to maintain data integrity
Module 58: Advanced Screens, Screen Sets
  • Integrate the BROWSE window with screen sets
  • Include more than one data screen from related tables
  • Use Memory variables in data entry screens
Module 59: Error Handling
  • Trap Errors
  • Store information to aid error recovery or correction
  • Write error handling routines
Module 60: 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 61: Networking FoxPro
  • Understand FoxPro’s automatic locks
  • Consider the implications of multi-user systems and the requirement for optimistic or pessimistic locking
  • Configure FoxPro for multi-user applications
  • Use record locking and file locking functions and commands
  • Write a program using record locking techniques
Module 62: Optimise Code
  • Code commands to run with Optimised speed
  • Avoid expressions and clauses that will make a command Non Optimisable
Module 63: 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 64: Use and Manipulate Arrays
  • Set up arrays
  • Fill arrays from tables, records, queries or assign individual elements
  • Use list and popup devices
Module 65: 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
This course does not have any pre-requisites, however familiarity with a computer, mouse and simple DOS/ Windows commands are assumed.
    > 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.