Borland C++Builder 6 Application Development
      
      
      This is typically a five day course, although can be reduced
      to only the required topics. The content of the course
      manual is shown below.
      
      If you are interested in having this course delivered at
      your company, please contact
      Brian Long.
      
      
      
C++Builder 6 Application Development Course Manual Contents
      C++Builder Overview
      
        C++Builder Database Access
        
          The Borland Database Engine (BDE)
    dbGo
          InterBase Express (IBX)
        
        The Environment
        
          The Form Designer
          The Object Inspector
          The Code Editor
          Customising The Environment
        
        Dragging And Docking
        Useful Shortcut Keystrokes
        
          General UI Keystrokes
          Form Designer Keystrokes
          Object Inspector Keystrokes
          Editor Keystrokes
        
      
      Building A User Interface
      
        Components
        Properties
        Making Event Handlers
        Naming Conventions
        Setting Up The UI
        Setting Up The Code
        Online Help
        Testing The Program
        
          Code Completion
          Code Parameters
        
        Menus
        
          Menu Templates
        
        Implementing Exit Functionality
        An Open Dialog
       Shared Event Handlers
        The Outliner
        Exceptions - Don't Panic
        Where To Find Help
      
      Types, Constants And Variables
      
        Simple Types
        
          Ordinal Types
          Real Types
          String Types
        
        Constants And Variables
        
          Variable Definitions
          Constant Definitions
        
        More Complex Types
        
          Structured Types
          Pointer Types
          Procedural Types
          Object References And Class References
        
        Exercise
      
      Structure Of A C++Builder Program
      
        The Project File (.BPR)
        C++ Units (.CPP)
        Moving Projects To Other Locations
        Files Generated By A C++Builder Project
        The Structure Of A C++ Unit
        Exercise
      
      Comments And Compiler Directives
      
        Comments
        Pre-processor Directives
        
          Conditional Compiler Directives
        
      
      Subroutines
      
        Parameter Passing Issues
        Open Arrays
      
      IDE Facilities
      
        Project Desktops
        Global Desktops
        Object Repository
        
          Form Inheritance
        
        Component Templates
        Frames
        To Do Lists
      
      
Database Table Access With The BDE
  Tables, Data Sources And Data-Aware Controls
  Connecting To SQL Databases
  Master-Detail Relationships
  Programming With TTable Components
  Field Access
   Field By Index
    Field By Name
    Field By Object
    Field By Variant
  
  Searching For Data
   Incremental Searching
  
  Ranges
  Filters
  Refreshing Multi-User Applications
  Bookmarks And Scanning Records
  Calculated Fields
  Exercise
Database Queries With The BDE
 
  Parameterised SQL
  Nested Queries
  Exercise
The BDE TDatabase Component
 
  Customising Login Dialogs For RDBMS Connections
   Getting A Value From The User
    Formatting Strings Using Templates
  
  Session Aliases
  Transactions
  Executing Queries
Other Data Access Topics
 
  Data Modules
  dbGo For ADO
   The Connection Component
     Connection Strings
      Microsoft Data Link Files
    
    The Table Component
    The Query Component
  
  InterBase Express (IBX)
Database Support Tools
 
  Database Explorer
   Data Dictionary
  
  Database Desktop
   Creating Tables
    Query By Example
  
  BDE Administrator
   Creating Aliases
  
Global Object Variables
 
  Application
  Session
  ClipBoard
  Printer
  Mouse
  Screen
   Custom Mouse Cursors
  
More User Interface Topics
 
  Propagating Properties
  Diverting Tooltips
  Multi-Page Dialogs
   Automated Ways To Make MPDs
    Making An MPD Manually
    Parent/Child Relationships
  
  Menu Images Through An ImageList
  Actions And Action Lists
Exception Handling
 
  What The Debugger Does By Default
  What Are Exceptions?
  Looking For An Exception To Handle
  Trapping Exceptions With try/catch Blocks
   Differentiating Between Exceptions
    Chaining Back To The Old Exception Handler
  
  Throwing Exceptions
   Dataset Validation Through Exceptions
    Creating Custom Exception Types
    Silent Exceptions
  
  Disabling The IDE's Interest In Exceptions
  Application Level Exception Handling
   TApplicationEvents
  
  Trapping Specific BDE Errors
Resource Protection
 
  Exceptions And Resource Leaks
  try/__finally Statements
The Delegation Model
 
  The Sender Parameter Of Many Event Handlers
  Typecasting
   Static Typecasting
    Dynamic Typecasting
  
  The Tag Property
Dynamic Object Creation
 
  Creating Component Objects
   Component Ownership
    Locating A Component's Header File
    Displaying Visual Components
    Setting Up Event Handlers
    Events Are Properties
    Explicitly Destroying Objects And Components
    Component Names
    Object Creation Summary
  
  Creating Non-Component Objects
   Accessing INI Files With TIniFile
    Accessing The Win32 Registry With TRegIniFile
  
Multi-Form Applications
 
  Showing Other Forms
   Modeless Forms, Or Windows
    Modal Forms, Or Dialogs
  
  Resource-Friendly Multi-Form Applications
  Linked Database Cursors
Graphics Programming
 
  Using A TCanvas Object
  Making Canvas Changes Persistent
  Block Indenting Code
  A Busy Application Looks Hung
  Application->ProcessMessages() Fixes It
Object Oriented Programming Concepts
 
  Encapsulation
  Inheritance
  Polymorphism
   Compiler Specifics
  
  Putting It Into Practice
  Data Hiding
   Private Members Of A Class
    Protected Members Of A Class
    Public Members Of A Class
    Published Members Of A Class
    Properties
  
  Defining Classes
   Code Templates
    Abstract Methods
    ClassExplorer
    Instigating Polymorphism
    What Polymorphism Means To The Compiler
    Building A Test Harness For The Objects
    Constructors And Destructors
  
The Class Hierarchy Window
 
  Looking At A Class Hierarchy
  Examining The Contents Of A Class
  Code Navigation
   Tooltip Symbol Insight And Code Browser
  
Using C++Builder's Debugger
 
  Breakpoints
   Breakpoints With Conditions And Pass Counts
  
  Watch Expressions
   Tooltip Expression Evaluation
  
  Debug Inspectors
  What If? Scenarios
  Program Execution
  Call Stack
  And Finally...