Module |
Topic Outline |
Session 1: Template Architecture and Language
Session I starts the course from
the ground running, with the basics of the template language and the
underlying design architecture. This lesson expands upon the existing
Template Language Reference PDF and reveals the internals of template code
generation as it relates to the Application Generator and
IDE. |
- Template Architecture and Language
- Overview of Course 5
- Introduction
- Session Objectives
- The Role of Templates in the Clarion IDE
- Templates Defined
- Template Language Syntax
- Advantages of Templates
- Template Types
- How to Modify a Template
- Behind the Scenes of Code Generation
- Template Generation Input and Output
- Introduction to Embed Points
- Inside the Template Prompt
- The Dictionary Connection
- Dictionary Related Template Symbols
- Template Source Format
- Customizing the Shipping Templates
- How to Add New Templates
- Summary & Self Test
- Flash Movies
- How to use this Interactive Self-Study System
- Course 5 Introduction
- Template Registry
- Templates in the Application Generator
|
Session 2 — Essential Template Writing
This session
is
a must for anyone who has never written a template, but wants to do it.
Some of you who have written a template or two in the past may
also wish to revisit these fundamental design elements. |
- Essential Template
Writing
- Introduction
- Session Objectives
- Writing your first template!
- Beginning the Embed Searcher - #TEMPLATE and #CODE
- Adding Display Statements
- Template Initialization
- The Main Template Logic
- The Final Output
- The ThreadLimiter Template
- #TEMPLATE and #SYSTEM
- #TAB,#INSERT,#BOXED,#GROUP,#END,#DECLARE -
- #!, #EXTENSION,#SHEET
- #LOCALDATA, #AT
- Adding Clarion Source
- Completing the template
- Summary & Self Test
- Flash Movies
- How to use this Interactive Self-Study System
- Creating a New Template File
- EmbedSearcher Example
- ThreadLimiter Example
|
Session 3: Writing Extension Templates
Session
3 targets writing
Extension templates. |
- Writing Extension Templates
- Introduction
- Session Objectives
- What is an Extension Template?
- AddIcons Extension
- The #PROMPT statement
- #ENABLE
- #AT and #ATSTART
- #FOR and #CASE
- The #IF statement
- Application Images Extension
- Procedure Images Extension
- INIFile Extension
- ThreadLimit Extension
- VblFileNames Extension – Using Variable FileNames
- Summary & Self-Test
- Flash Movies
- How to use this Interactive Self-Study System
- Using the VblFilenames Extension
- AddIcons Example
- Application/Images Example
|
Session 4: Writing Control Templates
Session 4 targets writing Control templates.
|
- Writing Control Templates
- Introduction
- Session Objectives
- What is a Control Template?
- Create a New Template Set
- AVIButton Control Template
- BrowseExtenderThreeInOne Control Template
- BrowseExtender Developer Interface
- Supporting BrowseExtender Groups
- SingleRecordForm Control Template
- Summary & Self-Test
- Flash Movies
- How to use this Interactive Self-Study System
- AVI Button Control Example
- BrowseExtenderThreeInOne Example
- SingleRecord Control Example
|
Session 5: Writing Procedures and Code Templates
In this
session, we look at template design from a different perspective and
create two template types (Procedure and Code templates) based on a
specific programming need. |
- Procedure and Code
Templates
- Introduction
- Session Objectives
- Creating a New Template Set
- RWProcCall Procedure Template
- The RWCall Code Template
- Summary & Self-Test
- Flash Movies
- How to use this Interactive Self-Study System
- ReportWriter Example
- ReportEngine Methods Documentation
- ReportEngine Methods
- GetNextPageNumber (Get the next page number for report)
- LoadReportLibrary (Load a ReportWriter Report Library)
- PrintReport (print a report)
- SetNextPageNumber (Set the next page number for report)
- SetNumberOfCopies (Set number of copies to print for report)
- SetPageRange (Set range of pages for report)
- SetPreview (Set report's preview on or off )
- SetPrinter (Set printer for report)
- SetReportFilter (Set a report's filter)
- SetReportOrder (Set a report's order)
- SetVariable (Set a value to a runtine variable)
- UnloadReportLibrary (Unload a ReportWriter Report Library)
|
Session 6: Writing Utility Templates
Session
6
looks at Utility templates and demonstrates some powerful uses for them in
your project development cycle.
|
- Writing Utility
Templates
- Introduction
- Session Objectives
- What is a Utility Template?
- Accessing the Utility Templates
- Simple Utilities
- Some Key Template Statements
- Utility Wizards
- Utilities for Documentation
- Writing your own Utility Template
- Application Documentation
- Application Tree Utility
- Adding a User Interface
- Summary & Self Test
- Flash
Movies
- How to use this Interactive Self-Study System
- Utility Template Summary
|
Session 7: Creating a Full Template Set
Session 7
takes all of the example templates that were presented in Lessons 2
– 6, and assembles all of them into a single template set. The best
practices and techniques used in this process are presented
here.
|
- Creating a Full Template Set
- Introduction
- Session Objectives
- Building Your Own Template Set
- Organizing the templates
- Beginning the Inline Method
- Consolidation
- Testing the New Template Set
- Completing the Project
- INLINE or INCLUDE?
- Summary & Self-Test
- Flash Movies
- How to use this Interactive Self-Study System
|
Session 8: Template Management with ABC Classes
This session completes the course
by looking at some advanced design aspects of custom objects and their
template support and the techniques of smooth integration into the
existing ABC family. |
- Implementing Objects in ABC
Templates
- Introduction
- Session Objectives
- Template Management with ABC Classes
- An Introduction to Wrappers
- Registering the Example Template Set
- #SYSTEM and the Developer Interface
- Symbol Declarations
- Templates and Objects
- Global Symbols
- Local Objects
- Object Defaults
- Object Embeds
- Code Generation
- Scoping
- Summary
- Self Test and Reference
- Flash Movies
- How to use this Interactive Self-Study System
|