|
| |
|
|
|
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:
-
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
- ADO: Queries and Stored Procedures (Database application architecture elements)
- Queries
- 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
|
|
|
|
| |
|