The CHT Blogger

Thanks for your interest in The Clarion Handy Tools, an awesome collection of productivity enhancements for Clarion developers. These tools consist of an ever-expanding set of Clarion Templates and OOP Classes that extend or complement the normal functionality of the Clarion Application Development System from SoftVelocity.

Thursday, July 15, 2010

Build 14C1.00 Just Released

Clarion 7 CHT Demos - Build 14C1.00


In this build, all the demos from C6 will be available for C7 with the exception of HNDCMP.APP. I'm still holding off on HNDCMPC7.APP as for the time being we have HNDCOMPILE.EXE which works pretty well as a bulk batch compiler for C7 - better, I think, than trying to construct a solution app that contains 140 individual apps. Any time I've tried to build a multi-app solution and inserted multiple apps other than one at a time, C7 GPFs. HNDCOMPILE dispenses with the need for any of that multiple apps in a solution and, because the batch file it creates runs in a separate DOS window, it time-shares very nicely with other work being done on the machine.

Windowless Services


There are three new Windows Service demos in this build. These are windowless services that can be used as examples for your own windowless services projects - or you're welcome to use the examples as is.

HNDBACKUPSERVICE_A.APP - Backup To ZIP Script Service


HNDBACKUPSERVICE_A.APP - this is a timed backup service that uses a text script called HNDBACKUPSERVICE_A.INI which you can edit and configure to list files (and/or) directories that you want to back up into a zip. Standard file wild cards may be used to describe the files to be backed up from any given directory. Also configured is a target directory to which files to be backed up are first copied before being zipped (once zipped these backup files are deleted again). Also configured is a target zip directory where the time-stamped zips are copied. I've been testing this app for about a month on my own machines here and the backups are reliably happening at the designated backup time. This app uses the global template GLOBALINCLUDEHNDUTILITIESDLL, so this app acts as a further example of what you can do with the HNDUTILITIES.DLL introduced in the last update.

HNDBACKUPSERVICE_B.APP - Backup to HZO Script Service


HNDBACKUPSERVICE_B.APP - this is a timed backup service much like the one just described. It uses a text script called HNDBACKUPSERVICE_B.INI which you can edit and configure to list files and/or directories that you want to back up to a CHT, HZO file. Remember that you can use HNDSETUP.APP to uncompress and restore the contents of an HZO file to disk. Of course you could write your own HZO decompression app based on one of our existing examples. This app does not use HNDUTILITIES.DLL as it is based on CHT classes that we've not yet isolated into a separate DLL as we've done with the HNDUTIL class.

HNDSTARTSERVERSERVICE_A.APP - Start multiple Servers After Machine Reboot


This demo is based on something I built for myself a few years ago to restart my servers after a power failure or server machine reboot. Using this app, rather than making every server a seperate Windows service, I only need one service which restarts and verifies restart of all of my server applications. Once the servers have been successfully started, this service unloads itself from memory. However, it does remain registered as a service and will re-load if the hardware reboots. At which time it will once again restart the servers and make sure they're all running before unloading itself again.

Some CHT Demos Have C7-Specific Names and Usage


When I mentioned that we now have all of the C6 demos converted for C7 I should have mentioned that some of these have been renamed slightly to indicate that they are specific to C7. The apps so designated are as follows:
HNDABCHKC7.APP
HNDAPPSPLASHTOHTMLC7.APP
HNDBACKUPCONFIGC7.APP
HNDCLXHTC7.APP
HNDCOLORC7.APP
HNDFSYNCC7.APP
HNDLNCHC7.APP
HNDSETUPC7.APP
HNDTPXHTC7.APP
HNDZINDEXC7.APP

All of these apps (the C6 versions) contained path settings or lookups that made them C6 specific. These C7.APP versions have specific features referencing C7 path settings and lookups. That is not to say that some of the other apps didn't require some C7-specific changes regarding paths, but the above apps in particular have a Clarion7-related purpose that makes it important to be able to distinguish the C7 app from the C6 version.

Our Report Writer Demo HNDREPORTWRITER.APP wouldn't compile in C7 because there have been some function signature changes in the SV Report-Writer library that our templates and classes latch into. We've added a new file to accompany HNDRWPRLIB.CLW and HNDRWPRLIB.INC called "HNDRWPRLIBC6C7.INC". This file contains the SV report writer library prototypes for both C6 and C7 surrounded by OMIT/COMPILE directives to distinguish at compile time whether you're compiling for C6 or C7 so that the correct report writer interface is linked in. We've tested this here with good success, such that our HNDREPORTWRITER.APP runs identically whether compiled in C6 or C7.

WEBUPDATER FOR Clarion.NET Ready To Test


