Clarion Tools
ABC Book
Hardware and Controls
PurpleSwift Clarion Tools

Programming in Clarion's ABC
By Bruce Johnson

Programming in Clarion's ABC
By Bruce Johnson


s s s s
Links s
PurpleSwift Bullet Introduction
PurpleSwift Bullet Chapter Guide
PurpleSwift Bullet What the Readers Say
PurpleSwift Bullet Review by Brice Schagane
PurpleSwift Bullet
Download Programming in Clarion's ABC (800k)
Please note that the install file requires an password which is supplied when you purchase the book. The CapeSoft Safe Reader is required to unpack this PDF.
PurpleSwift Bullet Price
PurpleSwift Bullet Buying


Bruce Johnson presented an all-day training session at ETC 3. Demand for the notes, from people who were unable to attend the session, was overwhelming. Thus we extended the notes and made them available, in a printed format, to the general Clarion community.

Note this book is currently only available in PDF format.

This book was originally written in 2002, and focused on Clarion 5.5. However the basic concepts with regard to using ABC have not changed since then, and the material in this book still applies to later versions of Clarion including Clarion 8.

The book is 139 pages long.

Chapter Guide

        • Welcome
        • If You are New to Clarion
        • Enter ABC
        • Is the Prize Worth the Race?
        • Object Orientated Programming
        • An Overview of ABC
      • THE WINDOW, STEP 1
        • Embedding in a Window
        • Virtual Methods
      • THE WINDOW, STEP 2
        • Basic Window Embed Points
        • A Window By Any Other Name
        • Routines
      • THE FORM
        • Introduction
        • The Parts of the Whole
        • The Ok Button
        • The Cancel Button
        • The Window
        • Field Validation
        • Calling a Form without using a Browse
      • THE BROWSE
        • Introduction
        • The Parts of the Whole
        • The Window
        • The Browse Template
        • Browse Template Tricks and Tips
        • Embedding in Browses
        • What's the Best Way to Add Embed Code?
        • The Browse Buttons
        • Other Browse Goodies
        • Summary
        • Introduction
        • Inheritance
        • The View Manager
        • Composition
        • Introduction
        • The Process Template
        • The Parts of the Whole
        • The ReportManager
        • The Process Manager
        • Useful Embed Points
        • Printing from a Queue or from Memory
        • What About the Catch?
        • The Print Preview
        • The Preview Window
        • Introduction
        • Editing the ABC Library Code?
        • Adding More Classes to ABC?
        • Summary
        • Introduction
        • Interfacing 2 Classes
        • Implements
        • Calling Interface Methods
        • Summary
        • Introduction
        • What the Template does
        • Looping Through a Table – a Bit of History
        • Welcome to the 21st Century
        • Set, Set and Set Again
        • Fetch & TryFetch
        • Update & TryUpdate
        • Saving and Restoring Table States
        • Priming the Record
        • Open, Close and Usefile
        • Embedding in the File Managers
        • Summary
        • Introduction
        • Cascade, Restrict & Clear
        • Updating Primary Key Values
        • Deleting Parent Records
        • Introduction
        • Before – the Legacy Way
        • After – The ABC way
        • The ErrorClass – What it Already Does
        • Logging the Errors to Disk
      • C55UTIL
        • Introduction
        • Functions
        • Using the Functions
        • Comments
      • POPUPS
        • Introduction
        • The Easy (and Wrong) way to do it
        • Enter the ABC PopupClass
        • Popups in the Browse Template
        • Advanced Features
        • The Popup Code Template
        • Comments
        • Further Reading
      • INICLASS
        • Introduction
        • The Simple (and Wrong) Way to do it
        • What the Template does for you
        • IniClass Basics
        • IniClass Advanced
        • Embedding in the IniMgr object
        • Extending the INIClass
        • Using the new zIniClass
        • Summary
        • Further Reading
        • Introduction
        • The Pros and Cons of EIP
        • A Quick Overview of the EIP Template
        • An Outline of ABC Edit in Place
        • BrowseClass
        • The BrowseEIPManager Class
        • The Edit Classes – A First Look
        • Embedding in EIP

