Borland C++Builder 4 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 4 Application Development Course Manual Contents
C++Builder Overview
The Borland Database Engine (BDE)
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
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
Object Repository
Form Inheritance
Component Templates
Database Table Access
Database Form Wizard
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
Helping To Preventing Paradox And dBASE Data Loss
Database Queries
Parameterised SQL
Nested Queries
Exercise
Other Data Access Topics
The TDatabase Component
Customising Login Dialogs For RDBMS Connections
Getting A Value From The User
Formatting Strings Using Templates
Session Aliases
Transactions
Data Modules
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
Event Handlers By Hand
Events Are Properties
Status Line Hints
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
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
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...