Coogara Consulting
Home
Training
Training Schedule
Training Rates
About
Contact
Overview
More than 35 Chapters
More than 90 pages of review questions and exercises

See also the Advanced Delphi Training Course

Please Note
  • The course is approximately 5 days and is designed for people with little or no exposure to Delphi
  • It can be readily customised to a shorter course for more experienced programmers
  • If there are other topics you need covered don't hesitate to
  • Timer permitting, additional topics from the Advanced Delphi training course can be covered, however printed material will not be provided
  • Delphi Overview (Delphi Editions and User Interface)
    • What is Delphi?
    • What is it good for?
    • Delphi editions
    • The language
    • The environment
    • Code Insight
  • Delphi Configuration (Customising the Environment)
    • Environment options
    • Editor options
  • Hello World
    • What is a project?
    • What is a project file?
    • An all in one project
    • Better programming with units
    • Working with units
  • Delphi Projects, Files and Settings
    • What a basic project contains
    • Other file types
    • Files to keep
    • Files that can be deleted
    • Project options
    • Compiling and linking
  • Forms, Controls and Properties (Form Design Essentials)
    • What is a form?
    • The parts of a form
    • Components and controls
    • Placing controls on a form
    • Properties and events
    • Common controls
  • The Object Pascal Language (History and features)
    • History
    • Delphi
    • Language features
    • Comments
    • Capitalization
    • Statements
    • Decision and looping structures
    • Operators and types
    • Type conversions
  • User Interface Elements (Accessing application features)
    • Application access features
    • Menus
    • Toolbars
    • Dialogs
  • Units, Procedures and Functions (Keys to efficient programming)
    • Unit structure
    • Circular References
    • Procedures
    • Functions
    • Methods
    • Value, reference and constant parameters
    • Default parameters
    • Assignable typed constants
    • Scope
  • Object Oriented Programming (A primer)
    • Object Oriented Programming Principles
      • Abstraction
      • Encapsulation
      • Inheritance
      • Polymorphism
    • Classes and objects
    • Static, virtual and dynamic methods
    • Constructors and Destructors
    • Class completion
  • Debugging Programs (Power programming)
    • Project Debug Options
    • Debugger Options
    • Debug Windows
    • Debug Shortcut keys
  • Exception Handling (Errors? What errors?)
    • Traditional error handling
    • Protecting code from errors
    • Raising and re-raising exceptions
    • Identifying classes of exception
    • Global exception handler
    • Resource protection
    • Silent Exceptions
    • Defining your own exception classes
  • Visual Inheritance (Maximising reuse of visual elements)
    • Frames
    • Form inheritance
    • Object repository
  • User Interaction
    • Unexpected events
    • Showing forms:
      • Show
      • ShowModal
    • ModalResult
  • Useful User Interface Controls (Easy and powerful user interface features)
    • Page Controls
    • Radio group boxes
    • Media Player
    • Shell Controls (sample tab)
  • Core Delphi Classes, VCL and CLX (What makes Delphi tick…)
    • To CLX or not to CLX
    • Components versus objects
    • A short class hierarchy (how forms work)
    • Helper classes
    • TStringList, TList (classes unit)
    • TObjectList (contnrs unit)
    • TCanvas (graphics unit)
    • TIniFile (IniFiles unit)
  • Database Technologies (Choices and options)
    • Technology choices
    • Know your direction
    • Working with multi-tier
  • Working with the BDE (Because sometimes you have to)
    • BDE Administrator Configuration
    • Defining Aliases
    • Distribution license
    • BDE Architecture
  • Your First BDE Application (Database connectivity with tables)
    • Table access without a database
    • Why use a data source?
    • Data aware controls
    • Using a grid to display data
    • Display database fields in individual controls
    • Drag’n’drop
    • Master-detail display
  • BDE: Tables and Fields (Metadata discovery and manipulation)
    • How grids work
    • About fields
    • Persistent fields
    • Field definitions
    • Hiding fields
    • Customising fields
    • Appearance
    • Behaviour
  • BDE: Queries and Stored Procedures (Database application architecture elements)
    • Queries
      • SQL
      • RequestLive
      • DataSource
      • Params
    • SQL Builder
    • Stored Procedures
  • Advanced BDE Part 1
    • Data Modules
    • Session
    • TDatabase
    • Local Alias
  • Advanced BDE Part 2
    • Searching for records
    • Bookmarks
    • Updating queries that use joins
    • Dataset navigation
    • Filtering records
    • Dataset state
    • Easy transactions
  • Working with ADO (with Microsoft ActiveX Data Objects)
    • ADO (dbGo) component overview
    • ADO architecture
    • Connecting to ADO data stores
    • Microsoft ADO (MDAC) updates
  • Your first ADO application (Database connectivity with tables)
    • Table access without TADOConnection
    • Setting the ConnectionString
    • Why use a data source?
    • Data aware controls
    • Using a grid to display data
    • Display database fields in individual controls
    • Drag’n’Drop
    • Master-detail display
  • ADO: Tables and Fields (Metadata discovery and manipulation)
    • How grids work
    • About fields
    • Persistent fields
    • Field definitions
    • Hiding fields
    • Customising fields
      • Appearance
      • Behaviour
  • ADO: Queries and Stored Procedures (Database application architecture elements)
    • Queries
      • SQL
      • DataSource
      • Params
    • SQL Builder
    • Stored Procedures
  • Advanced ADO Part 1
    • Data Modules
    • TADOConnection
  • Advanced ADO Part 2
    • Searching for records
    • Bookmarks
    • Updating queries that use joins
    • Dataset navigation
    • Filtering records
    • Dataset state
    • Easy Transactions
  • Advanced Design Features (Smart tools, smart programs)
    • Action Lists
    • Status bar
    • Splash Screens
    • Creating and freeing forms
    • Type Casting
    • MDI Applications
    • Drag and Drop
  • Class Scoping
    • Overview of class scoping
    • Private
    • Protected
    • Public
    • Published
    • Automated
    • Properties
  • Multi-threading (Super-charging your application)
    • Threads
    • Multi-threaded applications
    • The TThread class
    • Creating threads
    • Thread priorities
    • Managing thread execution
    • VCL and thread safety
  • Dynamic component creation (Run-time power trips)
    • Recap – what is a component
    • Why create them at run-time?
    • Creating run-time components
    • Owner and Parent
  • Compiler Directives (Fine-tuning compilation)
    • What is a compiler directive
    • Types of compiler directives
    • Switch directives
    • Parameter directives
    • Conditional directives
Optional Topics

  • dbExpress (Lightweight database applications)
    • About dbExpress
    • Unidirectional limitations
    • Unidirectional features
    • Types of unidirectional datasets
    • What databases are supported
    • Connecting to a database server
    • Deployment
  • Using dbExpress (Life in a unidirectional world)
    • Overcoming unidirectional limitations
    • What is a database really?
    • The briefcase model
    • Client Datasets
    • Reconciling errors
  • DataSnap
    • DataSnap defined
    • General architecture
    • Goals of multi-tier applications
    • Client data sets revisited
    • Communication options
    • Pros/cons and alternatives
  • Dynamic Link Libraries (Creating and using DLL’s)
    • Definition of a DLL
    • Uses for DLL’s
    • Writing DLL’s
    • Calling conventions
    • Calling DLL’s
    • Static linking
    • Dynamic linking
    • Library attach/detach notification
  • Packages
    • What is a package?
    • Use a package or a DLL?
    • Types of packages
    • Creating a package
    • Package parts
    • Using packages
  • Components (A Primer)
    • Components and classes
    • Component class hierarchy
    • Creating components
    • Good component design
    • Registering components
    • Installing components