Athena

Borland Delphi 5 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 5 Application Development Course Manual Contents

Delphi Overview

Versions Of Delphi

Delphi Database Access

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

The Outliner

Shared Event Handlers

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

Exercise

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

Exercise

Comments And Compiler Directives

Comments

Compiler Directives

Compiler Switch Directives
Parameter Directives
Conditional Compiler Directives

Subroutines

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

Frames

To Do Lists

Database Table Access With The BDE

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

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

The Data Module Designer
Data Diagrams In The Data Module Designer

ADOExpress

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

ComServer

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

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, 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

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
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

Breakpoints With Conditions And Pass Counts

Watch Expressions

Tooltip Expression Evaluation

Debug Inspectors

What If? Scenarios

Program Execution

Call Stack

And Finally...