| Chapter 01. A Tour of C++Builder
The defintion of C++Builder
The C++Builder Environment
The C++Builder Menu System
C++Builder Tools, including the Object Inspector and the
Form Designer
Code Insight
How to configure your C++Builder environment
Installing your own tools within C++Builder
Chapter 02. Projects, Source and Forms Files
What makes up a project in C++Builder
How to invoke and use the Project Manager
The basic file types used by C++Builder
How units and forms are related
The CPP file
The DFM file
How to set project options
The steps involved in compiling and linking a C++Builder
project
Chapter 03. Form Designer
Two-way tools and their use
An example of two-way tools
Configuring the Form Designer
Visible vs non-visible components
Creating a simple form
Adding components to a form
Moving and resizing components on a form
Using the Object Inspector to set properties
Programming events with the Object Inspector
Setting Properties
Event handlers and how they are used
A simple example of a form
Chapter 04. Component Sampler
Creating Coolbars, Pagescrollers, ImageLists, and
Toolbars with Toolbuttons
Showing messages on a StatusBar
Using the PageControl with Tabsheets to display loads of
information
Learning the use of a ScrollBox
Manipulating RadioGroups
Changing Font and Colour with invisible dialogues
Create an animation screen using common Windows AVI animation
Navigating the MonthCalendar component
Chapter 05. Menus
Menu characteristics
The insertion point
Creating menu breaks
Cascading sub-menus
Shortcut keys
Menu toggles
Menu Images
Menu Templates
Menu Designers
Chapter 06. The C++ Language
How to create simple C++Builder programs as exercises
in C++
The fundamental control elements in C++, including logical
and mathematical operators, decision structures, and looping controls
The data types that are available in C++, including numeric,
string. Boolean, and user-defined types
The facilities in C++ to create complex data structures,
including arrays, sets, and structs
Chapter 07. Program Structure and Scoping
The new keywords C++Builder adds bto C++
New class scoping options in C++Builder
How to create properties in C++Builder
The definition of the _fastcall modifier
How C++Builder includes DFM resources in projects
New Classes created by C++Builder to accomodate VCL
How to use open arrays in C++Builder
How to use arrays of const in C++Builder
How to handle VCL exceptions
How to re-throw VCL exceptions
How to create your own custom VCL exceptions
Chapter 08. Object Oriented Programming in C++Builder
A brief history of programming methods
An explanation of structured programming
An explanation of modular programming
The definition of object-oriented programming
Abstraction
Encapsulation
Inheritance
Polymorphism
How object-oriented programming is implemented in C++Builder
Chapter 09. Advanced OOP
Polymorphism
Method Overloading
Typecasting methods and their uses
Chapter 10. VCL Application Framework
A short history of the Visual Component Library
The distinction between components and objects
Th definition of Run-time type identification
A quick look at the VCL hierarchy
How to type cast VCL objects
Information about the "VCL" helper objects:
TStringList
TList
TCanvas
TPrinter
TINIFile
TRegistry
TRegINIFile
Chapter 11. Using the Debugger
The features of the C++Builder Debugger
That debugging is not a "spectator sport"
How to configure C++Builder to include debugging information
How to use compiler directives to localize debugging options
The distinction between Step Over and Trace Into
How to set watches in C++Builder
How to set breakpoints in C++Builder
How to use inspectors in C++Builder
How to evaluate and change variable values in C++Builder
How to view the call stack in C++Builder
Some general debugging strategies
Chapter 12. Exceptions in C++Builder
Traditional error handling strategies
Using exceptions to handle errors
Syntax and usage of the try.._finally block
The try.._finally block for resource protection
(the "encapsulation operator")
Syntax and usage of the try..catch block
How to re-raise an exception that C++Builder has already
handled
How to create user-defined exceptions
How to raise and exception, manually
Chapter 13. Templates and the Object Repository
Creating fom and project templates
General Rules of template design
Use option for templates
Copy optons for templates
Inherit option for templates
Chapter 14. Event Driven Programming
Event Driven Programming (EDP) and why it is so
important to Windows programming
User and System events
The Order of Events
Implementation of Drag and Drop
The Show and ShowModal methods
Border styles
Chapter 15. Borland Database Engine Overview
The component pieces of the Borland Database Engine
Integration of database access methods
Using the BDE Administrator Utility
The difference between tables and databases
Using the BDEAdmin to create a pseudo-database
Installation of the BDE
Chapter 16. Using the SQL Explorer
Creating Aliases
Viewing Data
Manipulating Data with SQL Statements
Chapter 17. Creating Database Applications
C++Builder's model for database access
How to use Table and DataSource components
How to use data-aware components
How to create a simple data entry and database browser
How to create a master/detail form
Chapter 18. Using Database Experts
When to use Database Wizards and how they can help
you
How to invoke the Database Form Wizard
How to use the Database Form Wizard to create a simple data
entry form
How to use Data Modules in your application
How to use the Form Wizard to create a master/detail from |
Chapter 18. Using Database
Experts
When to use Database Wizards and how they can help
you
How to invoke the Database Form Wizard
How to use the Database Form Wizard to create a simple data
entry form
How to use Data Modules in your application
How to use the Form Wizard to create a master/detail from
Chapter 19. Using TField Objects
The definition of fields
How to change a field's description
How to remove a field from Grids and Tables
Formatting fields
Making calculated fields
Lookup fields
Validation field data
Chapter 20. Manipulating Datasets
Data Navigation
Filtering data with SetRangeStart and SetRangeEnd
Filtering data with the Filter property
Finding records
Bookmarking records
Providing default values
Chapter 21. Migrating to Client/Server
Converting an existing desktop database application
to a client/server application using the Data Migration Wizard (Data
Pump)
Accesssing server-specific features within an application
Changing DFM, H and CPP files for proper functioning within
a client/server environment
Chapter 22. Using the SQL Monitor
Using the SQL Monitor to view the SQL Log
Setting the Trace Options
Saving the SQL Log
Chapter 23. Using TQuery Components
Writing SQL
How to Open and Prepare a Query
Rules for live result sets
Parameters in queries
Adding and Assigning Query parameters
Using Locate in a query
Inserting new records
Open vs ExecSQL
The SQL Builder
Chapter 24. Using TDatabase Components
Configuring the TDatabase component
Replacing the BDE Alias
Using the TDatabase Component Editor
Names and Drivers
TDatabase Parameters
Maintaining aliases with the TINIFile component
TDatabase and Client/Server
Chapter 25. User Interface Techniques I
How to create splash screens
How to create SDI applications
The best way to create and destroy forms
How to control Windows cursors
How to implement standard status lines
Chapter 26. User Interface Techniques II
How to create MIDI applications
The distinction between fsMDIForm and fsMDIChild
How to control form instances
How to implement a standard Windows Window menu
How to merge MDI menus
How to prevent application shutdown
Chapter 27. Advanced C++
The details concerning class scoping
Private class scope
Protected class scope
Public class scope
_published class scope
Automated class scope
How to define properties
Chapter 28. Advanced TDatasets
Implementing Database Transactions
Setting up Cached Updates
Handling Cached Updates across multiple datasets
The Use of TUpdateSQL components
The State property for datasets
Chapter 29. Advanced Exception Handling Techniques
How exceptions work in an event driven environment
How to use the exception instance object
How to raise a silent exception
How to handle exceptions at the application level
How to handle database errors
How to handle database engine errors
How to create exceptions on a database server
How to handle database server exceptions
Chapter 30. Packages
What a package is and the advantages to using them
What are Contains and Requires clauses
The rules packages must follow
How to create, edit, compile, and install packages
The distribution options for using packages
AppendixA. QuickReports
How to create a new report using a form
What are the types of QRBands and how to use them
How to add static information
How to add data to our report
The different types of System Information and how to use
it
How to create calculated values
AppendixB. InstallShield Express
InstallShield Express' user interface
What groups, components, and setup types are and planning
how they fit together
What directory specifiers are and how they are used
How to set the visual design of the installation project
using basic information about the application
Using InstallShield Express to specify which files belong
in which groups and which groups belong to which components
Deciding which components to include in the available setup
types
The available user interface components and how they are
used
How to add and use necessary C++Builder files in the application
How to specify folders and icons for the application
How to use Install Shield Express' disk builder
How to test the setup project
Creating distribution media
AppendixC. Local InterBase
The deifnition and mental model for client/server
applications
High-end database server features, such as security, triggers,
and stopred procedures
How InterBase with C++Builder 4 Enterprise differs from InterBase
that comes with C++Builder 4 Professional
Running the InterBase Interactive SQL program, and how to
connect to a database and make a new query
Referencing InterBase as a TDataSet with C++Builder
AppendixD. DLLs and the Windows API
The advantage for using Dynamic Link Libraries (DLLs)
How to create DLLs
The two ways of oading a DLL
Calling API routines
What handles are anmd the Handle property for several C++Builder
components
The difference between Strings and PChars
AppendixE. Threading
Uses for Multi-Threading and thread safety
How to create and manipulate thread objects in C++Builder
How to update Visual Displays from Threads using the Synchronize
method
How to terminate a thread
AppendixF. Run-Time Component Creation
The uses for run-time component creation
Testing components before installing them
Basing component creation on data that is only available
at run-time
How to create components at run-time
The distinction between the Owner and Parent properties
An example of a data driven user interface
|