I have WEBUPDATER For Clarion.NET ready to go but it needs some testing by knowledgeable CHT developers. I am going to post it on our download site this week, but I'm asking for a few volunteers from the group who took the CHT DOT NET SEMINAR to do the testing before we roll out any CHT DOT NET Componentry to the CHT community in general. Volunteer testers, feel free to send me an email or reply to this posting if you've got some time to help test the viability of WEBUPDATER for Clarion.NET.

Cheers...
Gus M. Creces

Friday, June 11, 2010

CHT DOT NET Seminar Series #1 (6 Videos Approx 15 Hours)

We've completed, recorded and posted for viewing and download, our CHT DOT NET Seminar Series #1 (6 videos Approx 15 Hours). The series is currently being edited to shorten it a bit (to approx 12 hours) and to smooth out some of the rough spots.

Editing will take at least another month, probably longer, before we're prepared for a retail release of this. In the meantime, some of you have expressed interest in viewing and interacting with this video series "in the rough" since you couldn't fit the live presentations into your busy schedule.

If you're still interested, visit this page (http://www.cwhandy.ca/dotnettraining.htm) to find out more. Below the "Cost" section near the bottom of the page is a "Seminar X Details" list that elaborates topics covered and even provides a ten minute preview of each of the 6 videos.

Seminar videos may be streamed for on-line viewing or downloaded for more at-your-convenience interaction. Approximately 100 source code samples in C# and Clarion# are included along with a free 267 page PDF book by Charles Petzold called ".Net Book Zero".

Purchasers of the "rough cut" videos will, of course, be given both stream and download access to the "final cut" at no extra charge, just as the "live" seminar participants are being given access to both the "rough cut" and "final cut" videos.


Cheers...
Gus M. Creces
The Clarion Handy Tools Page
usersupport@cwhandy.com

Wednesday, June 9, 2010

Build Update Posted (14B1.01)

We've just posted the 14B1.01 Build (Dated June 7, 2010) for C6 and C7.

For a list of new and revised templates consult these links:
http://www.cwhandy.ca/chttemplates2010.html
http://www.cwhandy.ca/chttemplates2010.pdf