What the Readers say

I just finished reading your book (for the first time). I am programming since 1958, so I could call myself an old hand. In my life time I have read many programming books, but have never read one which was able to present a pretty arcane subject, such as Clarion's ABC, with such clarity and ease. You really succeeded in explaining the subject and making it understandable. My hat's off! I can recommend your book to every Clarionaut. - Gerald M. Kahn

Just a quick note to say how much I appreciate 'Programming in Clarion's ABC'. At first sight it seems a high price for 139 pages, but it is so full of really useful information that I rate it good value for money. - Tim Mimpriss

This is the best doc on basic browse & form ABC that I have read. - Bob Ferguson

This is the book I've been waiting for. Finally after all these years, I'm getting a clue how to use ABC Correctly. This manual should be part of buying Clarion. - Ray Rippey

Questions and answers with Bruce. The most educational experience of my career. The jump start to my understanding of ABC and my confidence was incredible. - Hyrum W. Tatton

Came home late this evening. Found a parcel on the table. Found your book inside parcel. I found answers to questions I could not imagine. - Rene Simons

Always wanted to know where to put the embedded source in ABC? Two weeks ago I bought Bruce Johnson's book Programming in Clarion's ABC. If you want a practical introduction and certainly not a dull theoretical overview of objects: Buy it! - Roel Grit

ClarionMag Review

This review first appeared in Clarion Online and is reproduced with permission.

ETC III: Programming in Clarion's ABC by Bruce Johnson - by Brice Schagane

Once again, Bruce Johnson returned to the ETC conference for his presentation of Programming in Clarion's ABC.

Bruce has expanded his previous presentation at ETC 2000 to cover significantly more information. For example, attendees of this session received a 137 page book, written by Bruce Johnson, that details all the information discussed. The book for this year's session is approximately three times bigger than before.

Bruce opened with a discussion of some basic ABC terminology and outlined some goals of using ABC, the primary goal being: writing reusable, bug free code.

The information presented this year was simply overwhelming. The topics that Bruce covered included: Windows, Forms, Browses, Views, Reports, Processes, Files, Relations, Errors, Popups, INI files, and Edit In Place. Each topical discussion focused on the ABC Classes involved and how they relate to each other.

Bruce explained the relationships between "Generic" and "Specific" code and helped grasp the concept of "Virtual Methods", or "Pancakes" as he calls them. If your confused by this, don't be alarmed, I was too. Bruce was basically implying that the term "Virtual" is too vague, and should have been called something more meaningful.

Bruce also discussed Interfaces. He explained what they are and how to use them. In each of his discussions, Bruce pointed out major embed points and when we should use them. Along the way, He provided many useful tips and tricks. He also presented some little know facts, including:
  • How the Update method of the FileManager Class can cause a performance hit
  • How deferring the opening of files until accessed can provide a massive speed improvement
  • Why embedding code into the Insert() method of the FileManager Class should also be embedded into the TryInsert method as well
  • How to view error log history and/or save it to disk
  • How to get a list box to behave like a spreadsheet
  • What the C55util function library is and how to use it
As an added bonus, Bruce will be providing several resources to the participants, via the web. This will include some examples, as well as custom zError and zINIClass classes. These classes overcome some of the limitations of their respective ABC classes.

All in all, too much information was discussed than can be included in this report. At times, even Bruce skimped on the details, but would direct us to read the book, because the information is discussed there.

There was an additional cost of $50 to attend this session. Even if you were unable to attend, it is my opinion that the book alone is worth the money spent. The book is laid out quite nicely. The first section is intended to be an introductory tutorial, while sections two and three cover more advanced topics. Compared to the cost of many computer books these days, the cost to attend this session was a bargain. If you have the opportunity in 2004, you should definitely plan on attending this session.

2002, Online Publications, Inc. Reproduced with permission.


Programming in Clarion's ABC (PDF edition) is available at US$ 49.


Programming in Clarion's ABC (PDF edition) is available from ClarionShop.

purpleswift purpleswift to top

Copyright 2006 PurpleSwift Software CC.
All Rights Reserved.