Module |
Topic Outline |
Session 1 - Creating Classes and Objects
Master the Clarion OOP paradigm and become an expert at
designing custom classes and associated objects. You'll learn all about
writing Clarion code "OOP style", and you'll know how to extend the
Clarion language to write your own classes. Know how to use ABC objects in
your projects as well as using the ABC templates to make ABC do what you
want.
The provided lab examples can be useful in modelling
real-world applications. |
- OOP Concepts
- Encapsulation
- Inheritance and derivation
- Polymorphism
- WindowManager Example
- OOP syntax
- Creating objects
- Constructors and Destructors
- Public vs. private vs. protected
- Derived classes - inheritance
- Overriding Inherited Methods
- Inheritance - multiple inheritance vs. composition
- Virtual methods
- INTERFACE and IMPLEMENTS
- Summary and Self-Test
- Flash Movies and Solutions
|
Session 2 - CLASS Design Techniques
Be able to expand the power of Clarion with the use of
properly designed classes. This lesson teaches you how to use reference
variables, the use of ANY variable types in your class design, the rules
of VIRTUAL method design, and more.
Understand the concept of code
abstraction and how to put it to work in your applications. Know other
useful language tools to use in class design. Understand how to program
with mouse detection properties, and how the EVALUATE function can help
you add new poswer to your applications. Custom templates and examples are
included! |
- Introduction to Code Abstraction
- References in Abstraction
- Use of the ANY variable
- WHAT( ), PROP:Label and PROP:Fields
- Filling a List Box Queue
- Browse Sort Techniques
- Controlling the List Box
- Some useful properties
- EVALUATE( ) before you filter
- Getting it right, "VIRTUALLY" all of the time
- List-box properties exposed
- Managing "Smart Buffering"
- Putting it all together
- Summary and Self Test
- Flash Movies
|
Session 3 - Managing the Compile
Stream
Explore the mechanisms to derive classes, both globally
and locally, and how to best use the embed tools of the IDE.
You'll
discover how to override ABC classes to extend or replace functionality.
Understand the IDE Classes tab and the learn how to create your own ABC
compliant classes. Understand the effects of embeds to derive new classes
from the standard ABC classes. Know the difference between the Embed
Editor and Embedded Source Dialog and the use of priorities. A handy
calendar example is also included! |
- The Header and Code Modules
- Placing your code into the application's compile stream
- Global level incorporation of an OOP header module
- Module level incorporation of an OOP header module
- Procedure level incorporation of an OOP header module
- Incorporating the code modules
- The value of "wrapper" templates
- The MEMBER statement
- Referencing modules with empty MEMBER statements
- Using ABC Templates to Derive Classes
- Using ABC Templates to Derive Classes
- Two Ways to Derive Classes
- Deriving Classes Using Template Tabs
- Procedure, Control and Extension Template - Classes tab
- Deriving Classes Using Embed Points
- How to Embed Source Code
- Using the Embed Editor
- Using the Embedded Source Dialog
- Embedding a code template
- Summary and Self Test
- Flash Movies
|
Session 4 - Thread-based
Programming
Understand the difference between the cooperative thread model and the
Clarion 6 pre-emptive thread model, and understand what it means to your
applications. Understand the built in template support for thread
handling. Threaded variables versus global and local variables. Know when
you need to be concerned with threaded variable handling. Discover the
language and class support for thread handling, and how to use
it.
Learn how to use NOTIFY and NOTIFICATION for safe inter-thread
communications. Learn how to safely suspend and resume threads. Discover
the use of Mutexes, Semaphores, and Critical Section thread
synchronization objects. And advanced techniques using CALL() to
dynamically load a DLL and work with its functions.
|
- Before the Clarion 6 Thread Model
- Clarion 6 Synchronization and Preemptive Threading
- When you need to synchronize
- Synchronization Objects
- Creating a Critical
Section to protect your data
- IReaderWriterLock INTERFACE - Read/Write Locking
- Template Support for Thread handling
- Global Cooperative
Threading template
- Preemptive Procedure Template
- MDI Synchronization template
- When you need thread handling
- Language and Class Support
- Summary and Self Test
- Flash Movies
|
Session 5 - Programming with
XML
Learn how to export your data to XML,
and how to import XML data into your database. Discover how when using XML
as the interchange format, you can easily import and export data from any
MS Word 2003 or Excel document! Learn how to generate RSS formatted XML
that can be used to distribute data on a web site. Explore how to display
XML data generated by your Clarion applications as formatted HTML using an
XSL file. Discover the template tools available to Import and Export XML
within your Clarion applications. Be familiar with the XML Class support
included with Clarion, and know how to access these tools when
needed.
|
- What is XML?
- ToXML/Export to XML
- From/Import From XML
- View XML
- Lab Exercise 1 - TopSpeed to XML
- Lab Exercise 2 - Importing XML Data
- Lab Exercise 3 - Interfacing with MS Office
- Lab Exercise 4 - Generating an RSS Feed
- XML to HTML (via XSL)
- Lab Exercise 5 - Custom XML via the Advanced Report Generators
- Summary and Self Test
- Flash Movies
|
Session 6 - Programming with RTF
Discover how to make full use of Clarion's support for Rich Text Format
(RTF) controls, and how to work with Rich-text. Learn the template support
for RTF that is included in Clarion, and how to make best use of it.
Explore in-depth the base methods of the Clarion RTF Classes. This session
includes a detailed walk-through of adding advanced mail merge capability
to your applications using the RTF control. Many RTF tips and techniques
are presented in this session. |
- Applications of RTF
- A Sample RTF document
- The Anatomy of RTF in Clarion
- RTFControlClass
- RTFTextControl
- RTFToolbar
- RTFStatusBar
- RTFAction
- RTF Dynamic Mail Merge Example
- Summary and Self Test
- Flash Movies
|
Session 7 - Programming with COM Start with a 50,000 foot overview of the
Component Object Model, and then learn how COM objects can be used in your
applications. You'll know how to use the Clarion language for the COM
support. Understand how to work with OLE automation using Microsoft Excel,
and OCX controls using the Calendar OCX. Understand the concept of
callback generation and the steps for implementing a callback. Understand
how to make use of the built-in template support for OLE and OCX controls.
This session includes a detailed tutorial on working directly with a
freeware COM object that you can use to incorporate ZIP/UNZIP
functionality into your programs. |
- What is Component Object Models (COM)?
- A COM tutorial
- Installing and Registering MoleZip
- COM Interfaces Overview
- Using OLEView with MoleZip
- Coding the COM
- The Attach method
- The MoleZip Application
- COM Tutorial Summary
- Datatype Conversion Table
- Introduction to OLE/OCX
- The OLE Control Template
- Callback Generation
- The Event Processor
- Property Change
- Property Edit
- Steps for Callback Implementation
- An OCX Calendar Application
- OLE Automation
- OLE Container Properties
- Summary and Self Test
- Flash Movies
|
Session 8 -
Programming with ADO Explore the rich collection of templates that Clarion
provides to build ADO based applications, and then follow along step by
step as you build a complete ADO application. Along the way you'll learn
the in and outs of Clarion's support for Active Data Object (ADO), and how
to work with it in your own programs. Understand the role of ADO in your
Clarion applications. Discover how to incorporate ADO connections into any
program; hand-coded or App based, and uncover the programming secrets that
are discussed in this Session.
|
- Part I - Building an application
- Building an application with the Clarion/ADO Templates
- ADO from the Top
- A Tour of the Clarion/ADO toolbox!
- ADO Login Procedure Template
- ADO Browse Procedure
- ADO Browse Box Select Button
- ADO Browse Locator Control Template
- Recordset
- ADO Form
- ADO Save Button Control Template
- ADO Process Procedure
- ADO Process Pause Button
- ADO Report Procedure
- Building an application
- An "ADO Aware" Dictionary
- Import ADO Tables Using Professional Edition
- Exploring the ADO Dictionary Settings
- Part II - Creating the application
- Setting the ADO Global Extension
- The Main Procedure
- The MyLogin Procedure
- The MyADOError Procedure
- The BrwProducts Procedure
- The UpdtProducts Procedure
- The SelectCategory Procedure
- The SelectSuppliers Procedure
- The RptProducts Procedure
- Behind the templates
- Summary and Self-Test
- Flash Movies
|
Session 9 - Business Graphing
Know the fundamentals of Graph Design, including the
Design Check List. Explore building graphs with the new Graph template
using in-depth examples and code walk-throughs of the template options.
Discover how to take advantage of the rich user interface of the Graph
Control template. Quickly become familiar with the common methods used in
the Graph Class.
|
- Graphing Defined
- Clarion Language Graphing Support
- What Graph Should You Use?
- The SVGraph Template Set
- Graphing Quickstart
- Parts of a Clarion Graph
- Lesson Examples
- Our Simple Example Revisited
- Bowl Track - A Real World Example
- The Power of the Graph Popup
- Summary and Self Test
- Flash Movies
|