Coogara Consulting
Home
Trainingv
Training Schedule
Training Rates
Books
Apps
About
Contact

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