Borland Delphi 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.

Delphi 6 Application Development Course Manual Contents

Delphi Overview

Versions Of Delphi

Delphi Database Access

The Borland Database Engine (BDE)
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



Making Event Handlers

Naming Conventions

Setting Up The UI

Setting Up The Code

Online Help

Testing The Program

Code Completion
Code Parameters


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

Integer 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


Structure Of A Delphi Program

The Project File (.DPR)

Pascal Unit (.PAS)

Moving Projects To Other Locations

Files Generated By A Delphi Project

The Structure Of A Delphi Unit


Comments And Compiler Directives


Compiler Directives

Compiler Switch Directives
Parameter Directives
Conditional Compiler Directives


Procedures And Functions

Overloaded Subroutines

Default Parameter Values

Parameter Passing Conventions

Passing Parameters By Value
Passing Parameters By Reference (var Parameters)
Const Parameters

IDE Facilities

Project Desktops

Global Desktops

Object Repository

Form Inheritance

Component Templates


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



Refreshing Multi-User Applications

Bookmarks And Scanning Records

Calculated Fields


Database Queries With The BDE

Parameterised SQL

Nested Queries


The BDE TDatabase Component

Customising Login Dialogs For RDBMS Connections

Getting A Value From The User
Formatting Strings Using Templates

Session Aliases


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








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/except Statements

Differentiating Between Exceptions
Chaining Back To The Old Exception Handler

Raising 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


Static Typecasting
Dynamic Typecasting, Using The "As" Operator
"Is" And "As" Doing Their Thing
Don't Use "Is" And "As" Together

The Tag Property

Dynamic Object Creation

Creating Component Objects

Component Ownership
Locating A Component's Implementation Unit
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




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

Defining Classes

Code Templates
Abstract Methods
Class Completion
Module Navigation
Implementing Inherited Classes
Instigating Polymorphism
What Polymorphism Means To The Compiler
Building A Test Harness For The Objects
Constructors And Destructors

Project Browser

Looking At A Class Hierarchy

Examining The Contents Of A Class

Finding All References To A Symbol

Tooltip Symbol Insight And Code Browser

Localised Inheritance

Unit Analysis

Using Delphi's Debugger


Breakpoints With Conditions And Pass Counts

Watch Expressions

Tooltip Expression Evaluation

Debug Inspectors

What If? Scenarios

Program Execution

Call Stack

And Finally...