Have a look also at a new demo app called HNDTESTUTILITIES.APP. This app, while not quite finished illustrates use of a CHT dll called HNDUTILITIES.DLL which repackages HNDUTIL.INC/CLW as a set of MAP procedures (like Clarion's Builtins). This DLL can be attached to any dll-style application to add 100+ low level functions globally into your app. Take a look at HNDTESTUTILITES.APP for examples of things that this DLL can do.

The list of functions with explanations of what they do can be found in your libsrc directory and is called HNDUTILITIES.CLW. You can also recall this list of functions from the global template GlobalIncludeHNDUtilitiesDLL.

There's nothing this DLL does that our HNDUTIL class doesn't already do but it can be used as a DLL based alternative in situations where you might normally use the HNDUTIL class. The procedure packaging as I've said in this case is not class-based but MAP based so the calling convention is different and the prototypes and procedure names are not necessarily the same.

My intention with this and another couple dozen CHT classes is to produce these as stand-alone products for C6 and C7, that I can sell separately to developers who just won't buy into the subscription scene and who buy bits and pieces here, there and everywhere and then complain like hell that their supplier hasn't kept his product up to date with the latest Clarion version. I'm including these, of course, as part of your full CHT subscription package (even the source code for the DLL itself - see next paragraph)so you can use them or not as you see fit. They may help you decide to ditch some specific-use 3rd party functionalities that you didn't know were already in CHT.

If you're interested how the DLL was created, look at an app called HNDUTILITIES.APP. This is the app that I use to actually create the DLL and export functions from it. Be careful with this app as it will generate a second copy of the DLL and a file called HNDUTILITIES.CLW. If you do decide to compile this DLL, make sure to get rid of the HNDUTILITIES.CLW file that it generates as it name clashes with the MAP file that we've inserted into your libsrc directory with commented prototypes for the DLL.

I welcome suggestions and comments on these new components so feel free to make them.
Cheers...
Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
gcreces@gmail.com
June 8, 2010

It's Time To Connect With The DOT NET Coding Revolution

Since the release of Microsoft's C# 1.2 -- in October 2003 -- and the evolution of DOT NET 1.0 through to DOT NET 4.0, a lot of things in the application development world have evolved in ways that have not included Clarion. That is, until recently, given the ever-so-gradual evolvement of Clarion Sharp.

In March of this year, it occurred to me that it was time that Clarion# was taken out for a few hard laps around the track to compare -- or perhaps contrast -- its capabilities feature-for-feature against C#. Since C# is the defacto .NET language, despite the introduction of numerous "Sharp" languages in the last seven or eight years, I wanted to see whether SV's Clarion# language implementation was a worthy member of the .NET language community, which includes, C#, F#, A# GTK#, Qt# and others.

Since having adopted C# as my second-favorite development environment after traditional Clarion, I came to realize that much of what I was doing as a toolmaker for Clarion Win32 involved expansion of the language to fill the ever-widening gap between Clarion and the operating system. Suffice it to say, I found myself in the last couple of years, backfilling missing pieces in Win32 Clarion using C# DLLs hooked into Clarion six and seven using an intermediate technology called COM. Perhaps the time had come to think seriously about making .NET
my default coding environment.

What I found was an eye-opener! The Clarion# language is ready to be used today even before a template generator is added into the Clarion.NET IDE. It implements most coding concepts available to C# - with a few exceptions such as operator overloading - and runs as fast as C# - with a few exceptions such as methods using boxing and unboxing techniques.

The only problem -- getting Clarion 6 and 7 users to believe it! Not that I blame them for having reservations, since I didn't really believe it myself until designing and giving a DOT NET Seminar Series based on a free PDF book by Charles Petzold called .NET Book Zero.

During the months of April and May 2010 these six seminars were given on-line, three times each week using GoToMeeting. We recorded the Friday (3rd presentation) of each of the six seminars and have packaged them - warts and all - for interested developers who couldn't fit the on-line seminars into their busy schedules. Read about how you can take these seminars yourself, what prerequisites are needed to take them, and view a summary of each video's contents. Click here to do that.

Cheers...

Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
gcreces@gmail.com
June 1, 2010

Wednesday, April 14, 2010

In case you haven't read this yet, check out Bob Z's Blog regarding the Clarion.NET AppGen .NET Application Generator

Looks like Clarion.NET code generation is finally becoming a reality. The syntax of that new template language is not something that most Clarion developers will recognize. Then again, Clarion.NET code is not something that Clarion developers will recognize unless they're already familiar with C#, VB# or any other .NET language. In fact, C# code is .NET code, VB# code is .NET code and Clarion#
code is .NET code.

While structurally these languages differ somewhat - one uses semi-colons to end a line, the other uses CRLFs. One uses open/close braces to mark blocks of related code, while the other uses a KEYWORD/END relationship. One uses double quotes to delimit text, the other uses single quotes and on it goes. Fundamentally, beyond the superficial structural differences, the syntax of all .NET languages, is virtually identical. In the case of Clarion#, a few dozen legacy commands have been engineered to work like the old Win32 language and this sits on top of .NET - useful, but not entirely necessary to write powerful .NET code. In other words, legacy Clarion code is a miniscule subset of the available .NET language (used in Clarion#). Because all .NET languages are driven by the .NET Class Library.

As we said in our introduction to our first On-Line series of Clarion.NET training seminars: "Clarion.NET is an entirely new Clarion, and while previous Clarion language experience will "port" very nicely into the Clarion.NET environment, relying on past Clarion experience alone to get you by - especially if you have relied heavily on templates in the past - is going to seriously cramp your overall Clarion.NET experience - kind of like trying to satisfy your household water needs from a deep, clear, freshwater pool with a drinking
straw instead of with an electric pump and a good sized hose."


The first in our series of 5 Clarion.NET/C# Training Seminars was given twice yesterday (Tuesday April 13, 2010) and will be given once more on Friday April 14th, 9AM to 11AM EDT. There's still a window of opportunity to get in on this groundbreaking educational series: On-Line Clarion.NET Training Seminar.

Hope to see you there.

Cheers...

Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
gcreces@gmail.com
April 14, 2010

Thursday, April 1, 2010

For "Newbies" Getting Into CHT

To get "into" CHT, a good place to start is with the videos and the demo apps. There are about 130 demo apps which are briefly described by topic in this document: http://www.cwhandy.com/chtapplications.html

A good video to watch in order to get an overview of the CHT toolkit was recorded with Clarion Live! this past November, 2009. This video is linked from our home page under the menu item "Free Videos". The video menu item is entitled: CHT On Clarion Live! - > Clarion Live! Seminar #31 - Nov 2009.

There are also 35 other videos available from the "Free Videos" link on our home page. We suggest you leave these other videos until you begin studying the demo apps to which they're related.

We suggest you start by watching the Clarion Live! 3-hour video before anything else, and follow that up by studying the demo applications. Use our demo applications document to find demo apps that match the topics you're most interested in following up on first. The apps list is broken into categories of functionality.

Next, become familiar with the global AACHTControlPanel Template populated into all of these CHT demos to get the demo app to list for you all the templates it's using. Each template listed will then further link you into our template description document. How to do this is illustrated in the Clarion Live! video. From here, you can also get the application to tell you all Classes it is using and that generated document further links into an HTML representation of our class headers.

AACHTControlPanel, and all CHT templates for that matter, have a "Subscriber Support" dialog that links directly - and automatically - into our support forum where you can ask a question when you feel you need to. Here, I or one of our long-term users, will be happy to help you by answering questions. The forum has a print-to-PDF function with which you can print out a particular posting or a whole thread of postings if you need a hard copy for future reference. The CHT forum has been running since April 1st 2004 (in fact today, April 1, 2010, is its 6th anniversary) using CHT web technology and our data base contains over 50,000 entries threaded by subject - or by question asked as the case may be.

Shipped with CHT are the last 3 years of What's New Documents in PDF format. These are in located in \clarion6\3rdparty\hnd\pdf\ or \clarion7\accessory\hnd\pdf\. They're also linked from START Button -> All Programs -> "The Clarion Handy Tools" or "The Clarion Handy Tools C7" as the case may be.

Demo applications are located in \clarion6\hndapps\ (C6) and in a directory designated by you at install time in Clarion 7.

Starting in late May or early June, after our series of five Clarion.NET on-line seminars we will begin providing CHT subscribers with a Clarion.NET installer and an early version of CHT for Clarion.NET and some demo apps.

Cheers...
Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
usersupport@cwhandy.com
April 1, 2010

Target 100: Discount Offer

It's been three years (November 2007) since CHT conducted any kind of reduced-price subscriber drive. In our 2007 campaign, we offered a "Target 100" discount of 40%. In other words, the first 100 individuals to take advantage of the discount received the discounted price. Actually, no-one who asked for the discount via our "Target 100" order page was refused, even when we went slightly over target.

Obviously, that campaign was very successful and many of the 100+ developers who took advantage of it are still CHT developers to this day.

Starting immediately, we're offering a similar "Target 100" offer at an even larger discount of 50%. Our 2010 "Target 100" order page (link below) will stay up as long as we're under 100 new subscribers who purchase through this special page. At the end of the day on which our "Target 100" objective is reached (or exceeded) we'll take the page down. That means, as long as you are able to reach the "Target 100" page, you're able to purchase at the discounted price.

Click the following link to get your half-price CHT subscription before it's too late to get this amazing discount: http://www.cwhandy.com/target100.htm

The list of links below should explain fairly clearly the kind of advances you'll miss by not becoming a regular Clarion Handy Tools user.

http://www.cwhandy.com/march2010.htm
http://www.cwhandy.com/february2010.htm
http://www.cwhandy.com/january2010.htm
http://www.cwhandy.com/december2009.htm>
http://www.cwhandy.com/november2009.htm>
http://www.cwhandy.com/october2009.htm
http://www.cwhandy.com/september2009.htm
http://www.cwhandy.com/august2009.htm
http://www.cwhandy.com/august2009.htm
http://www.cwhandy.com/july2009.htm
http://www.cwhandy.com/june2009.htm
http://www.cwhandy.com/may2009.htm
http://www.cwhandy.com/april2009.htm

Templates overview as of this build: http://www.cwhandy.com/chttemplates.html

The CHT toolkit has been growing at a rate of 25% per year. You can get some feeling for how much new stuff is added yearly by studying the the following summary of new/revised-in-2009 templates from just 2009 alone: http://www.cwhandy.com/chttemplates2009.html

Demonstration applications overview as of the current build: http://www.cwhandy.com/chtapplications.html

More about The Clarion Handy Tools: http://www.cwhandy.com/presentcomponents.htm

TEN REASONS FOR USING THE CLARION HANDY TOOLS
01) Used in over 25 Countries...
02) 398 + Templates and JumpStarts and over 11,000+ Class Methods...
03) CHT Support Forum averages 30 unique visitors every day of the year...
04) First with a subscription-based 3rd party Clarion toolkit...
05) First with an all-source code 3rd party Clarion toolkit...
06) First with an all-inclusive, fully-integrated, one-price-for-everything Clarion toolkit...
07) First with a wide variety of on-line, hands-on courses to help you improve your CHT developer experience...
08) First with source code all-Clarion internet servers for Browser Web apps and Client Web apps...
09) First with a commitment to document our entire library of classes and templates with video lessons...
10) First with a commitment to help developers make the migration to Clarion 7 and/or Clarion .NET...

Click this link to get your half-price CHT subscription before it's too late to get this discount: http://www.cwhandy.com/target100.htm

Cheers...

Gus Creces
The Clarion Handy Tools Page
www.cwhandy.com
usersupport@cwhandy.com
April 1, 2010