Clarion Handy Tools
HOME ABOUT NEWS BUY DOCS

TEMPLATES BY CATEGORY
(BUILD: 21D.02.00)
Generated:
December 13, 2017

CATEGORY:
APP Code Signing
*** codesignexecutable ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Code Signing
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This template when executed runs the MS SignTool wizard against the latest instance of the application .EXE or .DLL, facilitating and automating code signing your executables from the IDE. As of September 2012 an optional addition to this template may be used to copy the finish-signed executable to a target directory on the same drive or on another available drive.

*** handycodesigningextension ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Code Signing
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This global extension template runs the MS SignTool Tool against your EXEs or DLLs on completion of compile, facilitating and automating code signing your executables at compile time. An option is provided to pre-compress the executable before it is code signed.

HandyCodeSigningExtension is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected. As of September 2012 a new dialog on this template provides for optional capability to have the signed executable copied to an alternate target location (drive and/or directory) after code signing has completed. NOTE TO DEVELOPERS: ABOUT ORDER OF OPERATIONS WHEN CODE SIGNING Since code-signing your executable must take place AFTER other operations such as executable file compression this template now detects when the CHT HandYExecutableCompressor Template is present and enabled, and ensures that the signing operation is performed AFTER compression.

CATEGORY:
APP Configuration
*** aachtcontrolpanel ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

** REVISED DECEMBER 2017 **

This template is a © CHT Global Control Panel. Populating any single CHT template causes this "supervisory" template to appear automatically in the global extensions area of your application. From this interface you can adjust global CHT settings used by other templates in our suite.

AACHTControlPanel also provides useful "state-of-your-application" reporting features. The following global templates are designated as children of AACHTControlPanel, and as such, you must select AACHTControlPanel, before child templates become visible for inclusion in your application. Child templates are: AACHTControlPanelClose, INIFile, VblFileNames, ApplicationImagesEx, HandyVersionResource, HandyNTServiceFunctions HNDCMPControlPanel, ExportClassesByName, ExportClassesByCategory, and FieldLevelValidationCode.

AACHTControlPanel generates and controls a number of equates and compiler pragmas that are important for the proper functioning and linking of our classes into your application. For this reason, all CHT templates check for the existence of this template in your application and re-populate it if it is removed.

*** aachtcontrolpanelclose ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED NOVEMBER 2016 ***

This template is a partner to AACHTControlPanel and is designed to run last, when all other CHT templates on the application have fully generated. It handles gen-completion details that are best handled when the latest version of the app has fully generated, for example, application backup, when CHT AutoBackupConfigurator has been enabled.

This template will attach itself automatically to applications in the same way that AACHTControlPanel does, whenever any other CHT template is inserted into your application. Applications with AACHTControlpanel already attached will not automatically back-attach this template. While it is not mandatory that this template be present, it may be added to an existing CHT application manually.

If the "Verbose Mode" switch is checked, this template produces a template variables inspection file which can be used to check for CHT or Clarion IDE configuation problems resulting from such things as trying to work with 2 or more installations of Clarion 10 on the same hardware.

*** chtcheckpresent ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by CHT WEBUPDATER to determine if CHT templates have been initially registered on your system.

*** embedhndconfigfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:HNDConfig
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the CHT HNDConfig Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

HNDConfig functions are also incorporated either by derviation or composition into the following CHT classes which use it for connectivity configuration: HNDHTTP, HNDINETFTP, HNDNETFTP, HNDPOP, HNDNETSMTP, HNDSMTP. If your procedure already uses templates which incorporate any of these classes into your application, there is already a HNDConfig class available to you and use of this template may be redundant.

*** embedobject ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:Any ABC Compliant Class
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This template creates a single, local instance of any class that you select from the standard list of classes available in the "Application Builder Class Viewer". By default the viewer loads and displays any /LIBSRC/-located class that contains the tag !ABCIncludeFile in it's header (.INC) file.

All methods may be embedded (overridden) in the usual fashion. On the "Classes" tab, replace the words "Object Name Here" with an instance name for your object. Then select the class you wish to use in the pulldown.

NOTE: Any special includes such as drivers or LIBs that the selected object may require will have to be added into the project manually using the "Project" button.

*** excludelz32lib ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

If another ABC or 3rd party template includes a DLL which has already incorporated LZ32.LIB, check the switch below and the Clarion Handy Tools will avoid including it again. NOTE: After changing this setting please make sure to force-regenerate your application.

*** excludemswsocklib ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

If another ABC or 3rd party template includes a DLL which has already incorporated MSWSOCK.LIB, check the switch below and the Clarion Handy Tools will avoid including it again. NOTE: After changing this setting please make sure to force-regenerate your application.

*** excludemapi32lib ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

If another ABC or 3rd party template includes a DLL which has already incorporated MAPI32.LIB, check the switch below and the Clarion Handy Tools will avoid including it again. NOTE: After changing this setting please make sure to force-regenerate your application.

*** excludewsock32lib ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

If another ABC or 3rd party template includes a DLL which has already incorporated WS2_32.LIB, check the switch below and the Clarion Handy Tools will avoid including it again. NOTE: After changing this setting please make sure to force-regenerate your application.

*** excludewininetlib ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

If another ABC or 3rd party template includes a DLL which has already incorporated WININET.LIB, check the switch below and the Clarion Handy Tools will avoid including it again. NOTE: After changing this setting please make sure to force-regenerate your application.

*** exportclassesbycategory ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template is designed to help you create DLLs and Local LIBs that export only the classes selected on the template. This template works with Clarion Handy Tools classes, ABC native classes and any 3rd party classes that are ABC compliant in their design.

NOTE: To successfully create DLLs and LIBs containing The Clarion Handy Tools classes requires that you have a current subscription to the Source Code version of The Clarion Handy Tools.

ExportClassesByCategory is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

*** exportclassesbyname ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template is designed to help you create DLLs and Local LIBs that export only the classes selected on the template. This template works with Clarion Handy Tools classes, ABC native classes and any 3rd party classes that are ABC compliant in their design.

NOTE: To successfully create DLLs and LIBs containing The Clarion Handy Tools classes requires that you have a current subscription to the Source Code version of The Clarion Handy Tools.

ExportClassesByName is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

*** globalincludehndconfigfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:HNDConfig
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDConfig class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

NOTE: This template is auto-populated (once) to the global area of your application, when any one of our "CHT Snap" functionalities is enabled on the global template called Application Snap-Ins. At time of writing, these are: CHT SnapEdit, CHT SnapSMTP and CHT SnapMAPI.

*** hndchecktplreg ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

The CHT Compile Manager uses this template to trigger the Clarion IDE to conditionally re-read all ABC Compliant Classes from disk in the event any have been changed.

*** hndcmpexportapplication ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** This template is used by CHT Compile Manager to generate a TXA Export file to the configured location. This template is called from CHT Compile Manager as an entry point to two other utility templates.

*** hndfreezeappimagesex ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by CHT's Color Configurator application to signal all subsequently generated applications to "freeze" all template dialogs on the EmbedWindowClasses, ApplicationImagesEx and ProcedureImagesEx templates which might be configured to use variable color and image settings provided from a CHT configuration file.

*** hndunfreezeappimagesex ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by CHT's Color Configurator application to signal all subsequently generated applications to "un-freeze" all template dialogs on the EmbedWindowClasses, ApplicationImagesEx and ProcedureImagesEx templates which might be configured to use in-variable, dialog-determined color and image settings and to read them instead from the values provided in a CHT configuration file.

*** handythreadlimiter ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template limits a procedure to one instance only. A second call to an already-running procedure brings that procedure to the top, even if minimized. This template provides no developer input dialogs and requires no further configuration.

*** handyversionresource ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***
This global application extension template incorporates standard version information into your executable. It generates an "application.version" file which is linked into the EXE, DLL or LIB. Company name, Copyright, Trademark, Version Number, Build Number, File Information, Language, Locale and custom information are included. This template also interacts with AACHTControlPanel's Version dialog - which produces application constant HPROP:AppVersionEX - to synchronize the version element of the HPROP:AppVersionEX as version values change on this template.

HandyVersionResource is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

*** inifile ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:HNDIni HNDError
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension extends the capabilities of the ABC IniClass.

** Developers can optionally establish an alternative INI file for app configuration settings written by CHT templates and classes.

** Developers can optionally establish an application INI file that's tied to the name of the application exe, such that when the exe is renamed, even after compilation, the INI takes on the new name of your exectuable file.

** Developers can optionally override the directory location of the application INI file as configured on the ABC global properties dialog.

** Developers may optionally redirect all application configuration I/O that would normally go to an INI file or to the Windows Registry into a dictionary table provided by the application itself. This functionality works in conjunction with another CHT template called INITableIOProcedure which must be created first, and selected on this template interface. It also populates a child template (with no user interface) to all of the procedures in your application. The child template writes code into your Frame procedure in order to reference the frame window and frame thread to two global HNDIni Class properties.

As a result you are able to set messages to the frame window status bar with a call to HIni.SetFrameWindowStatus(). Events can likewise be posted from any procedure in your application to the frame window accept loop with HIni.PostFrameWindowEvent(). This template also provides optional "Run Once" capability. If your application is already running on a given computer, subsequent attempts to run it can be short circuited. See the "Run Once" button elsewhere on this template's interface.

INIFile is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

*** inifileprocedure ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:INIFile
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension is auto-populated by a global CHT template called INIFile. It has no local, procedure-level interface and requires no configuration. It only generates code into your Frame procedure in order to reference the frame window and frame thread to two global HNDIni Class properties.

As a result you are able to set messages on the frame window status bar with a call to HIni.SetFrameWindowStatus(). Events can likewise be posted from any procedure in your application to the frame window accept loop with HIni.PostFrameWindowEvent(). This template also provides optional "Run Once" capability. If your application is already running on a given computer, subsequent attempts to run it can be short circuited.

*** initableioprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:APP Configuration
SCOPE:ABC PROCEDURE
CLASSES:HNDSourceProcedure
PARENT:HandySourceProcedure_TS
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds a procedure that when hooked into the CHT template called HNDIni will redirect all ABC IniClass Puts, Gets and Removes, and all CHT HNDIni Class Puts, Gets and Removes to a dictionary table designated by the developer. While this requires no code to be written by the developer it does require a dictionary table modelled on INITable found in various CHT example dictionaries such as HNDSQL1.DCT and others. The field names are not required to be the same, but the field data types must be. And at least one key must be provided on the ULONG type UNIQUE field which is given a hash value of several inputs to assure uniqueness based on the user signed in. This template is a child of HNDSourceprocedure_TS, and inherits all of the prompts and interfaces of that parent procedure.

*** restoreoldapplicationimagesexsettings ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** This template may be used to read old Color, Image, Font settings from the previous configuration area [THE CLARION HANDY TOOLS] to the new configuration area: [CHT_APP_STYLES]. Be careful, this will overwrite unconditionally any values or defaults you may now have in the [CHT_APP_STYLES] area.

*** settranslatemodecustom ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by CHT Compile Manager to set the app for HNDCUSTOM.TRN

*** settranslatemodedefault ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by CHT Compile Manager to set the app for HNDFBACK.TRN

*** utilreadsettingsfromconfig ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Configuration
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2017 ***

This template is used by CHT templates, specifically EmbedWindowClasses, ApplicationImagesEx and ProcedureImagesEx to determine color and image related settings placed in a CHT configuration file, for use in the application where the "Freeze" setting has not been applied.

CATEGORY:
APP Cosmetics
*** globaltransparentcontrols ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Cosmetics
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2017 ***

This global extension allows you to control transparency on window and report controls throughout your entire application without having to go back and manually check the "transparent" property on a procedure-by-procedure basis. Individual control types may be controlled separately from this global template. A child template called ProcedureTransparentControls is populated on all qualifying procedure types and provides local override capability.

*** proceduretransparentcontrols ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Cosmetics
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2017 ***

This procedure extension allows you to control transparency on window and report controls created by your procedure without having to go back and manually check the "transparent" property on a structure-by-structure basis. Individual control types may be controlled separately. This template is a child of global template GlobalTransparentControls which must be populated before this one becomes visible. Global settings may be overridden locally on this template's interface.

CATEGORY:
APP Discovery
*** generateapplicationmenus ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Discovery
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template generates a text file with the extension .MNU which contains a nested description of your application's menu structures organized on a procedure-by-procedure basis.

*** hndcmpappclassestohtmlfile ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Discovery
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template generates a list of ABC compliant classes used in your application, a structured HTML list we call an "Application Classes Schematic". The list is organized by procedure and includes all classes in use by your procedures, whether of origin CHT or not. CHT provides such a list for all of its demonstration applications, recallable from the "About" menu. Subscribers can generate a list for themselves for any application from the AACHTControlPanel Template's "Classes By Procedure" dialog.

*** hndcmpapptemplatestohtmlboth ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Discovery
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This template is used by CHT Compile Manager to generate HTML app discovery information. This template is called from CHT Compile Manager as an entry point to two other utility templates. These are: HNDCmpAppTemplatesToHTMLFile which generates application template discovery information and HNDCmpAppClassesToHtmlFile which generates application classes discovery information.

*** hndcmpapptemplatestohtmlfile ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Discovery
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by CHT Compile Manager to generate a list of templates used in your application, a structured HTML list we call an "Application Templates Schematic". The list is organized by procedure and includes all templates populated on your procedures, whether CHT origin or not. CHT provides such a list for all of its demonstration applications, recallable from the "About" menu. In the October 2008 update, this template now displays also the application version and the full prototype of each procedure in the application. Procedure docs - if populated as HandyProcedureDocs template - are now also generated into the area above the templates list after the procedure prototype.

*** hndlistapplicationtemplates ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Discovery
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template generates a list of templates used in your application, a structured HTML list we call an "Application Templates Schematic". The list is organized by procedure and includes all templates populated on your procedures, whether of origin CHT or not. CHT provides such a list for all of its demonstration applications, recallable from the "About" menu. Subscribers can generate a list for themselves for any application from the AACHTControlPanel Template's "Templates By Procedure" dialog.

*** viewclasses ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:APP Discovery
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template pops up the ABC Class Viewer built into the Clarion IDE. The CHT Compile Manager uses it to display the ABC Class Viewer directly from the Compile Manager interface without having to open any application,

CATEGORY:
APP Help
*** appstartsplashunthreaded ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:FRAME
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED OCTOBER 2017 ***

This extension template is dropped on the application frame to start your splash screen earlier, with an option to start threaded or unthreaded. This is intended to replace the splash screen dropdown that appears on the ABC frame template which starts too late and causes the splash to lag and often not display correctly until the application has completed loading. This spash screen implementation loads and displays the splash immediately on application load even before the frame procedure loads. If started unthreaded the application frame only displays when the splash completes, or is clicked by the user.

*** embedstandardwebpageheader ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED OCTOBER 2017 *** This template may be used to build apps that generate HTML Help files as do HNDTPXHT.APP and HNDCLXHT.APP and others. While it's normal to develop style sheets in downloadable files so the the same set of style sheets may be shared via link statements amongst numerous web pages and even different web sites, there are situations where it's more expedient to have the style sheet internal to the HTML document in order to make the help document viewable off-line. This template can be added to HTML generating procedures to either assist in generating both screen and print style sheets internal to HTML help documents such as those created by the example applications cited above. At this point in time, most items of a design and cosmetic nature can be changed on the template interface so that the things you're most likely to want changed are under your direct control. Template changes can be applied in the application's generated output at application generation-time by entering constant values directly on the template or, in the event you want to apply changes at application run-time, using variables that the application looks up elsewhere in a configuation file. Not all settings are fully variable, but all key ones are. If you find this template currently too restricting, please let us know and we'll make all settings fully configurable. This template now generates HTML5 compatible output.

*** embedstandardwebpageheadershort ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED SEPTEMBER 2017 ***

This template may be used to build apps that generate HTML Help files. See HNDBULKEMAILBATCHER.APP. While it's normal to develop style sheets in downloadable files so the the same set of style sheets may be shared via link statements amongst numerous web pages and even different web sites, there are situations where it's more expedient to have the style sheet internal to the HTML document in order to make the help document or HTML email viewable off-line. This template can be added to HTML generating procedures to either assist in generating a screen style sheet that is internal to HTML help documents and HTML emails.

At this point in time, most items of a design and cosmetic nature can be changed on the template interface so that the things you're most likely to want changed are under your direct control. Template changes can be applied in the application's generated output at application generation-time by entering constant values directly on the template or, in the event you want to apply changes at application run-time, using variables that the application looks up elsewhere in a configuation file. Not all settings are fully variable, but all key ones are. If you find this template currently too restricting, please let us know and we'll make all settings fully configurable. This template now generates HTML5 compatible output.

Some example applications are: HNDXML2HTMLGEN.APP, HNDDOCUMENTBUILDER.APP, HNDBULKNETMAILSMTP.APP

*** http help download client ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Help
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides a way to have users start a help file with an optional website server check for the latest version of the file. If the file has changed, it is downloaded and then started. If the file has not changed it is started only.

*** http help download client with animation ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Help
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides a way to have users start a help file with an optional website server check for the latest version of the file. If the file has changed, it is downloaded and then started. If the file has not changed it is started only. This download client provides an AVI animation on the window. The default animation file "hndtransmit.avi" must be present with the application.

*** handyapplicationdocs ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps the developer to globally document his application. The information entered generates as viable HTML via the application discovery functionality available on CHT's global template AACHTControlPanel. CHT's Compile Manager can generate HTML application discovery pages into a CHT server directory configured on its settings dialog. CHT's HNDTEAMDOCSERVER.APP acts as a project documentation server available to develoment team members.

*** handyhelpbuttoncontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:APP Help
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps you to compose a detailed help message box, useful for pop-up instructions. The help message pops up when the accompanying button control is pressed, or an accepted event is posted to the control. Example application HNDCMP.APP

*** handyhelpfilefetch ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template helps you to make a Help Request to your website. Call up and display, almost any kind of local or remote file, HTML, PDF, TXT, MP4 (video) from your server or network to display some information for your users. We use HTML and PDF instead of traditional help files. Training videos are great too! Windows will start the correct app to deal with the file based on it's known extension. This template is a child of CHT template EmbedWindowFunctions, and as such that template must be applied to your procedure first, before this one can be added. Note that EmbedWindowFunctions is also a child template with it's own, pre-requisites.

*** handyhelpfiletopicbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:APP Help
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a help button on your application window. Enter the name of your help file with optional path. The template will also optionally accept a variable pointing to the help file. The default help topic is the current procedure name.

*** handyhelpmessagebox_ewf ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:APP Help
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template helps you to compose a detailed help message box, useful for pop-up instructions. This template is a child of CHT template EmbedWindowFunctions, and as such that template must be applied to your procedure first, before this one can be added. Note that EmbedWindowFunctions is also a child template with it's own, pre-requisites.

*** handyhelpwhatsnew ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template helps you to make a What's New Help Request to your website. This template is a child of CHT template EmbedWindowFunctions, and as such that template must be applied to your procedure first, before this one can be added. Note that EmbedWindowFunctions is also a child template with it's own, pre-requisites.

*** handyproceduredocs ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Help
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps the developer to document his procedures on an individual basis. The information entered generates as viable HTML via the application discovery functionality available on CHT's global template AACHTControlPanel. CHT's Compile Manager can generate HTML application discovery pages into a CHT server directory configured on its settings dialog. CHT's HNDTEAMDOCSERVER.APP acts as a project documentation server available to develoment team members.

CATEGORY:
APP Short Cuts
*** create windows short cut built into application ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Short Cuts
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED DECEMBER 2014 *** This procedure provides a way to have users start your application by clicking a link to an icon on the desktop or in a program group, in fact to any one of a dozen locations. It includes a class called HNDShellLinkClass which incorporates the capability to create Windows Short Cuts right into your application.

*** create windows short cut executable call ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Short Cuts
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides a way to have users start your application by clicking a link to an icon on the desktop or in a program group, in fact to any one of a dozen locations. It calls an executeable called HNDSHCUT.EXE which you must include with your application for this to work.

CATEGORY:
APP Styling
*** applicationimagesex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Styling
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

© CHT ApplicationImagesEx establishes global level application-wide styling settings including wallpapers, icons, colors, fonts and common control properties. All globally applied application settings established here, may be overridden on the "extensions" menu of your window procedures on a child template called ProcedureImagesEx. ApplicationImagesEx provides several "stylesheet" interfaces that, when completed, may be saved to a "master configuration" which can then be read into other applications.

Aside from reducing the drudgery of having to style (wallpaper, icons, colors, fonts, common control properties) on every window in every app, ApplicationImagesEx helps to make your application suites stylistically consistent. While applications can be "style-frozen" to make them unique from the master configuration, developers can, by simply "unfreezing" an application's stylistic settings it can immediately be restyled to the currently configured standard.

ApplicationImagesEx can track the images used in your application, list them in a special IMAGES file, and even copy images scattered around your drive to the standard images directory or to a directory provided on the template. This makes the task of moving an application to another machine really easy since the images it uses are all in one place.

ApplicationImagesEx can be made to control display settings such as fonts, colors, charset, button styles, prompt styles, entry field background color, and more.

ApplicationImagesEx includes and makes available the icons required when the EmbedWindowFunctions template implements CHT extended menus. This template, can if necessary, be disabled so as to eliminate any stylistic impact it has on your application while still supporting other CHT templates that from-time-to time require it's services for other than stylistic reasons.

ApplicationImagesEx is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

ApplicationImagesEx also includes an optional global switch which when set, causes the template to generate code for Clarion-10-style extended menus in all application windows, not just the FRAME window. The ABC templates provide only for extended (colored) menus in the master FRAME window.

*** procedureimagesex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:APP Styling
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:AACHTControlPanel ApplicationImagesEx
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension allows overriding of the global wallpaper and icon settings put in place by the global version of this template: ApplicationImagesEx. You may select new images or remove the defaults. Template property dialogs on this template are enabled only on procedures with windows.

If the parent template ApplicationImagesEx has been set disabled, this template will not appear in procedure windows unless already populated. In that case too, template property dialogs are disabled and the actions of this child template are neutralized.

CATEGORY:
APP Versioning
*** appbuilddatetimestamp ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a compile-time date/time stamp on your window indicating when the application was last generated and compiled.

*** appbuildnumberstamp ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a compile-time build number or version stamp on your window indicating the official "build number" or "version" of your application. Once the template has been applied you need only to insert your Build/Version EQUATE and recompile. NOTE: The CHT global template AACHTControlPanel creates an application "version" stamp called HPROP:AppVersionEx that can be easily modified on that template's interface and provides a "Notes-To-Myself" field to which version-specific change notes may be added.

*** appcopyrightstamp ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a compile-time copyright stamp on your window indicating an official copyright notice about your application. Once the template has been applied you only need only to insert the EQUATE containing your copyright stamp and recompile.

*** dontshowthissplashagain ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:APP Versioning
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template provides a single checkbox which is intended for placement on ABC Splash Windows or CHT Jumpstart Splash Windows. Initially, the checkbox provided is unchecked. Once checked the Splash Window closes and will not re-appear the next time you run the application.

*** new app main frame procedure #1 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED DECEMBER 2017 *** This procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new app main frame procedure #2 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new app main frame procedure #3 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new app main frame procedure #4 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new app main frame procedure #5 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new app main frame procedure #6 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides a starting MAIN MDI FRAME that can be quickly modified with your own specifics to make a container frame for your new application and implements CHT templates AACHTControlPanel, ApplicationImagesEx, HandyVersionResource, and EmbedWindowFunctions to provide standard services such as dynamic icon menus, run-once, application-in-tray, application versioning and more.

*** new splash screen #1 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #2 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #3 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #4 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #5 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #6 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

*** new splash screen #7 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release. A Microsoft I.E Browser control is populated.

*** new splash screen #8 ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:APP Versioning
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED DECEMBER 2017 *** This procedure provides an example splash screen that can be quickly modified with your own specifics to make a splash for your own applications. This example implements several CHT templates that let your splash provide up-to-date build information about your application as you recompile and re-release.

CATEGORY:
Binary File Access
*** embedfilefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Binary File Access
SCOPE:ABC PROCEDURE
CLASSES:HNDFile
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDFile Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhndbinfileiofunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Binary File Access
SCOPE:ABC PROCEDURE
CLASSES:HNDBinFileIO
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template instantiates a CHT class called HNDBinFileIO on your application procedure. The class is contained in modules HNDBINIO.INC/HNDBINIO.CLW and provides binary-level read-write access to files.

*** embedhnddosfilefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Binary File Access
SCOPE:ABC PROCEDURE
CLASSES:HNDDOSFile
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDDosFile Classes. This template includes HNDDOSF.INC and HNDDOSF.CLW (HNDDosFile Class). All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** globalincludehndbiniofunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Binary File Access
SCOPE:APPLICATION
CLASSES:HNDBinFileIO
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDBinIO class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

NOTE: This template is auto-populated (once) to the global area of your application, when any one of our "CHT Snap" functionalities is enabled on the global template called Application Snap-Ins. At time of writing, these are: CHT SnapEdit, CHT SnapSMTP and CHT SnapMAPI.

CATEGORY:
Browse Extensions
*** abcbrowserecordtaggerex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:BrowseClass(ABC)
PARENT:Browse(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template inserts event driven code that results in one-click, on-off record tagging for your generic ABC browse. Data record fields in the primary file can be toggled on and off with a single click on the column and row where the designated field is populated (hot key configurable). NOTE: For multiple ABC browses on the same window that require tagging, the developer should populate a separate instance of this template for each browse, each attached to the specific browse to be serviced. This template is a child of Browse(ABC), and as such that template must be present before this one can be applied to the procedure.

*** activelinkbrowsecolumn_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED JANUARY 2017 ***

 

This control enables an active startup link in one of your browse columns. The browse may be any ABC browse or any CHT-template-extended browse. It requires that the EmbedWindowFunctions template be placed on the window first.

When a valid Web-Url is found in the row being clicked, clicking the browse column enabled by this template starts your default Internet browser enabling you to jump to the web site found there.

Similarly when a valid Email-Address is found in the row being clicked, clicking the browse column enabled by this template starts your default email client, enabling you to create an email message to the address found there.

Finally, when the correctly pathed name of an executable is found in the row being clicked, clicking the browse column enabled by this template starts (runs) that application similarly to starting the application from a menu.

This template shares an embeddable instance of the HNDWindow Classes. This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added.

*** browselazydisplay ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

Multiple browses populated on the same window tend to flicker when the browse window first opens and each browse receives a reset during initialization. This template applied to ONLY ONE of your browses will temporarily slow the DISPLAY() function long enough to smooth out this effect. This template is a child of BrowseBox(ABC). In other words, it can only be applied to an ABC Browse.

*** browselesseditformprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds an edit form procedure that permits you to traverse, query and edit file/table records without the use of a browse procedure. This template creates an independent procedure that may be called directly from a button or menu to edit a file without requiring the intermediate use of a browse to first isolate the record to be edited. This template uses a standard ABC window template as its parent. So in most respects and for embedding purposes it is very similar to an ABC window or form procedure.

*** browselesseditform ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:None
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED OCT 2017 ***

This template lets you open an edit form on your data table without having to use a browse ahead of it. The template populates three buttons: Insert, Previous and Next. Insert lets you add new records while Previous and Next let you navigate the table records. The data table requires no keys although tables with keys may be used. The form normally opens looking at the physically-first record in the table. You are able to set an optional switch on the template interface so that the form can, in fact, be used with a browse. In this case the first record displayed is the record currently selected in your browse. Once in the form, records may be navigated forward and back and multiple records may be inserted in succession. At EOF and BOF you are given a message indicating that beginning or end of file have been reached.

*** embedview_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

The _LBX prefix in this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template generates a Multi-Table view with an accompanying ABC ViewManager for tables added to the Tables Schematic (provided by this template) area of your ListBoxBrowseExtender procedure. EmbedView_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window. It generates VIEW processing code into the HNDFileLoadBrowse.FillFromView placeholder procedure which is able to fill the ListBoxBrowseExtender queue with records from multiple tables as laid out in the file table tree that this template addes to your procedure. The Clarion VIEW structure created along with the ABC View Manager instantiated allows your app to interact with multiple tables as if they were one, big flat file, as joins between tables are handled internally by the VIEW structure.

*** explorerbrowse ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDBrowse HNDBrwFilter
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2016 ***

This template transforms a standard single sort browse into an Windows Explorer-like multi sort browse. When a column is clicked with the programmer-determined alert key, regardless of whether the field in that column is a key field or not, that column becomes the current sort column. NOTE: When an unkeyed field is used as the basis for the column sort order, the driver is forced to build a dynamic key.

This can seriously slow the performance of ISAM-Style data bases. Use with discretion. This extension creates a single, local instance of the HNDBrowse Classes.

This template is a child of BrowseBox(ABC). In other words, this template can only be applied to an existing ABC Browse.

*** explorerbrowserecordtagger ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDBrowse
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template inserts event driven code that results in one-click, on-off record tagging for your ExplorerBrowse. Single or multiple data record fields in the primary file can be toggled on and off with a single click on the column and row where the designated field is populated. NOTE: For multiple ExplorerBrowses on the same window that require tagging, the developer should populate a separate instance of this template for each browse. This template is a child of ExplorerBrowse, and as such that template must be present before this one can be applied to the procedure.

*** explorerbrowserecordtaggerex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDBrowse
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template inserts event driven code that results in one-click, on-off record tagging for your ExplorerBrowse. Single or multiple data record fields in the primary file can be toggled on and off with a single click on the column and row where the designated field is populated (hot key configurable). NOTE: For multiple ExplorerBrowses on the same window that require tagging, the developer should populate a separate instance of this template for each browse. This template is a child of ExplorerBrowse, and as such that template must be present before this one can be applied to the procedure. NOTE: This works exactly like ExplorerBrowseRecordTagger but has been implemented for developer convenience as an EXTENSION template rather than a CODE template.

*** greenbarabcbrowse ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:HNDGreenBar
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template adds the same greenbar features available in CHT browse extension templates ExplorerBrowse, HandyMarkerBrowse, LocatorOverRideControl and ListBoxBrowseExtender without implementing the wide array of other features. The base template used is a standard ABC Browse.

*** handycolumnhider ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:None
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension attaches to any standard ABC browse and enables it with column hide and unhide capability. Click the browse header with a hot key designated here and a list of browse columns is presented. Use the "Unhide" menu to unhide a column, and the "Hide" menu to hide a column. NOTE: This template is not designed to be used with any other Clarion Handy Tools browse enhancement template. A "pure" ABC browse is required. Other CHT browse enhancement templates already contain this capability natively.

*** handyfilequeuebuilder ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC), Report(ABC), Process(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This template builds a queue based on file (table) definitions in your dictionary. Drop it on any procedure that has tables defined in the procedure tables schematic. To generate a queue based on table fields, complete the "File/Queue Information tab by selecting the fields that should be populated to your queue. A queue created by this template can be used with CHT template ListBoxBrowseExtender to build a fully functional queue based browse independent of any ABC browse templates. Note that the template now warns you that local variables are not permitted to be placed into the queue. As of December 2008, this template now also works with ABC Source procedures.

*** handyfileviewbuilder ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC), Report(ABC), Process(ABC) Browse(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds a view based on file/table definitions in your dictionary. Drop it on any procedure (Browse, Process, Report, Window) that has tables defined in the procedure tables schematic. To generate a view based on table fields, complete the "File/View Information" tab by selecting the fields that should be populated to your queue. A view created by this template can be used with CHT template FileLoadBrowseExtender in combination with HandyFileQueueBuilder and a CHT method called SQLFillQueueFromView() to build a fully functional, SQL queue-based browse independent of any ABC browse templates. As of December 2008, this template now also works with ABC Source procedures.

*** handyhdqtolocaldata ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This templates generates a CHT queue of type HDQ to the Local Data button in your procedure where it can be used to build a non-colorized ListBoxBrowseExtender browse of disk file names.

*** handymarkerbrowse ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDMarkerBrowse
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED DECEMBER 2016 ***

This template automatically gives your ABC browse extended characteristics such as Windows-style record marking with Shift-click for marking ranges, Ctrl-Click for toggling and Single-Click for marking individual records. Full keyboard-only marking support is also provided. ----------------------------------------------------------------

SUMMARY OF KEYSTROKES USED FOR IN-QUEUE RECORD MARKING

** MouseLeft<9>Mark record in single record mode.

** ShiftMouseLeft<9>Mark end of range between selected and current row clicked.

** CtrlShiftMouseLeft<9>Continues marking from selected to current roe clicked.

** CtrlMouseLeft<9>Toggle record marked/unmarked.

** CtrlSpace<9>Same effect as CtrlMouseLeft.

** ShiftUp<9>Mark next record up from selected.

** ShiftDown<9>Mark next record down from selected.

** UpKey<9>Switch to single record mode and move cursor up.

** DownKey<9>Switch to single record mode and move cusror down.

** CtrlUp<9>Move cursor up with no marking or unmarking.

** CtrlDown<9>Move cursor dn with no marking or unmarking.

** ShiftPgDn<9>Mark all from selected to top of current page.

** ShiftPgUp<9>Mark all from selected to end of current page.

** ShiftHome<9>Mark all from selected to first record.

** ShiftEnd<9>Mark all from selected to last record.

** HomeKey<9>Unmark all and select first record.

** CtrlHome<9>Unmark all and select first record.

** EndKey<9>Unmark all and select last record.

** CtrlEnd<9>Unmark all and select first record.

** PgUpKey<9>Unmark all and select last record on page.

** PgDnKey<9>Unmark all and select first record on page.

** CtrlA<9>Select all.

** CtrlH<9>"H" how many selected.

----------------------------------------------------------------

The template adds "Explorer-like" features to your browses including column-header-click sort orders, reverse sortation and more.

Several accessory controls HandyMarkerBrowseLocatorControl, HandyMarkerBrowseLocatorControlEx, QueryParsingFilterControl, PopFavoriteQueries_HMB, HandyMarkerBrowseOneColumnQueryControl, HandyMarkerBrowseQueryGoButton, HandyMarkerBrowseReportButton, HandyMarkerBrowseRowMoveButtons, HandyMarkerBrowseSetsControl HandyMarkerBrowseProcessButton, HandyMarkerBrowseProcessLimiter, HandyMarkerBrowseReportLimiter easily add sophisticated record locating and filtering, attach processes and reports passing them marked records for processing or printing.

This template is capable of redirecting all INI/IO to the Windows registry or into an application data table. In order to implement this INI/IO feature you must populate CHT global template INIFile by first selecting CHT Global AACHTControlPanel and inserting the INIFile template.

HMB EXAMPLE APPLICATIONS: The CHT toolkit uses HMB browses more than any other so there are numerous examples. A couple of our favourites are HNDCMP.APP and HNDFBACKBUILDER.APP.

*** handymarkerbrowserecordtaggerex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:HNDMarkerBrowse
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template inserts event driven code that results in one-click, on-off record tagging for your HandyMarkerBrowse. Single or multiple data record fields in the primary file can be toggled on and off with a single click on the column and row where the designated field is populated (hot key configurable). NOTE: For multiple HandyMarkerBrowses on the same window that require tagging, the developer should populate a separate instance of this template for each browse. This template is a child of HandyMarkerBrowse, and as such that template must be present before this one can be applied to the procedure.

*** handymarkerbrowserowmovebuttons ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template drops four buttons that enable the user to slide browse rows up and down and to the top or bottom of the sort order, when the browse is ordered on a sequentially numbered column, designated for that purpose. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added. For an example, see the CHT demo application called HNDCMP.APP (CHT Compile Manager).

*** locatoroverridecontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW
CLASSES:HNDBrowse HNDSizes
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This template is an all-in-one combination of ExplorerBrowse, ExplorerBrowseLocatorControl and QueryParsingFilterControl. It transforms a standard single sort browse into an Windows Explorer-like multi sort browse. When a column is clicked with the programmer-determined alert key, regardless of whether the field in that column is a key field or not, that column becomes the current sort column. NOTE: When an unkeyed field is used as the basis for the column sort order, the driver is forced to build a dynamic key. This can seriously slow the performance of ISAM-Style data bases. Use with discretion. This extension creates a single, local instance of the HNDBrowse Classes. This extension is really a combination of 3 separate CHT templates: ExplorerBrowse, ExplorerBrowseLocatorControl and QueryParsingFilterControl. For more individual control over the various control template elements you might consider using ExplorerBrowse and dropping the other two control templates only as needed.

*** locatoroverridecontrolrecordtagger ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:LocatorOverRideControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template inserts event driven code that results in one-click, on-off record tagging for your LocatorOverRideControl. Single or multiple data record fields in the primary file can be toggled on and off with a single click on the column and row where the designated field is populated. NOTE: For multiple LocatorOverRideControl Browses on the same window that require tagging, the developer should populate a separate instance of this template for each browse. This template is a child of CHT Browse extension LocatorOverRideControl, and as such, that template must be applied to your procedure first, before this one can be added.

*** locatoroverridecontrolrecordtaggerex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:LocatorOverRideControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template inserts event driven code that results in one-click, on-off record tagging for your LocatorOverRideControl browse. Single or multiple data record fields in the primary file can be toggled on and off with a single click on the column and row where the designated field is populated (hot key configurable). NOTE: For multiple LocatorOverRideControl browses on the same window that require tagging, the developer should populate a separate instance of this template for each browse. This template is a child of LocatorOverRideControl, and as such that template must be present before this one can be applied to the procedure. NOTE: This works exactly like LocatorOverRideControlRecordTagger but has been implemented for developer convenience as an EXTENSION template rather than a CODE template.

*** maxpreloadrecordcontrol_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:UniversalQueryControl_LBX
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template drops two controls, a prompt and a spin-number control onto your LBX browse window. The spin-number control is used to increase or decrease the "LbxMaxLoadTimeRecords" variable created by ListBoxBrowseExtender. filling it with all available records. When LBX is set to "FillFromCHTServer" this "LbxMaxLoadTimeRecords" controls the number of records initially pre-loaded into the MAIN queue. Other than positioning and/or cosmetically altering these controls from the IDE window editor [optional] no further configurations are necessary on this template interface. NOTE:This template is a child of UniversalQueryControl_LBX so it will not appear in the Clarion ToolBox of selectable Control Templates unless, UniversalQueryControl_LBX is already present on the window.

*** prefilterbuttons_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Browse Extensions
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template drops two buttons (Clear & Refresh), (Set & Refresh) onto your LBX browse window. The "Clear & Refresh" button clears the load-time browse pre-filter and refreshes the browse and filling it with all available records. The "Set & Refresh" re-establishes the load-time browse pre-filter and refreshes the browse, thus filling with only those records that match this pre-filter. Other than positioning and/or cosmetically altering the buttons from the IDE window editor [optional] no further configurations are necessary on this template interface.

*** refreshabrowse ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowseBox(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template assists with posting a refresh command to any ABC Browse.

*** setexplorerbrowsequerybuilderbindings ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template can be used to generate field bindings for CHT Query Builder into a CHT Method called SetDynamicBindings(BYTE xFlag=False). Multiple instances of this template can be used to bind fields from different tables with unique "friendly" names for query purposes using CHT Query Builder. SetDynamicBindings is not called anywhere by CHT classes. This method is a single location in which to aggregate a number of different query build field bindings to be inserted before calls to QBInterface() the CHT Query Builder interface in order to change the list of fields presented for query building.

*** setsqlaliasestofileprefix ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Browse Extensions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

If you are sending a raw SQL query generated by having posted a CHT-style query in a browse or on a window holding a QPFC control the tables will be addressed with a prefix equivalent to the file prefix defined in the dictionary. For example: CUS:Company will be named CUS.`Company` or CUS.Company This template will apply the same aliases - as defined in your dictionary - to the tables in your procedure.

CATEGORY:
Burn CDROM Disks
*** embedhndcdromclass ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Burn CDROM Disks
SCOPE:ABC PROCEDURE
CLASSES:HNDCDROMClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDCDROMClass Classes to your procedure. It enables your app to programmatically copy files and directories to a CD/DVD Drive containing a variety of CD media types. This functionality is contained in modules HNDCDROM.INC, HNDCDROM.CLW and HNDCDROM.TLB. For a working example application look at HNDCDROMTEST.APP.

All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

CATEGORY:
CHT Snap-In
*** applicationsnapins ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:CHT Snap-In
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This global extension template is an incorporation point in your application for a number of stand-alone, mostly-single-function executables which have, by and large, been a growing and ever-evolving part of CHT's HNDAPPS suite of demo and utility applications for many years.

At this time, CHT has provided Snap-Ins for HTTP file movement, File compression and decompression, EMAIL protocols of various sorts, File Encryption and End User Support.

The individual "Snap-In" items listed and described below are the components which are fully available to you with any given CHT Build or Build Update. This list continues to evolve over time as this template's interface continues to evolve.

• Snap-Ins Presently Available Via This Template: (6)

CHTSNAPSEND.EXE, CHTSNAPEDIT.EXE, CHTSNAPGET.EXE, CHTSNAPMAPI.EXE,
CHTSNAPSMTP.EXE, CHTSNAPZIP.EXE AND CHTSNAP2PDF.EXE

CHT "Snap-Ins" are written in C#. The source code for these is available separately (priced individually) by special request.

• CHT Batch-Bots Presently Available Via This Template: (10)

HNDMAKEHZO.EXE, HNDMAILMAPI.EXE, HNDMAILCDO.EXE, HNDMAILSMTP.EXE
HNDSEARCH.EXE, HNDSLFCMD.EXE, HNDMAILNET.EXE, HNDZIPNET.EXE,
HNDENCRYPT.EXE,
HNDFTPNET.EXE and HNDXML2HTMGEN.EXE

CHT "Batch-Bots" are written in Clarion. The source code for these is available in your HNDAPPS directory as a standard part of your CHT toolkit.

CHT "Batch-Bots" and CHT "Snap-Ins" are primarily command-line utilities meant to perform a specific task independent of a standard windows-form interface.
Some examples are: zipping a file (CHTSNAPZIP.EXE), or sending a file to a web-server (HNDSLFCMD.EXE) or fetching a file from a web-server (CHTSNAPGET.EXE), and so on.

These executables, while fully stand-alone, so they can be used from the DOS command-line, are also viable application components used as you would a DLL, so they can be run also from inside a Clarion or C# application. Each runs as an independent process spawned from inside your application. Specific instructions as to how to perform any individual task are passed to these executables, on the command-line.

For example: CHTSNAPZIP zz MYAPP.ZIP c:\mydir\myapp.exe
This set of commandline instructions, creates a zip called "MYAPP.ZIP" from an EXE called MYAPP.EXE.

• CHT "Utility" Applications Now Available Via This Template: (4)

CHT's Application Snap-Ins template presently provides in-app launch capability for these "Utility Applications":
HNDPRINTHTML.EXE, HNDPREVIEWER.EXE, HNDSETUP.EXE, HNDSQLTRACE.EXE

CHT "Utility Executables" are written in Clarion. The source code for these is also available, like "Batch-Bots", in your HNDAPPS directory as a standard part of the CHT Toolkit. CHT "Utility Executables" differ from "Snap-Ins" and "Batch-Bots" in that they have full-blown Windows-Form interfaces from which configuration and task instructions are requested from the application. They generally don't need to be launched though some can be with command-line instructions.

*** embedsnapcall ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:CHT Snap-In
SCOPE:ABC PROCEDURE
CLASSES:HNDSnapCall
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This template may be used to attach to your application, at the procedure level, a CHT Code module containing a single class called HNDSnapCall. This extension creates a single, local instance of the HNDSnapCall Class which is used to call a variety of "CHT SNAP-IN" executable tools in a manner that resembles standard DLL calls, using parameter passing on the command line.

At time of writing, MARCH 2015, this class interfaces to the following items: CHTSNAPSEND.EXE, CHTSNAPEDIT.EXE, CHTSNAPSMTP.EXE, CHTSNAPMAPI.EXE, CHTSNAPGET.EXE, CHTSNAPGETEX.EXE Future: CHTSNAPFTP.EXE, CHTSNAPSMS.EXE, CHTSNAPSFTP.EXE, All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** globalincludehndsnapcallfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:CHT Snap-In
SCOPE:APPLICATION
CLASSES:HNDSnapCall
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension template globally instantiates a single instance of the CHT HNDSnapCall class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

NOTE: This template is auto-populated (once) to the global area of your application, when any one of our "CHT Snap" functionalities is enabled on the global template called Application Snap-Ins. Since many snap-call functions include RUN() calls with the console output redirected for capture, into an application variable, this template suggests optionally that the application copy hndcapcon.dll to the application compile output directory.

*** proceduresnapins ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:CHT Snap-In
SCOPE:PROCEDURE
CLASSES:None
PARENT:ApplicationSnapIns
  

DESCRIPTION:

*** REVISED NOVEMBER 2015 ***

This extension template is auto-populated on all application window procedures by a global template called "ApplicationSnapIns(HndTools)". The "Enable?" switch provided on the global "Snap-In" component interface in ApplicationSnapIns, determines whether or not that specific component has any code impact on the window receiving this "ProcedureSnapIn" extension template. Separate, "About" information below will describe, as the number of "Snap-Ins" grows, the behaviour of this template in regard to that specific Snap-In component.

About CHT SnapSend:

On a procedure-by-procedure basis, this template allows the developer to optionally expose the state of procedure-local and global variables while the procedure is running. These variables are added into a text file that is sent via email along with the procedure-window snapshot taken by CHT SnapSend. This template is also the parent of a button template called "HandyWindowsStopStartSnapSendButton(HndTools)". That means the button template does not appear in the IDE's control templates list until ApplicationSnapins' "Enable?" switch is checked.

*** runchtsnapedit ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:CHT Snap-In
SCOPE:ABC PROCEDURE
CLASSES:HNDSNAPCALL.CLW
PARENT:ApplicationSnapIns
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This code template helps you to write code that starts CHTSNAPEDIT.EXE from a Clarion menu or button control ACCEPT event. This code template is dependent on the initial placement of the global CHT procedure-local template EmbedSnapCall as well as the CHT global templates ApplicationSnapIns and its parent AACHTControlPanel. In fact, this code template will not appear in your list of CHT code templates unless AACHTControlPanel, ApplicationSnapIns and EmbedSnapCall are installed first.

*** snapeditstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This control template places a single button on your window that may be used to start the CHT SnapEdit Utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools) once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPEDIT dialog.

*** snapgetstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template places a single button on your window that may be used to start the CHT SnapGet Utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application, must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPGET dialog. This button control template specifically calls the HNDSNAPCALL.RunCHTSnapGet() function fetch a remote file from either a CHT-Style server or a standard IIS (WIndows) or Linux Server.

Example application HNDTESTCHTSNAPGET.APP.

*** snaphndmailcdostartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template places a single button on your window that may be used to start the CHT HNDMAILCDO.EXE Batch-Bot. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application, must also have its "Enable?" and "Copy" switches checked, in the HNDMAILCDO dialog. This button control template specifically calls the HNDSNAPCALL.RunHndMailCDO() function send an email via HNDMAILCDO.EXE. Example application: HNDTESTMAILCDO.APP.

*** snaphndmailmapistartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template places a single button on your window that may be used to start the CHT HNDMAILMAPI.EXE Batch-Bot. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application, must also have its "Enable?" and "Copy" switches checked, in the HNDMAILMAPI dialog. This button control template specifically calls the HNDSNAPCALL.RunHndMaiLMapi() function send an email via HNDMAILMAPI.EXE. Example applications: HNDZIPNEMAILBBOTMAPI.APP, HNDTESTMAILMAPI.APP.

*** snaphndmailnetstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template places a single button on your window that may be used to start the CHT HNDMAILNET.EXE Batch-Bot. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application, must also have its "Enable?" and "Copy" switches checked, in the HNDMAILNET dialog. This button control template specifically calls the HNDSNAPCALL.RunHndMailNET() function send an email via HNDMAILNET.EXE. Example application: HNDTESTMAILNET.APP.

*** snaphndmailsmtpstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template places a single button on your window that may be used to start the CHT HNDMAILSMTP.EXE Batch-Bot. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application, must also have its "Enable?" and "Copy" switches checked, in the HNDMAILSMTP dialog. This button control template specifically calls the HNDSNAPCALL.RunHndMailSMTP() function send an email via HNDMAISMTP.EXE. Example application: HNDMAILSMTPSNAPTEST.APP, HNDZIPNEMAILBBOT.APP, HNDTESTMAILSMTP.APP

*** snaphndslfcmdstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start the BATCH BOT Utility, HNDSLCMD.EXE. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools) once added to your application must also have its "Enable?" and "Copy" switches checked, in the BOT HTTP Tool Snap-In dialog. This button control template specifically calls the HNDSNAPCALL.RunHndSlfSvFetch() or HNDSNAPCALL.RunHndSlfSvSend(), function in order download or upload as directed by your template settings. These functions call HNDSLFCMD.EXE with the correct command line parameters to make this happen. Example application: HNDSLFCMDSNAPTEST.APP.

*** snapunzipstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start the CHT HNDSNAPZIP.EXE Utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools) once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPZIP dialog. This button control template specifically calls the HNDSNAPCALL.RunCHTSnapUnZip() function to unzip a source zip file to the target directory supplied on the template. The RunCHTSnapUnZip() function calls CHTSNAPZIP.EXE with the correct command line parameters to make this happen. Example application: HNDTESTCHTSNAPZIP.APP.

*** snapzipdirstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start the CHT SnapZip Utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools) once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPZIP dialog. This button control template specifically calls the HNDSNAPCALL.RunCHTSnapZipDir() function to zip a source directory as well as the subdirectories of that source directory. The RunCHTSnapZipDir() function calls CHTSNAPZIP.EXE with the correct command line parameters to make this happen. Example application: HNDTESTCHTSNAPZIP.APP.

*** snapzipstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:CHT Snap-In
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start the CHT SnapZip Utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPZIP dialog. This button control template specifically calls the HNDSNAPCALL.RunCHTSnapZip() function to zip a source directory but not include the subdirectories of that source directory. The RunCHTSnapZip() function calls CHTSNAPZIP.EXE with the correct command line parameters to make this happen. Example application: HNDTESTCHTSNAPZIP.APP.

CATEGORY:
Capture DOS Console
*** embedhndcaptureconsole ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Capture DOS Console
SCOPE:ABC PROCEDURE
CLASSES:HNDCaptureConsole
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension creates a single, local instance of the HNDCaptureConsole Classes to your procedure. It enables your app to perform a RUN() via HNDCaptureConsole.Run which will become "captured" in such a way as to direct all output (including errors) back to your application via the HNDCaptureConsole.Run return value.

Since HNDCaptureConsole functionality is based in CHT DLL HNDCAPCON.DLL, this class requires you to ship HNDCAPCON.DLL with your application. Use of this template ensures that the standard ShipList includes a notation to that effect. The template provides a switch that configures your app to copy HNDCAPCON.DLL to your executable output directory as further configured in your .RED settings.

See HNDBATCHRUNNER.APP, HNDCODESIGN.APP, for demonstrations of this template in action. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** globalincludehndcaptureconsolefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Capture DOS Console
SCOPE:APPLICATION
CLASSES:HNDCaptureConsole
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDCaptureConsole class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added. NOTE: This template is auto-populated (once) to the global area of your application, when any one of our "CHT Snap" functionalities is enabled on the global template called Application Snap-Ins. At time of writing, these are: CHT SnapEdit, CHT SnapSMTP and CHT SnapMAPI.

CATEGORY:
Client/Server
*** basic http test client for hndslfsv.app ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Client/Server
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This JumpStart is a basic test client to illustrate insecure requests (not protected by a password and logon) sent to a basic or custom HTTP server like example application HNDSLFSV.APP. The client illustrates downloading and starting or displaying a file as well as sending a User Custom Request. User Custom Requests may be intercepted and processed in the server in a standardized way that lets developers insert request-specific code to suit their particular needs.

*** chtjumpstartclientserverapplication ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Client/Server
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** This template creates a complete, ready-to-use or ready-to-test-and-modify CHT Client Data Server like HNDMTSSV.APP. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. The base ServerMain(ToDo) procedure is replaced by the wizard's own ServerMain() version. NOTE 2: The application created is based on CHT demo browser data (forum) server HNDMTSSV.APP, such that all documentation, videos and companion applications for HNDMTSSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements. NOTE 3: Requires HNDMTSSV.DCT be attached to your "stub" application at creation time.

*** clientserverbrowsebuilder_xcl ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp HNDClient
PARENT:ClientServerBrowseListBox
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This template extension works as a child of ClientServerBrowseListBox to produce a Client Server Data Browse based on data requested from a Remote CHT Client Server Application which contains view procedures built with the CHT Template ClientServerDataBuilder. This special _XCL version of ClientServerBrowseBuilder assumes an external instance of the CHT HNDClient Class is passed into this procedure from another window which has already instantiated and logged-in the client application to the server being accessed. This procedure instantiates HNDClientHook, which receives and references the passed in HNDClient instance and extends it with several methods containing code with local access to the browse queue, the list box and to a special queue called MacroQ which, optionally, may receive query macro definitions created in the server configuration table. Creating a "Client Server Web Browse" is a snap using this template in conjunction with ClientServerBrowseListBox, by simply matching one-to-one the query-friendly field names being passed up from the host server with the queue fields allocated to the list box. It is not necessary to populate the client browse (and its queue) with all browse-directed fields passed up from the server. At the same time the client browse query control (built with QueryParsingFilterControl) is still able to query all fields enabled for querying in the server view to which this browse connects, regardless of the number of fields displayed in the browse.

*** clientserverwebprocessdatabuilder ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:PROCESS, REPORT
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandyWebClientProcessProcedure HandyWebClientReportProcedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template plugs into two other CHT templates called HandyWebClientProcessProcedure and HandyWebClientReportProcedure to incorporate a web client connector interface into these two separate procedure type. With this template, a reliable across-the-web Client Server report process or procedure accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion ABC report or process. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDCLIENTCLLEAN1VIEW.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSVLEAN1VIEW.APP. A Web Client starting-point application is provided in demo application HNDCLIENTCLLEAN.APP. And a Web Client Server starting-point application is provided in demo application HNDCLIENTSVLEAN.APP.

*** embedhndclienthook ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDClientHook Class, used in CHT Client Server Browses, Forms, Processes, Reports. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhttpclientfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDClient
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED APRIL 2015 ***

This extension creates a single, local instance of the HNDClient Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDFLCLN.APP, HNDINSTALLMYFILES.APP

*** embedhttpfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDHttp Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. A number of other templates in the CHT tool kit, with specific, rather than general functionality, also attach HNDHttp to your procedure.Consider using these where applicable.

*** embedwinhttpfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDWinHTTP
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDWinHTTP Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. The HNDWinHTTP class is based in the same Microsoft COM object that extends I.E. for asynchronous calls to the server and is the basis, at least in I.E. for all AJAX-style ServerHTTPRequest communications. This class enables your Clarion applications to post both synchronous and asynchronous server commands and file requests in a manner similar to AJAX requests from a browser-based script.

*** globalincludehndclientfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:APPLICATION
CLASSES:HNDClient HNDClientHook
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MARCH 2017 ***

This extension template globally instantiates a single instance of the CHT HNDClient class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** http web data client (appwiz) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Client/Server
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This application works as a data client to demo app HNDMTSSV.APP or any app created with the wizard based on HNDMTSSV.APP. It requires the dictionary HNDMTSSV.DCT and a base procedure called HTTPClientMain() be installed on a new, "Stub" application before importing via this wizard is recommended. This client application serves to illustrate how to log in and then make a variety of data requests and data updates from a Clarion client application (using the HNDCLNT class) to a CHT Server configured for Client Server Mode.

*** http web file client get files ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Client/Server
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure works in conjunction with the "Web File Client Login/Config" procedure to provide file download capabilities from a CHT "Secure HTTP File Server". Features include compression and encryption as configured by the Login/Config component, as well as filtered remote file selection using CHT query language and fully asynchronous behavior with clear progress and error reporting. This procedure is used in the CHT demonstration application called HNDFLCLN.APP.

*** http web file client login/config only ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Client/Server
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure is the "Web File Client Login/Config" component of HNDFLCLN.APP only. Use it for any Web Client Login/Config requirement. 1) Request full two-way, 128 bit encryption of all communications including login. 2) Request compression of all communications large enough to benefit from compression. 3) Request email reminder of login parameters. 4) Adjust progress reporting settings. 5) Adjust asynchronous data block settings to to allow for thicker or thinner internet connections. This procedure is used in the CHT demonstration application called HNDFLCLN.APP.

*** http web file client login/get/put complete ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Client/Server
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This JumpStart presents an interface that performs all login/configuration steps for a CHT Web File Client application. Included are these capabilities: 1) Request full two-way, 128 bit encryption of all communications including login. 2) Request compression of all communications large enough to benefit from compression. 3) Request email reminder of login parameters. 4) Adjust progress reporting settings. 5) Adjust asynchronous data block settings to to allow for thicker or thinner internet connections. This procedure is used in the CHT demonstration application called HNDFLCLN.APP. NOTE: This JumpStart is a complete application like HNDFLCLN.APP. It should be created from a new, empty application containing only Main() as a TODO.

*** http web file client put files ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Client/Server
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure works in conjunction with the "Web File Client Login/Config" procedure to provide file upload capabilities to a CHT "Secure HTTP File Server". Features include compression and encryption as configured by the Login/Config component, as well as filtered local file selection using CHT query language and fully asynchronous behavior with clear progress and error reporting. This procedure is used in the CHT demonstration application called HNDFLCLN.APP.

*** handyhttpfiledelete_ehf ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp
PARENT:EmbedHTTPFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps you delete a file located at a remote website using HTTP protocol. Assumptions are that you know the website URL and the remote file name, and that the site is not secured with a password. The template provides for the selection of various controls from your window interface, each of which can trigger deletion a different file at a unique location on its accepted event. NOTE: This function requires a receptive CHT Browser Server to perform the actual file delete at the server end. The delete function is heavily restricted by the server and is not available unless you configure your specific server to allow it.

NOTE: The server being accessed must be a correctly configured CHT Server, minimum Type 1. This template is a child of EmbedHTTPFunctions, and as such cannot be populated to your procedure until its parent has been applied first.

*** handyhttpfileexists_ehf ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp
PARENT:EmbedHTTPFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps you check for the existence of a file at a remote website using HTTP protocol. Assumptions are that you know the website URL and the remote file name, and that the site is not secured with a password. The template provides for the selection of various controls from your window interface, each of which can trigger testing for a different file at a unique location on its accepted event.

NOTE: The server being accessed must be a correctly configured CHT Server, minimum Type 1. This template is a child of EmbedHTTPFunctions, and as such cannot be populated to your procedure until its parent has been applied first.

*** handyhttpgetfile_ehf ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp
PARENT:EmbedHTTPFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps you lay the groundwork for file downloading via HTTP in your procedure. It provides the, underlying mechanisms to let you download almost any file from any remote web site. Assumptions are that you know the website URL and the remote file name, and that the site is not secured with a password. The template provides for the selection of various controls from your window interface, each of which can trigger downloading a different file from a unique location on its accepted event.

NOTE: The server being accessed must be a correctly configured CHT Server, minimum Type 1. This template is a child of EmbedHTTPFunctions, and as such cannot be populated to your procedure until its parent has been applied first.

*** handyhttpputfile_ehf ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server
SCOPE:ABC PROCEDURE
CLASSES:HNDHttp
PARENT:EmbedHTTPFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template helps you lay the groundwork for file uploading by HTTP in your procedure. It provides the underlying mechanisms to let you upload almost any file to a website with a receptive CHT Browser Server running. The template provides for the selection of various controls from your window interface, each of which can trigger uploading a different file to a unique location on its accepted event.

(NOTE 1) If you select the "Secure" option, the called function OBJ.HttpPutFileSecure() requires a receptive CHT Browser Server to perform the actual file put at the server end. The put function is heavily restricted by the server and is not available unless you configure your specific server to allow it.

(NOTE 2) If you uncheck the "Secure" option, the called function OBJ.HttpBrowserPutFile() will submit a file using the same technique as a browser POST. This file upload should work with most generic web servers.

(NOTE 3) The server being accessed must be a correctly configured CHT Server, minimum Type 1. This template is a child of EmbedHTTPFunctions, and as such cannot be populated to your procedure until its parent has been applied first.

*** handywebclientbrowseprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds an HTTP client browse that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. A snap-in client form template HandyWebClientFormProcedure, a snap-in client report template HandyWebClientReportProcedure and a snap-in client process procedure HandyWebClientProcessProcedure provides a full complement of Web Client procedure types. With this template and it's accompanying snap-ins, building a fast, reliable across-the-web Client Server application accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP.

*** handywebclientbrowseprocedureex ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2017 ***
This template builds an HTTP client browse that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. This template differs from HandyWebClientBrowseProcedure, only in the query control being auto-populated. This "Ex" version of the template brings with it a newer, "snazzier" query control based in PopFavoriteQueries_CSBL, where the "CSBL" stands for Client Server Browse ListBox.
A snap-in client form template HandyWebClientFormProcedure, a snap-in client report template HandyWebClientReportProcedure and a snap-in client process procedure HandyWebClientProcessProcedure provide a full complement of Web Client procedure types. With this template and it's accompanying snap-ins, building a fast, reliable across-the-web Client/Server application accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP. Other example clients are: HNDCLIENTCLLEAN1VIEW.APP,HNDCLIENTCLLEAN4VIEW.APP.

*** handywebclientprocessprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandySourceProcedure_TS
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds an HTTP client process that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, a reliable across-the-web Client Server process procedure accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion ABC process. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDCLIENTCLLEAN1VIEW.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSVLEAN1VIEW.APP. A Web Client starting-point application is provided in demo application HNDCLIENTCLLEAN.APP. And a Web Client Server starting-point application is provided in demo application HNDCLIENTSVLEAN.APP.

*** handywebclientreportprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:REPORT
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandySourceProcedure_TS
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds an HTTP client report that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, a reliable across-the-web Client Server report procedure accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion ABC repot. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDCLIENTCLLEAN1VIEW.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSVLEAN1VIEW.APP. A Web Client starting-point application is provided in demo application HNDCLIENTCLLEAN.APP. And a Web Client Server starting-point application is provided in demo application HNDCLIENTSVLEAN.APP.

*** handywebclientupdateformprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDClient HNDHttp HNDClientHook
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEB 2017 ***

This template builds a Web Client-Server Update Form that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, building a fast, reliable across-the-web update form accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP.

*** handywebclientupdateformprocedure_lbx ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server
SCOPE:WINDOW
CLASSES:HNDClient HNDHttp
PARENT:Window(ABC)
  

DESCRIPTION:

*** NEW MARCH 2017 ***

This template builds a Web Client-Server Update Form that can access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. With this template, building a fast, reliable across-the-web update form accessing a very ordinary computer using a very standard DSL connection is no more difficult than building an regular Clarion desk-top application. This technology is considerably faster than Clarion's IP driver and it natively incorporates data compression, encryption, back-end views and CHT's query language system. An example client application is provided (HNDMTSCL.APP) which accesses CHT's forum data tables using an example server application called HNDMTSSV.APP.

CATEGORY:
Client/Server Browse
*** clientserverbrowselistbox ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server Browse
SCOPE:ABC PROCEDURE
CLASSES:HNDFileLoadBrowse
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED AUGUST 2017 ***

This control template populates a list box control, a set of edit buttons and the CHT classes and code necessary to build a Clarion browse that populates from a remote web server, like demo application HNDMTSSV.APP. A child template called ClientServerBrowseBuilder_XCL completes ClientServerBrowseListBox and is also required to be added to your procedure. ClientServerBrowseListBox can import the field names designated on your client server application as web browse fields in order to build a background queue that underlines the list box. This template is also compatible with QueryParsingFilterControl so that you can create CHT Query Language queries on your client window which are completed by your remote web-server application. For an example application see HNDMTSCL.APP which illustrates and provides Client-Server access to CHT's Subscriber Support Forum. The demo server servicing HNDMTSCL.APP is called HNDMTSSV.APP and is also available as a CHT demonstration application in the /hndapps/ directory. A document called CLIENT SERVER EXAMPLES explains how to add a server VIEW into HNDMTSSV.APP and a client browse to consume that VIEW into HNDMTSCL.APP.


An example server with 2 views and all server plumbing in place is called: HNDMTSSV.APP An example client with 2 browses but all client plumbing in place is called: HNDMTSCL.APP

*** clientserverupdateformbuttons ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Client/Server Browse
SCOPE:ABC PROCEDURE
CLASSES:HNDClientHook
PARENT:HandyWebClientUpdateFormProcedure
  

DESCRIPTION:

*** REVISED MARCH 2017 ***

This control template populates a set of update controls to a procedure created with CHT Template HandyWebClientUpdateFormProcedure. This template assists with importation of the a back end view created on your server application using CHT templates HandyJDODataAdapter and ClientServerDataBuilder. It also places the HNDClientHook class and references it to a passed-in instance of HNDHttp and writes all I/O code for fetching a requested record, posting it back and/or deleting it. For an example server application see HNDMTSSV.APP. This template, then completes the functionality of a HandyWebClientUpdateFormProcedure and provides controls that save, save and continue, refresh from server, and cancel the procedure window. For an example application see HNDMTSCL.APP which illustrates and provides Client-Server access to CHT's Subscriber Support Forum. The demo server servicing HNDMTSCL.APP is called HNDMTSSV.APP and is also available as a CHT demonstration application in the /hndapps/ directory. This template is a child of CHT Template HandyWebClientUpdateFormProcedure, and as such that template must be applied before this one is avaialable to be added. As of March 2017, hhis template is also a child of CHT Template HandyWebClientUpdateFormProcedure_LBX which creates a Client Server Web Form Procedure compatible with ListBoxBrowseExtender.

*** clientserverwebreportdatestamp ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server Browse
SCOPE:REPORT
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandyWebClientReportProcedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template plugs into another CHT template called HandyWebClientReportProcedure to automate the addition of a report date stamp.

*** clientserverwebreportpagenumber ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server Browse
SCOPE:REPORT
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandyWebClientReportProcedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template plugs into another CHT template called HandyWebClientReportProcedure to automate the addition of a report page number.

*** clientserverwebreporttimestamp ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server Browse
SCOPE:REPORT
CLASSES:HNDHttp HNDClient HNDClientHook
PARENT:HandyWebClientReportProcedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template plugs into another CHT template called HandyWebClientReportProcedure to automate the addition of a report time stamp.

*** listboxbrowseextender ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Client/Server Browse
SCOPE:WINDOW PROCEDURE
CLASSES:HNDFileLoadBrowse
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

This template automatically gives your queue-based listboxes extended characteristics such as Windows-style record marking with shift-click for marking ranges, ctrl-click for toggling and single-click for marking individual records. Full keyboard-only marking support is also provided.


SUMMARY OF KEYSTROKES USED FOR IN-QUEUE RECORD MARKING
  • MouseLeft - Mark record in single record mode.
  • ShiftMouseLeft - Mark end of range between selected and current row.
  • CtrlShiftMouseLeft - Continues marking from selected to current row.
  • CtrlMouseLeft - Toggle record marked/unmarked.
  • CtrlSpace - Same effect as CtrlMouseLeft.
  • ShiftUp - Mark next record up from selected.
  • ShiftDown - Mark next record down from selected.
  • UpKey - Switch to single record mode and move cursor up.
  • DownKey - Switch to single record mode and move cusror down.
  • CtrlUp - Move cursor up with no marking or unmarking.
  • CtrlDown - Move cursor dn with no marking or unmarking.
  • ShiftPgDn - Mark all from selected to top of current page.
  • ShiftPgUp - Mark all from selected to end of current page.
  • ShiftHome - Mark all from selected to first record.
  • ShiftEnd - Mark all from selected to last record.
  • HomeKey - Unmark all and select first record.
  • CtrlHome - Unmark all and select first record.
  • EndKey - Unmark all and select last record.
  • CtrlEnd - Unmark all and select first record.
  • PgUpKey - Unmark all and select last record on page.
  • PgDnKey - Unmark all and select first record on page.
  • CtrlA - Select all.
  • CtrlH - "H" how many selected.


The template adds "Explorer-like" features to your listboxes including column-header-click sort orders, reverse sortation and more. For FAST ABC-Browse-Template-FREE browses with local data or remote data this template is your ticket to browse data location freedom! To create a from-scratch ListBoxBrowsExtender procedure that includes a window and a listbox ready for configuration, use the procedure template called "ListBox BrowseExtender Client Server Browse".

Some example applications are: HNDPEOPLE_LBX.APP, HNDLBXDM.APP and HNDSCHOOL.APP.



*** listboxbrowseextenderclientserverbrowse ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Client/Server Browse
SCOPE:WINDOW
CLASSES:HNDHttp HNDClient
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** NEW JANUARY 2017 ***

This template builds a Client/Server ListBoxBrowseExtender (LBX) Client/Server browse that works with local data like an ABC browse AND can also access a CHT server back-end serving up any Clarion compatible data table whether ISAM or SQL. This template assumes that globally your application has applied at least these global templates:
AACHTControlPanel and VBLFileNames.


Once a procedure is created with this template follow these steps:
  • STEP 1: Make sure that AACHTControlPanel and VBLFileNames are attached globally.
  • STEP 2: Attach tables to your new procedure from the Clarion IDE's DATA/TABLES tab.
  • STEP 3: Open the ResizeHandlesControl dialog and insert the "?Display" control into the dropdown.
  • STEP 4: Open the LBX template dialog "ListBox Queue" and select a primary browse table.
  • STEP 5: On the same dialog, add queue fields to the "Queue Fields" dialog in the order you want them displayed on the browse.
  • STEP 6: Visit the WINDOW PROPERTIES button on your procedure and find the "?List1" Control
Example applications are: HNDPEOPLE_LBX.APP, HNDLBXDM.APP, HNDLBXEXAMPLE.APP

CATEGORY:
Coding Assistance
*** chtbestpracticeembedclass ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This template assists the developer with "Best Practice" embedding as discussed in several CHT papers written by Gus M. Creces concerning the topic of Clarion embedding practices. These papers may be found here:

Clarion Embedding Best Practice - Paper One

Clarion Embedding Best Practice - Paper Two

Clarion Embedding Best Practice - Paper Three

Example applications:

HNDBRWCL.APP, HNDBACKUPCONFIG.APP HNDCODESIGN.APP, HNDSMTPNETSEMO.APP, HNDNETZIPDEMO.APP HNDSQLTRACE.APP, HNDBATCHRUNNER.APP, HNDBULKMAILBATCHER.APP

*** callabccompliantmethod ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template provides assistance with calls to ABC Compliant methods available in all registered classes attached to this procedure or declared globally in the application. Begin by selecting the class instance name to be called, followed by the method to be called. Once any method is selected, the Clarion Expression Editor contains a prototype list of the parameter names and data types required to call that method. Insert the correct parameters and select a target variable to receive the method return value, where required. This template will warn you when a required return value is missing.

*** embedapphookfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDAppHook
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the EmbedAppHookFunctions Class. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

The functions added to your procedure by this template, are located in a class module set called HNDAPPHK.INC/HNDAPPHK.CLW. The class is explained further, including example demo app references in CHTCLASSES.HTML available from our website or in your CHT installation under \accessory\hnd\html\.

*** embedhndhextodecimalfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDHexToDecimal
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDHexToDecimal Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedinformation ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template creates a dummy embed which identifies the embed point being used - useful when embed information is needed to create a template of your own.

*** embedscripterfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDScripter
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template instantiates a CHT class called HNDScripter on your application procedure. The class is contained in modules HNDSCDAP.INC/HNDSCDAP.CLW/HNDSCDAP.TLB and provides binary-level read-write access to files.

*** embedview ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDViewAdapter
PARENT:Window(ABC), Report(ABC), Process(ABC)
  

DESCRIPTION:

*** REVISED DECEMBER 2016 ***

This code template generates a table view with an accompanying ABC ViewManager for tables selected here, into the data area of your procedure. When the "Generate View Scan" switch is checked ON, code is generated in the HNDViewAdapter class method PerformTableScan to scan the VIEW from top to bottom using a developer-determined key and filter. As matching records enter their respective buffers, a further call is made to HNDViewAdapter class method TakeNextTableRecord so that any action or change required on matching records may be acted on by developer-placed embeds. Example applications: HNDCLXHT.APP, HNDTPXHT.APP, HNDAPPSPLASHTOHTML.APP.

*** embedviewex ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDViewAdapter
PARENT:Window(ABC), Report(ABC), Process(ABC)
  

DESCRIPTION:

*** REVISED DECEMBER 2016 ***

This extension template generates a Multi-Table view with an accompanying ABC ViewManager for tables added to the Tables Schematic area of the procedure. When the "Generate View Scan" switch is checked ON, code is generated in the HNDViewAdapter class method PerformViewScan to scan the VIEW from top to bottom using a developer-determined key and filter. As matching records enter their respective buffers, a further call is made to HNDViewAdapter class method TakeNextViewRecord so that any action or change required on matching records may be acted on by developer-placed embeds.

In other words, this acts like a intra-procedure process that traverses the related tables described in the view using the process order and filter requested by the call made to PerformViewScan(). An optional dialog even lets you install an EVENT:Accepted action on one or more window controls that can separately start the process using a key or field to determine order and a Clarion-style filter to limit records. The template also provides a convenient GOTO EMBED: button on the properties dialog to help you find the critical embed point where the code that operates on your record is to be embedded.

The latest revision of this control allows you to set processing order via function call. This function would normally be a call into one of the CHT browse classes, for example OBJ.GetOrderFieldName() but it could be any custom call that returns a single view field name or multiple view field names separated by commas and indicating direction via plus or minus signs preceeding the field name. Another addition in the latest revision lets you the filter format in use: Clarion or SQL.

*** embedviewextransactionframe ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:HNDViewAdapter
PARENT:Window(ABC), Report(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is a child of EmbedViewEx and can be attached to a specific instance of that template in order to frame a transaction either 1) around the entire process OR 2) around each view record passing through the view. Each transaction frame may be configured to include only the primary table OR all child tables in the view.

*** extendedevents_ewf ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template writes the necessary code to intercept and act on extended window events that a standard Clarion application would normally be entirely blind to. This template is a child of CHT template EmbedWindowFunctions, and as such that template must be applied to your procedure first, before this one can be added. Note that EmbedWindowFunctions is also a child template with it's own, pre-requisites.

*** handyapplicationinifetch ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template writes the necessary code to fetch the contents of a single entry from your application INI file.

*** handyapplicationiniput ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template writes code to PUT data to a single entry in your application INI file. An optional "Include fetch?" switch will also write an INI fetch using the same group of tags and variables.

*** handyhelpfiletopicembed ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template embeds a call to a topic in your help file. The default help topic is the current procedure name.

*** handyhelpmessagebox ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template helps you to compose a detailed help message box, useful for pop-up instructions.

*** handyroutinemaker ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template drops a DO call to an embeddable routine that you name, and describe here. The template writes the routine header and provides you with a GOTO: button to take you to the routine's embed area to write your code. The third template tab provides you with a list of window controls that should call this routine on their accepted event. In other words, you can create, describe, write code, and place DO calls for a given routine, all from a single code-template embed point.

*** postcontrolevent ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template assists with posting events to controls on your procedure window.

*** postcontroleventonalert ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:ABCWindow
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template assists with posting events to controls on your procedure window. It intercepts an alertkey on a developer-designated window control and posts an event to another control.

*** posthotkeyevent ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Coding Assistance
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template assists with posting hot-key events to your procedure window.

CATEGORY:
Compile Manager
*** embedclarionddefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Compile Manager
SCOPE:ABC PROCEDURE
CLASSES:HNDClarionDDE
PARENT:AACHTControlPanel ApplicationImagesEx
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDClarionDDE Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. The functions in HNDCldde allow you to control the Clarion compiler, generator and IDE from another application.

See HNDCMP.APP the CHT Clarion Project Builder (AKA: CHT Compile Manager) for an example of this template in use. Note that since the appearance of C7, DDE has been dropped from the Clarion IDE as a control mechanism in favor of a command-line interface. The HNDClarionDDE class is now solely used by CHT to implement application batch compile from within several apps. These are: HNDCMP.APP, (CHT Batch Compile Manager) and HNDSETUPGEN.APP (CHT Installation Generator).

This template/class combo require HNDCAPCOM.DLL (capture console) and tag this DLL inside the application .SHP file.

*** exportproject ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** The CHT Compile Manager uses this template to export the [PROJECT] components from the TXA. It is run by CHT Compile Manager during the Export TXA functionality added in July 2007. The output from this is functionally equivalent to executing the "Export Project File" menu from the Clarion 6.x File Menu.

*** hndcmpcontrolpanel ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:HNDClarionDDE
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This global extension template enables your application to be controlled from the CHT Compile Manager. The settings listed below may be changed on an application-level basis from the compile manager control panel.

1) Control EXE, DLL application extension on=DLL off = EXE

2) Control DLL load address

3) Control Library or DLL Link mode on=Library, off=DLL

4) Control debug mode compile on/off

5) Control expire mode compile on/off

6) Control Translation file (English default, or Developer created) on/off

7) Control Processor Affinity on/off

8) Control Code signing on/off

9) Control TXA export on/off during compile pass

10) Control executable compression on/off

11) Control copying of completed exe/dll to configured target

12) Contol Stop On Error on/off

13) Contol HTML reporting on/off

14) Display success or failure of individual app compiles

HNDCMPControlPanel is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

*** hndcmpimportaactlpanel ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2017 ***

This template is used by the CHT Compile Manager and other CHT templates to attach the AACHTControlPanel template to your application where required by CHT templates to provide application configuration services.

*** hndcmpsetexpireoff ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by the CHT Compile Manager and AACHTControlPanel template to toggle the application's expiration pragma flag OFF. With this flag set off no expiration code is generated into the base area of your application, to stop it from running beyond an appointed date. The CHT Compile Manager allows the developer to change this setting with a single mouse click on its interface without requiring them to open the application and visit its Application Properties dialog.

*** hndcmpsetexpireon ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is used by the CHT Compile Manager and AACHTControlPanel template to toggle the application's expiration pragma flag ON. With this flag set and an expiration date provided, the AACHTControlPanel template generates expiration code into the base area of your application, stopping it from running beyond an appointed date. The CHT Compile Manager allows the developer to change this setting with a single mouse click on its interface without requiring them to open the application and visit its Application Properties dialog.

*** hndremoveapplicationpath ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** The CHT Compile Manager uses this template to remove the path from your application's Project -> Properties -> Target File setting. CHT Compile Manager expects the EXE or DLL created to appear in a predictable location (the application directory). Without this assumption it is unable to detect the completion of the application compilation phase and move onto the next application in a batch compile.

*** refreshabc ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Compile Manager
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

The CHT Compile Manager uses this template to trigger the Clarion IDE to unconditionally re-read all ABC Compliant Classes from disk in the event any have been changed.

CATEGORY:
DCT Extension
*** fieldlevelvalidationcode ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:DCT Extension
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This global extension template allows you to insert field-specific validation or update code into the ABC module that handles field level validation. The ABC file class calls into this validation code before any record is written to the disk, so you can be assured that dictionary-based code will execute before the data table to which it is attached is added to or updated. How to insert dictionary code: In the dictionary "Options" tab for a your data table, supply a new property called VALIDATIONx, where "x" is a value 1 - 9. You may include up to 9 different validation entries per data table. Then, supply three values for this property, organized into separate entries delimited by a comma and a carriage return. The entries must be provided in the following order:

1) Name of the field to validate - Includes field prefix.

2) The field code itself - Standard Clarion code.

3) A comment - Explains what the code does.

The following example is used in several CHT demonstration applications: PEO:SessionID, PEO:SessionID = RANDOM(100,999) & '-' & TODAY() & '-' & CLOCK(), Inserts a unique value whenever a record in this table changes.

See HNDO.DCT, People Table for an example. FieldLevelValidationCode is a child of master global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

*** vblfilenames ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:DCT Extension
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2016 ***

This extension template creates global file property variables for some (or all) tables it finds in your dictionary. Variables can be created for these dictionary properties on the "General" tab: Driver Options, Owner Name, and Full Pathname. It lets you set the default contents of these variables right in the dictionary and it provides several unique settings to indicate how the variables are to be initialized at run time.

See HNDO.DCT and HND2.APP and HND3.APP for some examples of this. VblFileNames is a child of master global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.

CATEGORY:
Data Access Low Level
*** embedhnddataadapterfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Data Access Low Level
SCOPE:ABC PROCEDURE
CLASSES:HNDDataAdapter
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDDataAdapter Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

CATEGORY:
Dates And Calendars
*** embeddatefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dates And Calendars
SCOPE:ABC PROCEDURE
CLASSES:HNDDates
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDDates Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embednetdatetimeclasses ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dates And Calendars
SCOPE:ABC PROCEDURE
CLASSES:HNDNetDateTimeClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of HNDNetDateTimeClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Functionality provided is extended Date/Time via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETDATETIME.INC/CLW/TLB. The DLL HNNETDATETIME.DLL is also required.

*** globalincludedatefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dates And Calendars
SCOPE:APPLICATION
CLASSES:HNDDates
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template globally instantiates a single instance of the CHT HNDDates class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** handypopupcalendar ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Dates And Calendars
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template incorporates the HNDDates class and drops code for a popup calendar in the current embed position. Two calendar functions are provided: Calendar() and CalendarEx(). The Calendar() function requires 11 standard icons, included with your CHT install set. These icons should be visible on the image path established in Clarion's redirection (.RED) file. The template adds the required icons to the project list where you can see them, in case you've misplaced them for any reason. The CalendarEx() function provides for 6 selectable color themes.

*** handypopupcalendarbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Dates And Calendars
SCOPE:WINDOW
CLASSES:HNDDates
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This code template incorporates the HNDDates Classes and drops code for a popup calendar in the current embed position. The calendar requires 11 standard icons, included with your Clarion Handy Tools install set. These icons should be visible on the path established in Clarion's redirection (.RED) file. The template adds the required icons to the project list where you can see them, in case you've misplaced them for any reason. Example application: HNDCAL.APP

*** jumpstart com calendar a ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Dates And Calendars
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure uses HandyComCalendarControl to provide a basic, fully user-customizable, popup calendar with a standard ABC Window procedure as its basis. Color, shape, size, event interception, are all completely under developer control and no more difficult to modify than an ordinary ABC window. HandyComCalendarControl switches and event handling embeds have been configured so that the procedure can can be dropped and compiled into an application with no changes if you want to use it as-is.

*** source_embeddatefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dates And Calendars
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDDates
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDDates Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

CATEGORY:
Dot NET - Drive Data
*** embednetdrivedataclasses ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dot NET - Drive Data
SCOPE:ABC PROCEDURE
CLASSES:HNDNetDriveDataClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of HNDNetDriveDataClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Functionality provided is extended Date/Time via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETDRIVEDATA.INC/CLW/TLB. The DLL HNDNETDRIVEDATA.DLL is also required.

CATEGORY:
Dot NET - FTP
*** embednetftpclasses ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dot NET - FTP
SCOPE:ABC PROCEDURE
CLASSES:HNDNETFTPClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension creates a single, local instance of HNDNetFTPClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Functionality provided is extended Date/Time via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETFTP.INC/CLW/TLB.

See HNDNETFTP.INC, HNDNETFTP.CLW and HNDNETFTP.TLB to study the header, code module and method interfaces respectively. Two demonstration applications called HNDFTPNET.APP and HNDZIPNFTPNET.APP illustrate use of the template and calling HNDNetFTPClass methods.

CATEGORY:
Dot NET - WIFI
*** embednetwlanapiclasses ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Dot NET - WIFI
SCOPE:ABC PROCEDURE
CLASSES:HNDNetWLanAPIClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of HNDNetWLanAPIClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Functionality provided is access to the Wireless Lan API via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETWLANAPI.INC/CLW/TLB.

CATEGORY:
EXE Compression
*** compressexecutable ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:EXE Compression
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** This template when executed runs the executable compressor against the latest instance of the application .EXE or .DLL. This makes your executables smaller by two thirds and lowers web-transport costs without affecting run-time performance. There is also the added benefit of making your executable impervious to password theft and modification with a hex editor, as compression makes all string storage areas of your application completely unreadable.

*** hndcmpdecoupleexecutablecompressor ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:EXE Compression
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2017 *** This template is used by CHT Compile Manager to disable the CHT global templates HandyExecutableCompressor and HandyCodeSigningExtension. This template is executed unconditionally by CHT compile manager to prevent the compile manager from being forced to wait while the compressor batch file is executed or code-signing is performed.

*** handyexecutablecompressor ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:EXE Compression
SCOPE:APPLICATION
CLASSES:None
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This global extension template compresses your executables (EXEs or DLLs) on completion of compile. This makes your executables smaller by two thirds and lowers web-transport costs without affecting run-time performance. There is also the added benefit of making your executable impervious to password theft and modification with a hex editor, as compression makes all string storage areas of your application completely unreadable. A switch on the template lets you turn this feature off. However, please consult the application interface for complete instructions on how to fully remove or disable this feature once enabled.

HandyExecutableCompressor is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected. NOT ABOUT ORDER OF OPERATION WHEN CODE SIGNING Since code-signing your executable must take place AFTER other executable file compression this template now detects when the CHT HandyCodeSigningExtension Template is present and enabled and ensures that the signing operation is performed AFTER compression.

CATEGORY:
Email Template
*** cdo send email basic ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides SMTP-quality send capabilities, using your installed email client via the Microsoft Collaboration Data Objects COM classes. The procedure provides a user interface to collect user send data (with defaults available from the Windows registry). It handles both HTML mail and TEXT mail.

*** embedcdomailfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDMScdo
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED DECEMBER 2015 ***

This extension creates a single, local instance of the HNDMScdo Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDCDOML.APP

*** embedhndoutlookclassfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDOfficeClass HNDOutlookClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDOfficeClass and HNDOutlookClass Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is the parent of a control template called HandyOutlookInterfaceControls. In order to populate HandyOutlookInterfaceControls this template must be applied to your procedure beforehand.

*** embedmapiemail ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDIMail
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDIMail Classes which provide email services via extended MAPI by enlisting the capabilities of your default email client, Outlook, Outlook Express and other non Microsoft MAPI-Compliant email client software. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example applications: HNDBLKML.APP, HNDMLMAPI.APP,

*** embednetmapiclasses ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDNetMAPIClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of HNDNetMAPIClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Functionality provided is MAPI Email Send via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETMAPI.INC/CLW/TLB. The DLL required for this is HNDNETMAPI.DLL.

*** embednetsmtpclasses ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDNetSMTPClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED DECEMBER 2015 ***

This extension creates a single, local instance of HNDNetSMTPClass. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Functionality provided is SMTP Email Send via a call into a C# DLL built with Visual Studio .NET utilizing COM Interop. The interface layer to Clarion can be found in HNDNETSMTP.INC/CLW/TLB.

*** embedsmtpfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDSmtp
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This extension creates a single, local instance of the HNDSmtp Classes. As of Build 19C.00.00 (3rd quarter 2015) this class (HNDSMTP) uses Clarion DLL CLARUNEXT.DLL to perform smtp sends rather than the HNDSM.DLL used in earlier versions. Certain class properties and functions have been dropped or changed and will require amendments if hand-embedded. Template-based calls generated by this template have been adjusted to these class revisions and will generate correctly. Template configurations made on the template prompts may need to be checked for correctness of content but WILL generate correct code for the implementation. Since SMTP is sendmail capable only, the email configurations dialogs have now been adjusted to ask only for SMTP Server, SMTP Port, SMTP User and SMTP Password. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Example applications: HNDZIPNEMAILSMTP.APP, HNDMAILSMTP.APP, HNDBULKSMTPMAIL.APP

*** handycommapicontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDComMapiControl
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a MicroSoft COM MAPI Control from MSMAPI32.OCX on your application window. CHT's MAPI Control provides a full-feature, user-configurable MAPI Email interface that lets users easily control send, behaviors. Developers have the option of creating their own email interfaces for sending, using the default email client's (OutLook or OutLook Express) interface or simply provide programmatic background sending of single or multiple emails including CC and BCC. See HNDMAPI.INC, HNDMAPI.CLW and HNDMAPI.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDEZMAPI.APP illustrates use of the template and calling HNDComMapiControl Class methods.

*** handycomoutlookcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDOutlookClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a Microsoft COM Outlook Control from OUTLCTL.DLL on your application window. CHT's Outlook Control provides a full-feature, user-configurable Outlook Email interface that lets users easily control send, receive and view behaviors, and interact with email documents, tasks, journals, contacts, and more from inside their Clarion application. See HNDOUTTL.INC, HNDOUTTL.CLW and HNDOUTTL.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDOUTLOOK.APP illustrates use of the template and calling HNDOutlookClass Class methods.

*** handymailmecontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a mailto: email link on your application window. It also creates an embeddable instance of the HNDWindow Class. Clicking the resulting link starts your email program ready to accept email body information and sends mail to the recipient of your choice. In this template's entry fields, you may enter information in constant or variable format. Variables may be selected using the ellipsis button. Variables are distinguished from text by a leading exclamation mark.

*** handymailmecontrol_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a mailto: email link on your application window. It requires that the EmbedWindowFunctions template be on the window first. Clicking the link placed by this template starts your email program, enabling you to send an email message to the recipient of your choice. In this template's entry fields, you may enter information in constant or variable format. Variables may be selected using the ellipsis button. Variables are distinguished from text by a leading exclamation mark. This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added.

*** handymapiemail ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC PROCEDURE
CLASSES:HNDIMail
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDIMail Classes which provide email services via extended MAPI by enlisting the capabilities of your default MAPI-Compliant email clients Outlook and Windows Live Mail. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDMAILSEND.APP

*** handyoutlookinterfacecontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDOfficeClass HNDOfficeOutlook
PARENT:Window(ABC),EmbedHNDOutlookClassFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This set of controls may be selectively used or removed in order to control Microsoft Word. The template is a child of EmbedHNDOutlookClassFunctions(HNDTools) which must be present before this control template becomes visible for application to your procedure window. This template provides a set of button controls intended for placement on ABC windows. Unwanted controls may be removed from the window when only a single functionality is required. Functions included are: Appointments, Tasks, Posts, Notes, Journal, Contacts and Email. This template and its underlying class HNDOfficeOutlook are a work in progress which will continue to expand in power and sophistication throughout 2009.

*** instantemailsend ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDIMail
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template and its underlying classes are optimized for use with OutLook and OutLook Express as the default email client. Other non-Microsoft email clients may exhibit slightly different behaviors, depending on their implementation of the MAPI interface or simply on your configuration of the email client software. Some clients may fail outright no matter what you do and will require you to replace them with a more Outlook- compatible default client if you intend to make use of this template. The template instantiates the HNDIMail class, and initializes sufficient properties of the class to create an "Email Send" procedure. It writes all the code necessary to send an email message to the provided email address(es). It provides for CC's and BCC's as well as for the inclusion of one or email attachments with the message. Preparation required by you is kept to a minimum.

*** instantoutlookmail ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:HNDIMail
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template and its underlying classes are optimized for use with OutLook and OutLook Express as the default email client. Other non-Microsoft email clients may exhibit slightly different behaviors, depending on their implementation of the MAPI interface or simply on your configuration of the email client software. Some clients may fail outright no matter what you do and will require you to replace them with a more Outlook- compatible default client if you intend to make use of this template. The template places 25+ controls on your window. If you do not want to make use of the functionality that any particular control represents, simply remove that control without letting the Clarion IDE remove the entire template. We've populated this quantity of controls to help illustrate the use of specific HNDIMail Class methods and properties. Example application HNDBLKML.APP

*** mapi insert parameters with interface ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that O.E. is the email client and that it is correctly configured to send mail. When called, this procedure initially presents the O.E. client interface from which recipients may be selected via address book. Attachments may be added and optionally compressed. A full set of parameters may be passed from your procedure, including Subject, Body, CC and BCC.

*** mapi send from address book ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. When called, this procedure initially presents the default WAB addessbook from which recipients may be selected followed by various actions including email-send.

*** mapi send multiple attachments ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. Multilple email attachments are provided for, including optional attachment file compression to .zip. Send parameters Address, Subject, Body and Attachments directly to this procedure or embed constants or variables for these values directly into the procedure.

*** mapi send one attachment ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. A single email attachment is provided for, including optional attachment file compression to .hnz or .zip. Send parameters Address, Subject, Body and Attachment directly to this procedure or embed constants or variables for these values directly into the procedure.

*** mapi send with client interface ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. When called, this procedure initially presents the O.E. client interface from which recipients may be selected via address book. Attachments may be added and optionally compressed.

*** mapi send without attachments ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides MAPI send capabilities, using basic MAPI defaults. It assumes that your email client is MAPI compatible and is correctly configured to send mail. Email attachments are not provided for. Send parameters Address, Subject and Body directly to this procedure or embed constants or variables for these values directly into the procedure.

*** smtp configure ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED JUNE 2015 *** This procedure lets the user configure the SMTP settings to the registry such that all portions of your app or system can recover them from there. Important elements of this, like the password are stored encrypted.

*** smtp send html advanced ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED JUNE 2015 *** This procedure provides SMTP send capabilities, using advanced SMTP settings. This function uses SMTP authorization and displays an optional SMTP settings setup interface. HTML can be selected in the form of an HTML file or inserted via code embedded into the procedure. Implements CC, BCC, compression and encryption, embedded images and/or web-referencing images.

*** smtp send text advanced ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED JUNE 2015 *** This procedure provides SMTP send capabilities, using advanced SMTP settings. It uses SMTP authorization and displays an optional SMTP settings setup interface. Message text can be selected in the form of a file or inserted via code embedded into the procedure. Implements CC, BCC, compress and encryption.

*** smtp send with attachment compression ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED JUNE 2015 *** This procedure provides SMTP send capabilities, using basic SMTP defaults. Send parameters Smtp Server, To Address, From Address, Subject, Body and Attachment Queue to this procedure or embed constants or variables for these values directly into the procedure.

*** smtp send with attachments ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED JUNE 2015 *** This procedure provides SMTP send capabilities, using basic SMTP defaults. Send parameters Smtp Server, To Address, From Address, Subject, Body and Attachment to this procedure or embed constants or variables for these values directly into the procedure.

*** smtp send without attachments ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED JUNE 2015 *** This procedure provides SMTP send capabilities, using basic SMTP defaults. Send parameters Smtp Server, To Address, From Address, Subject and Body to this procedure or embed constants or variables for these values directly into the procedure.

*** select email addresses ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Email Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This ABC Window procedure provides functionality to pop up a generic HandyMarkerBrowse of email addresses imported from Windows Live Mail via .CSV exported from Windows Live Mail. The browse requires that your application dictionary contains two .TPS file definitions used by the procedure. These defintions are: WindowsMailFull and WindowsMailTps. Prepared file defintions ready-to-be-imported to your application may be located in HNDZIPNEMAIL.DCT, HNDZIPNFTP.DCT or HNDO.DCT. This jump start procedure is based on a procedure with the same name found in the demo application HNDZIPNEMAIL.APP.

*** snapmapistartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start the CHT SnapMAPI command line email send utility. This template is a child of CHT template ApplicationSnapIns(HndTools) which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPMAPI dialog. Example application HNDZIPNEMAILSNAPMAPI.APP.

*** snapsmtpstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Email Template
SCOPE:WINDOW
CLASSES:None
PARENT:ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start the CHT SnapSMTP command line email send utility. This template is a child of CHT template ApplicationSnapIns(HndTools), which must first be available on the application before this extended control becomes visible for selection and placement on your procedure window. Global template ApplicationSnapins(HndTools), once added to your application must also have its "Enable?" and "Copy" switches checked, in the CHT SNAPSMTP dialog. Example application: HNDZIPNEMAILSNAP.APP.

*** source_embedmapifunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDIMail
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDIMail Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** source_embedsmtpfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Email Template
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDSmtp
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This extension creates a single, local instance of the HNDSMTP Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

CATEGORY:
Error Handling
*** embeddebugviewtrace ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Error Handling
SCOPE:ABC PROCEDURE
CLASSES:HNDError
PARENT:Any
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template helps you call OBJ.PostDebugString() in available instances of the CHT HNDERROR class, in order to trace the values of variables and class properties or return values of function calls via DebugView. This embeded functionality, is immediately disengaged when your application is re-compiled with DEBUG mode off. If you do not have a copy of DebugView, visit http://www.microsoft.com/technet/sysinternals/utilities/debugview.mspx.

*** embedhnderrorclass ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Error Handling
SCOPE:ABC PROCEDURE
CLASSES:HNDError
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDError Classes to your procedure. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** handycustomabcerrors ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Error Handling
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC),Report(ABC),Process(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template adds custom errors to the standard ABC global error handler. It provides for specific error conditions and messages produced by your application that are not normally provided for in the stock of standard errors messages and conditions available from the ABC error handler.

CATEGORY:
Extended Controls
*** embedcalculatorfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDCalc
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This extension creates a single, local instance of the HNDCalcControl Class. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

On closing, the calculator posts EVENT:HandyCalcThreadReturn to your calling window at which time the calculator return value can be picked up from module variable CalcInVal. A child control template of this extension template is available (HandyCalcEntryControl_ECF) to assist in calling HandyCalc() from a button that completes an entry field. For a demonstration application, see HNDCALCULATOR.APP.

*** embedhndsplitter ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDSplitter
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template attaches CHT Class HNDSplitter, (based in HNDSPLITTER.INC/HNDSPLITTER.CLW) to your procedure window and it acts as the base template for two related control templates called HandySplitBarHorizontal and HandySplitBarVertical. Note that these two control templates are not visible for application to your window until this EmbedHNDSplitter template is first attached to your procedure.

Example application: HNDSPLITTERTEST.APP.

*** embedshellautocompletefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDShellAutoComplete
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDShellAutoComplete Classes. See HNDAUTOC.INC and HNDAUTOC.CLW for the class header and code module for the HNDShelllAutoComplete class underlying this template. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedshellfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDShell
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDShell Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedshelllinkclassfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDShellLinkClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDShellLinkClass Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDCMP.APP

*** handyaddresscontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDAddressBox HNDNameBox
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places four addressing controls that emulate the behavior of Microsoft OutLook's name and address controls. It also creates embeddable instances of the HNDAddressBox Classes and HNDNameBox Classes.

*** handycomanimationcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComAnimation
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a MicroSoft COM Animation Control from MSCOMCT2.OCX on your application window. An animation control is a window that displays an Audio-Video Interleaved (AVI) clip. An AVI clip is a series of bitmap frames like a movie. Animation controls can only display AVI clips that do not contain audio. One common use for an animation control is to indicate system activity during a lengthy operation. This is possible because the operation thread continues executing while the AVI clip is displayed. For example, the Find dialog box of Microsoft Windows Explorer displays a moving magnifying glass as the system searches for a file. An animation control can display an AVI clip originating from either an uncompressed AVI file or from an AVI file that was compressed using run-length (BI_RLE8) encoding. You can add the AVI clip to your application as an AVI resource, or the clip can accompany your application as a separate AVI file. The template incorporates a CHT COM Class Wrapper called HNDComAnimation into your procedure. See HNDCMANI.INC, HNDCMANI.CLW and HNDCMANI.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDANIMATION.APP illustrates use of the template and calling HNDComAnimation Class methods.

*** handycomcalendarcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDMscalClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a MicroSoft COM Calendar Control from MSCAL.OCX on your application window. The calendar control provides a full-feature, user-configurable display calendar that lets users easily select and change a date. The template incorporates a CHT COM Class Wrapper called HNDMscalClass into your procedure. A Calendar Control provides a simple and intuitive interface through which to exchange date information with a user. See HNDMSCAL.INC, HNDMSCAL.CLW and HNDMSCAL.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDCMCAL.APP illustrates use of the template and calling HNDMscalClass Class methods.

*** handycomdatepickercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDDatePicker
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a MicroSoft COM Date Picker Control from MSCOMCT2.OCX on your application window. The date picker control provides a full-feature, user-configurable drop-down calendar that lets users easily select and change a date. The template incorporates a CHT COM Class Wrapper called HNDDatePicker into your procedure. A date and time picker (DTP) control provides a simple and intuitive interface through which to exchange date and time information with a user. See HNDDTPKR.INC, HNDDTPKR.CLW and HNDDTPKR.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDDTPK.APP illustrates use of the template and calling HNDDatePicker Class methods. Another demo app recently added is HNDCLIENTCLLEAN1VIEW.APP (PeopleViewForm Procedure).

*** handycomdigitalclockcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDDigitalClockClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a CHT COM Digital Clock Control from HNDDGTLCLOCK.OCX on your application window. Using this template you can place CHT's Digital Clock Control on your application window and write no code. See HNDDGTL.INC, HNDDGTL.CLW and HNDDGTL.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDDIGITALCLOCKDEMO.APP illustrates use of this template.

*** handycomeventloggercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDEventLoggerClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a CHT COM Event Logger Control from HNDEVENTLOGGER.DLL on your application window. CHT's Event Logger Control provides an easy-to-use COM interface inside your application procedures for writing Events, Errors and Warnings to the SYSTEM APPLICATION LOG where they can be found and read using EVENTVWR.MSC. See HNDEVEER.INC, HNDEVEER.CLW and HNDEVEER.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDEVENTLOGGERDEMO.APP illustrates use of the template and calling HNDEventLoggerClass methods.

*** handycomflashplayercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDFlashClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a COM Flash Player Control on your application window. Macromedia ShockWave Flash Files (.SWF) provide animation services to web pages and act as animated help files and demonstration videos. With this control, you can play and control the playing of Macromedia Flash files directly on your application windows. See HNDFLASH.INC, HNDFLASH.CLW and HNDDFLASH.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDFLASHDEMO.APP illustrates use of this template while providing a convenient tutorial host to play the .SWF files provided with Clarion 6. WWW.MACROMEDIA.COM to download the necessary flash player files required by this CHT class and template.

*** handycominternetexplorercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDInternetExplorer
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a MicroSoft COM Internet Explorer Control from SHDOCVW.DLL on your application window. CHT's Internet Explorer Control provides a full-feature, user-configurable IE browser that lets users easily control browser behaviors, and interact with the DOM (Document Object Model) from inside their Clarion application. SHDOCVW.DLL provides functionality such as navigation and history, and is commonly referred to as the WebBrowser control. When your application hosts the WebBrowser control, it obtains all the functionality of Internet Explorer except for the user interface. This means that you will need to provide your own implementations of toolbars and menus. See HNDSHDVW.INC, HNDSHDVW.CLW and HNDSHDVW.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDBRWCL.APP illustrates use of the template and calling HNDInternetExplorer Class methods. Other demo apps using this control: HNDFORUMVIEWERLITE.APP, HNDGOOGLECALENDAREXPLORER.APP, HNDPRINTHTML.APP, HNDPREVIEWER.APP

*** handycommailslotcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDMailSlotClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a CHT COM Mail Slot Control from HNDMAILSLOT.DLL !on your application window. CHT's Mail Slot Control provides an easy-to-use COM interface inside your application procedures for sending and receiving inter-process and inter-application messages, across network domains. See HNDMAIOT.INC, HNDMAIOT.CLW and HNDMAIOT.TLB to study the header, code module and method interfaces respectively. Two demonstration applications called HNDMAILSLOTSV.APP (a server) and HNDMAILSLOTCL.APP (a client) illustrate use of the templates and calling HNDMailSlotClass methods.

*** handycommediaplayercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindowsMediaPlayer
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2016 ***

This control template places a COM Windows Media Player Control on your application window. Windows Media Files provide audio and video services to web pages and can act as sound and video help files and demonstrations. With this control, you can play and control the playing of a variety of media files (.AVI, .WMA, .WMV, .ASX, .WAX, .WVX, .WPL, .DVR-MS, .WMD, .MPG, .MPEG, .M1V, .MP2, .MP3, .MP4, .MPA, .MPE, .MPV2, .M3U, .MID, .MIDI, .RMI, .AIF, .AIFC, .AIFF, .AU, .SND, .WAV, .CDA, .IVF, .MOV, .QT and player skins files .WMZ, .WMS) directly on your application windows. See HNDWMP.INC, HNDWMP.CLW and HNDWMP.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDMEDIAPLAYER.APP illustrates use of this template while providing a convenient tutorial host to play the .WMV-based video training files provided with CHT as a training aid to the wide variety of uses for our templates and classes.

*** handycomprogressbarcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComProgress
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a MicroSoft COM Progress Bar Control from MSCOMCTL.OCX on your application window. This control provides a full-feature, user-configurable vertical/horizontal/flat/3D Monochrome progress indicator. The template incorporates a CHT COM Class Wrapper called HNDComProgressBar into your procedure. With a progress bar, users can follow the progress of a lengthy operation. A progress bar may show either an approximate percentage of completion (determinate) or indicate that an operation is ongoing (indeterminate). Microsoft usability studies have shown that users are aware of response times of over one second. Consequently, you should consider operations that take two seconds or longer to complete to be lengthy and in need of progress feedback. See HNDPRGBR.INC, HNDPRGBR..CLW and HNDPRGBR..TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDPROGRESSBAR.APP illustrates use of the template and calling HNDComProgressBar Class methods.

*** handycomslidercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComSlider
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a MicroSoft COM Slider Control from MSCOMCTL.OCX on your application window. The slider control provides a full-feature, user-configurable left/right/up/down slider that lets users easily select and change a value inside a range established on the control. When the user moves the slider, using either the mouse or the direction keys, the slider sends notification messages to indicate the change to an event called EVENT:HandySliderControl. The template incorporates a CHT COM Class Wrapper called HNDComSlider into your procedure. See HNDCSLDR.INC, HNDCSLDR.CLW and HNDCSLDR.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDSLIDER.APP illustrates use of the template and calling HNDComSlider Class methods.

*** handycomwindowsscripthostcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDScriptHostClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template attaches a CHT Wrapper for Windows Script Host technology on your application window. Windows Script Host is a Microsoft COM DLL called WSHOM.OCX which provides script-based services (eg: WScript, JScript and VBScript) to the operating system and to the I.E. browser. Microsoft describes it as follows: "Windows Script Host (WSH), a feature of the Microsoft(C) Windows(C) family of operating systems, is a powerful multi-language scripting environment ideal for automating system administration tasks. Scripts running in the WSH environment can leverage the power of WSH objects and other COM-based technologies that support Automation, such as Windows Management Instrumentation (WMI) and Active Directory Service Interfaces (ADSI), to manage the Windows subsystems that are central to many system administration tasks." WSH includes the WScript object and three COM-based objects: WshShell, WshNetwork, and WshController. The WSH COM objects are useful in several situations. For example, the WshNetwork object allows you to map network drives; this capability is not available in either WMI or ADSI. This template and its underlying wrapper class, HNDScriptHostClass, based in modules HNDWSHOM.INC/HNDWSHOM.CLW/HNDWSHOM.TLB provide you the equivalent of running windows administration scripts from inside your Clarion application, using Clarion syntax rather than writing WScript, JScript or VBScript. See example program HNDWINDOWSSCRIPTHOSTDEMO.APP for an example that illustrates some of the capabilities provided. For more information about Windows Script Host, check MSDN.

*** handycalcentrycontrol_ecf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDCalcControl
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This control template places a numeric entry control on your application window along with a button that pops up a CHT HandyCalc multipurpose calculator. The entry field value is passed into the calculator, where it may be manipulated via calculator functions. The resulting calculation can be accepted, in which case the entry control is updated, or rejected, leaving your entry control intact. This template is a child of EmbedCalculatorFunctions (hence the _ECF suffix in the name). That means, EmbedCalculatorFunctions must first be populated before this template becomes visible as a control that may be populated on your procedure windows. The control brings with it a DECIMAL variable which is automatically populated to the control via PROP:Use. You can, of course change this by selecting a new variable from the DATA button or from your DICTIONARY. The field picture may also be re-assigned as needed. A thread option on this template allows the developer to start the calculator on a dedicated thread that services only the control populated by this template. This feature lets you attach unique instances of the HNDCalcControl class to multiple entry controls on the procedure window without causing cross-contamination from one calculator value to the next or one entry control to the next.

*** handycalctapeentrycontrol_ecf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDCalcControl
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This control template places a numeric entry control on your application window along with a button that pops up a CHT HandyCalc multipurpose tape-style calculator. The entry field value is passed into the calculator, where it may be manipulated via calculator functions. The resulting calculation can be accepted, in which case the entry control is updated, or rejected, leaving your entry control intact. This template is a child of EmbedCalculatorFunctions (hence the _ECF suffix in the name). That means, EmbedCalculatorFunctions must first be populated before this template becomes visible as a control that may be populated on your procedure windows. The control brings with it a DECIMAL variable which is automatically populated to the control via PROP:Use. You can, of course change this by selecting a new variable from the DATA button or from your DICTIONARY. The field picture may also be re-assigned as needed. A thread option on this template allows the developer to start the calculator on a dedicated thread that services only the control populated by this template. This feature lets you attach unique instances of the HNDCalcControl class to multiple entry controls on the procedure window without causing cross-contamination from one calculator value to the next or one entry control to the next.

*** handyfiledialogselectbutton_edf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDDisk
PARENT:EmbedDiskFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens a file dialog and returns the selected file to an entry control, also provided by the template. The entry control, once a value has been selected into it, has its value preserved in the application's configuration system, using the ABC IniFile infrastructure provided by ABC on all standard applications. This template is a child of CHT template EmbedDiskFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyfiledialogselectbutton_edfex ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDDiskEx
PARENT:EmbedHNDDiskExFunctions
  

DESCRIPTION:

*** REVISED APRIL 2015 ***

This control template places a button on your window that, when clicked, opens a file dialog and returns the selected file to an entry control, also provided by the template. The entry control, once a value has been selected into it, has its value preserved in the application's configuration system, using the ABC IniFile infrastructure provided by ABC on all standard applications. This template is a child of CHT template EmbedHNDDiskExFunctions (hence _EDFEX) which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyfiledialogselectbutton_eshf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDShell
PARENT:EmbedShellFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens a file dialog and returns the selected file to an entry control, also provided by the template. The entry control, once a value has been selected into it, has its value preserved in the application's configuration system, using the ABC IniFile infrastructure provided by ABC on all standard applications. This template is a child of CHT template EmbedShellFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyfiledialogselectbutton_eutf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDUtil
PARENT:EmbedUtilityFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens a file dialog and returns the selected file to an entry control, also provided by the template. The entry control, once a value has been selected into it, has its value preserved in the application's configuration system, using the ABC IniFile infrastructure provided by ABC on all standard applications. This template is a child of CHT template EmbedUtilityFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyfiledialogselectbutton_hczc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDComZipClass
PARENT:HandyCOMZipperControl
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This control template places a button on your window that, when clicked, opens a file dialog and returns the selected file to an entry control, also provided by the template. The entry control, once a value has been selected into it, has its value preserved in the application's configuration system, using the ABC IniFile infrastructure provided by ABC on all standard applications. This template is a child of CHT template HandyCOMZipperControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handygradientellipse ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a gradient-style ellipse control on your window. This can act as a backdrop to a variety of interface controls. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control.

*** handygradientroundbox ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a gradient-style rounded box control on your window. This can act as a backdrop to a variety of interface controls. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control.

*** handyhyperlink ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ** This control template mimics a web hyperlink on your application window. They hyperlink control can perform all of the same operations normally performed by a standard button control. Click the hyperlink control, to start a procedure, run an application or shell to your Internet Browser and visit a website or launch a local HTML, PDF, MP4 (video) or HELP document of your choice.

*** handyhyperlink_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ** This control template mimics a web hyperlink on your application window. They hyperlink control can perform all of the same operations normally performed by a standard button control. Click the hyperlink control, to start a procedure, run an application or shell to your Internet Browser and visit a website or launch a local HTML, PDF, MP4 (video) or HELP document of your choice.

*** handypopupmenubutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template lets you easily create popup menus connected to a button dropped on your application window by the template. For even greater design flexibility, hide the button created with this template and post EVENT:Accepted from another control. Menu execution code may be provided in one of three ways: 1) selecting an executable, 2) entering embed code on the template or 3) entering embed code, inline inside the embed points provided. A CHT Demo application called HandyPopupMenuButton illustrates 5 instances of this template populated on the same window.

Update June 2017: Popup menu configuration now includes full font, size, boldness, color control and programmatic enable/disable capability.

*** handyquerytracingbutton_expb ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDBrowse
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that enables DebugView-based query tracing on CHT browse extension template, ExplorerBrowse. This is a child template of ExplorerBrowse, which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. The latest modification includes a new flag (HPROP:FullSelect) that exposes the entire SQL select string as well as a switch that re-directs tracing output to HNDSQLTRACE.APP.

*** handyquerytracingbutton_hndmb ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDMarkerBrowse
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that enables DebugView-based query tracing on CHT browse extension template, HandyMarkerBrowse. This is a child template of HandyMarkerBrowse, which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. The latest modification includes a new flag (HPROP:FullSelect) that exposes the entire SQL select string as well as a switch that re-directs tracing output to HNDSQLTRACE.APP.

*** handyquerytracingbutton_hqpl ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:PROCESS WINDOW
CLASSES:HNDParse HNDBrwFilter
PARENT:HandyQueryProcessLimiter
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that enables DebugView-based query tracing on CHT process extension template, HandyQueryProcessLimiter. This is a child template of HandyQueryProcessLimiter, which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyquerytracingbutton_hqrl ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:REPORT WINDOW
CLASSES:HNDParse HNDBrwFilter
PARENT:HandyQueryReportLimiter
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that enables DebugView-based query tracing on CHT report extension template, HandyQueryReportLimiter. This is a child template of HandyQueryReportLimiter, which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyquerytracingbutton_lorc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDBrowse
PARENT:LocatorOverRideControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that enables DebugView-based query tracing on CHT browse extension template, LocatorOverRideControl. This is a child template of LocatorOverRideControl, which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handyregionbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ** This control template mimics a flat button on your application window suggested for use in highly graphical environments like the example application HNDCDROMEXAMPLE.APP. This active control can perform all of the same operations normally performed by a standard button control. Click to start a procedure, run an application or shell to your Internet Browser and visit a website or launch a local HTML, PDF or HELP document of your choice. The button changes its background and text colors (as configured) when the user's mouse scrolls over it. Colors are configured directly on the template. Actions are assigned via embedding. An embedbutton appears directly on the template to take the developer to the accepted embed point.

*** handyrulercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a horizontal/vertical ruler set which can be used to border an image or workspace for dimensioning. The rulers may be scaled to give the effect of zooming nearer to or further from the graphic workspace. All ruler properties such as fill color, text color, division marker color, location of ruler zero point may be set directly on the screen designer work surface. Ruler length (inches only in this release) is set from the "Ruler Length" tab.

*** handyrunapponwindowtimercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyTimeEnterAndSaveControl(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a hidden button on your procedure window that places code in the EVENT:Timer embed to count down to a specific time of day and start start an application with a command line parameter. This template is a child of HandyTimeEnterAndSaveControl which must be populated prior to this template becoming available for implementation on your window.

*** handyserviceremotecontrolbuttons_eshf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDShell HNDWindow
PARENT:EmbedShellFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a five buttons on your window that, when clicked, perform, respectively, the following function actions on a locally installed NT Service: 1) Start the NT service, 2) Stop the NT service, 3) Bring the NT service window up for editing, 4) Dismiss the NT service window 5) Post parameter values to the NT service window. There is an implicit assumption in the things that this template does, that your NT Service application was built with CHT's service template HandyNTServiceFunctions, and that your service's control window, has implemented code for events EVENT:HandyUnHideWindow, EVENT:HandyHideWindow and EVENT:HandyTakeMessage, using CHT template ExtendedEvents_EWF. HandyServiceRemoteControlButtons_ESHF is a child of CHT template EmbedShellFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. The template also solicits the developer for the name of a required instance of the HNDWindow class on your procedure. For example applications see HNDSERVICEUP.APP (illustrating this template) and HNDWINDOWSSERVICESDEMO.APP (illustrating the service application being communicated to, by HNDSERVICEUP.APP).

*** handyserviceremotecontrolbuttons_hcmsc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDMailSLot HNDWindow
PARENT:EmbedShellFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a four buttons on your window that, when clicked, perform, respectively, the following remote control service function actions: 1) Stop an installed NT service, 2) Bring an NT service window up for editing, 3) Dismiss an NT service window 4) Post parameter values to an NT service window. There is an implicit assumption in the things that this template does, that your NT Service application was built with CHT's service template HandyNTServiceFunctions, and that the your service's control window, has implemented code for CHT MailSlot Events: EVENT:ServiceUP, EVENT:ServiceDismiss, EVENT:ServiceStop and EVENT:ServiceData. HandyServiceRemoteControlButtons_HCMSC is a child of CHT template HandyCOMMailSlotControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. For example applications see HNDSERVICEUPREMOTE.APP (illustrating this template) and HNDWINDOWSSERVICESDEMO.APP (illustrating the service application being communicated to, by HNDSERVICEUPREMOTE.APP via CHT Mail Slots).

*** handyslidercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDSlider
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template places a slider control on your window and creates an embeddable instance of the HNDSlider Classes The control is a standard MS Windows slider capable of generating a value based on the slider's thumb position within a user-determined scale. An inner range of values within the outer scale, may be imposed on the control. Further, the slider can be made to automatically synchronize itself with an outside value on a user-determined triggering event.

*** handysplitbarhorizontal ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:ABC WINDOW
CLASSES:HNDSplitter
PARENT:Any ABC Window
  

DESCRIPTION:

*** REVISED MAY 2016 ***

Before this template is visible to be dropped on your procedure window, its parent template "EmbedHNDSplitter" must be first added as an extension to your procedure. HandySplitBarHorizontal provides a control that may be dragged east or west in order to move other window controls out of the way or to stretch or shrink them.

Demo Applications: HNDAPPSPLASHTOHTMLC9.APP, HNDTPXHTC9.APP, HNDSPLITTERTEST.APP, HNDCLXHTC9.APP

*** handysplitbarvertical ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:ABC WINDOW
CLASSES:HNDSplitter
PARENT:Any ABC Window
  

DESCRIPTION:

*** REVISED DECEMBER 2016 ***

Before this template is visible to be dropped on your procedure window, its parent template "EmbedHNDSplitter" must be first added as an extension to your procedure. HandySplitBarVertical provides a control that may be dragged north or south in order to move other window controls out of the way or to stretch or shrink them.

Demo Applications: HNDAPPSPLASHTOHTMLC8.APP, HNDAPPSPLASHTOHTMLC9.APP, HNDTPXHTC8.APP, HNDTPXHTC9.APP

*** handytellmecontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED FEBRUARY 2017 ***

This control template places a standard text control on your application window. It also creates an embeddable instance of the HNDWindow Classes. The control serves as a message or help control. On the other template buttons, complete the text that you want to initially display.

*** handytellmecontrol_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a standard text control on your application window. The control serves as flat, multi-line message or help control. On the other template buttons, complete the text that you want to initially display. This template is a child of EmbedWindowFunctions, hence the suffix _EWF at the end of its name. It uses the HNDWindow Class instance created by that class to manage the text on this control. Example application: HNDFLCLN.APP This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added.

*** handytimeenterandsavecontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a spin control and prompt on your window that, formats a time value, that once entered is preserved in the application's configuration system, using the ABC IniFile infrastructure provided by ABC on all standard applications. The time flash control group portion of this set of controls may be pulled off the window without affecting the template's ability to accept, save, and recall a time value.

*** handytoolbargradient ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

This control template places gradient properties on your toolbar and sizes itself to the toolbar to act as a backdrop. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control. The template does assume that the window toolbar is given an equate label, for which the template will prompt you and with which the toolbar can be addressed in code statements made by the template. NOTE: Added Default Color Switch Nov 2017.

*** handytoolbarimage ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a gradient-style image on your toolbar and sizes itself to the toolbar to act as a backdrop. While an example image is assumed by the template, this is, of course, under developer control. The template does assume that the window toolbar is given an equate label, for which the template will prompt you and with which the toolbar can be addressed in code statements made by the template.

*** handyw32eventloggercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDErrorClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a CHT Win32 Event Logger Control on your application window. CHT's Win32 Event Logger Control provides an easy-to-use HNDERROR class application procedures for writing Events, Errors and Warnings to the SYSTEM APPLICATION LOG where they can be found and read using EVENTVWR.MSC. See HNDERROR.INC, HNDERROR.CLW to study the header, code module and method interfaces respectively. A demonstration application called HNDEVENTLOGGERDEMO.APP illustrates use of the template and calling HNDERROR Event Logging methods.

*** handywincpdatetimepropsbutton_wshc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyCOMWindowsScriptHostControl , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens the MS Windows Control Panel Date/Time Properties dialog. This template is a child of CHT template HandyCOMWindowsScriptHostControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywincpdisplaypropsbutton_wshc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyCOMWindowsScriptHostControl , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens the MS Windows Control Panel Display Properties dialog. This template is a child of CHT template HandyCOMWindowsScriptHostControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywincpinternetpropsbutton_wshc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyCOMWindowsScriptHostControl , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens the MS Windows Control Panel Internet Properties dialog. This template is a child of CHT template HandyCOMWindowsScriptHostControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywincpsystempropsbutton_wshc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyCOMWindowsScriptHostControl , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, opens the MS Windows Control Panel System Properties dialog. This template is a child of CHT template HandyCOMWindowsScriptHostControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowdismisscontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your procedure window that dismisses a window by minimizing and hiding it. This makes the unstated assumption that the window to which this button is applied is the main application window, and the window has been configured with EmbedWindowFunctions to minimize to the Windows Task Bar. This template is therefore a child of EmbedWindowFunctions which must be populated prior to it becoming available to be populated to your window.

*** handywindowgradient ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

This control template places gradient properties on your window and sizes itself to the window to act as a backdrop. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control.

*** handywindowgradientblue ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places gradient properties on your window and sizes itself to the window to act as a backdrop. While example TYPE and COLOR settings are assumed by the template, these are, of course, under developer control.

*** handywindowheaderhider ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ** This control template is used on headerless windows as in the example application HNDCDROMEXAMPLE.APP. This type of window generally uses an image to enhance the visual appeal of the application window. The traditional window header (title bar) detracts from the look of an image-based application window. However, the window header is required to easily move the window location. This control is dropped at the top of the window and toggles the window title bar on and off as the mouse cursor passes over it.

*** handywindowimage ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a gradient-style image on your window and sizes itself to the window to act as a backdrop. While an example image is assumed by the template, this is, of course, under developer control.

*** handywindowimageblue ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a gradient-style image on your window and sizes itself to the window to act as a backdrop. While an example image is assumed by the template, this is, of course, under developer control.

*** handywindowsdebugviewbutton_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that opens MS Windows DebugView using "DBGVIEW.EXE". This template is a child of CHT template EmbedWindowFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowsdesktopshortcutbutton_wshc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyCOMWindowsScriptHostControl , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that, when clicked, creates a desktop shortcut to your application. This template is a child of CHT template HandyCOMWindowsScriptHostControl which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowseventviewerbutton_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that opens MS Windows Application Event and Error Log Viewer using "EVENTVWR.MSC". This template is a child of CHT template EmbedWindowFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowsnotepadbutton_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that opens MS Windows NotePad using "NOTEPAD.EXE". This template is a child of CHT template EmbedWindowFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowsservicesviewerbutton_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a button on your window that opens MS Windows Services Viewer using "SERVICES.MSC". This template is a child of CHT template EmbedWindowFunctions which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowsstopstartcalcbuttons_wshc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:HandyCOMWindowsScriptHostControl , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places two buttons on your window that start and stop the MS Windows Calculator. This template is a child of CHT template HandyCOMWindowsScriptHostControl(HNDTools) which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window.

*** handywindowsstopstartsnapsendbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:ProcedureSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a single button on your window that may be used to start or stop the CHT SnapSend Utility. This template is a child of CHT template ProcedureSnapIns(HndTools) which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. The ProcedureSnapIns(HndTools) template is itself an auto-populated template that appears automaticallly on any application window procedure when a global template called ApplicationSnapins(HndTools) is added to your application and is configured with its "Enable?" switch checked.

*** resizehandles ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDSizes
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template attaches "grip-style" window handles to the bottom right hand corner of your window. Other window controls may be optionally height and/or width synched as the window handle is pulled to stretch or shrink the window. This template creates an instance of the HNDSizes class. As of Feb 2013 it is possible to restrict downsizing of either width or height dimesions of a window below its design-time dimensions in addition to the outright restriction of the entire height or width dimension. This "qualifier" is an extra checkbox for each dimension which may be optionally checked after the fact on any presently full-width, or full-height restricted window.

*** resizehandlescontrol ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Extended Controls
SCOPE:ABC PROCEDURE
CLASSES:HNDSizes
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2017 ***

This extension template attaches "grip-style" window handles to the bottom right hand corner of your window. Other window controls may be optionally height and/or width synched as the window handle is pulled to stretch or shrink the window. This template creates an instance of the HNDSizes class. As of Feb 2013 it is possible to restrict downsizing of either width or height dimesions of a window below its design-time dimensions in addition to the outright restriction of the entire height or width dimension. This "qualifier" is an extra checkbox for each dimension which may be optionally checked after the fact on any presently full-width, or full-height restricted window. NOTE: This template is identical to the extension template "ResizeHandles" except this version is a "Control" template which can be populated from the window designer and and may be placed automatically on the window by a procedure template.

*** snapsendstartbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:ProcedureSnapIns , Window(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template places a single button on your window that may be used to start or stop the CHT SnapSend Utility. This template is a child of CHT template ProcedureSnapIns(HndTools) which must first be available on the procedure before this extended control becomes visible for selection and placement on your procedure window. The ProcedureSnapIns(HndTools) template is itself an auto-populated template that appears automaticallly on any application window procedure when a global template called ApplicationSnapins(HndTools) is added to your application and is configured with its "Enable?" switch checked. This template was added March 2016 for name compatiblity with other SnapxxxStartButton templates (e.g. SnapGetStartButton). It is identical to the template created earlier (which continues to exist) called HNDWINDOWSTOPSTARTSNAPSENDBUTTON.

*** visitbrowsecolumn_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED MAY 2017 *** This control enables a weblink in one of your browse columns. The browse may be any ABC browse or any CHT-template-extended browse. It requires that the EmbedWindowFunctions template be placed on the window first. Clicking the browse column enabled by this template starts your default Internet browser - when a valid URL is found in the row being clicked - enabling you to jump to the web site found there. It shares an embeddable instance of the HNDWindow Classes.

This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added.

*** visithandycontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a single button control on your application window. It also creates an embeddable instance of the HNDWindow Classes. Push the control, to shell to your Internet Browser and visit The Clarion Handy Tools web site at http://www.cwhandy.com.

*** visitmecontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ** This control template mimics a web hyperlink on your application window. Click the hyperlink control, to shell to your Internet Browser and visit a website or launch a local HTML, PDF or HELP document of your choice.

*** visitmecontrol_ewf ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:HNDWindow
PARENT:EmbedWindowFunctions
  

DESCRIPTION:

*** REVISED OCTOBER 2017 ***

This control template mimics a web hyperlink on your application window. It requires that the EmbedWindowFunctions template be placed on the window first. Clicking the link placed by this template starts your default Internet browser, enabling you to jump to the web site of your choice. It shares an embeddable instance of the HNDWindow Classes. This template is a child template of CHT EmbedWindowFunctions and as such, that template must be present before this one can be added. Click the hyperlink control, to shell to your Internet Browser and visit a website or launch a local HTML, PDF or HELP document of your choice.

*** wizardbuttons ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2016 ***

This template drops a previous/next button set on your application window and writes the code necessary to allow moving between tabs on a wizard-style tab sheet. Multiple wizard buttons may be populated on the same window. In that event, be sure to select the tab sheet to which you are connecting your respective button sets.

*** wizardlistbox ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Extended Controls
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template lets you control movement between wizard-style tabs from an ordinary Clarion listbox. By selecting any listbox item the corresponding tab is brought to the top and becomes active. Sheet tab labels may be hidden from the user for a clean, tab-less interface. Since movement from tab to tab does not have to be sequential as is the case with Wizard Buttons, this template lends itself best to implementations where a single window performs various related but not necessarily sequentially interdependent functions. For an example, see HNDCMP.APP procedure DefaultSettings(). In this procedure, various HNDCMP.APP configuration settings may be entered on the same window by clicking on any WizardListBox item to move to the corresponding tab to present the relevant interface.

CATEGORY:
File And Memory Compression
*** bulk file compression/expansion with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file compression and expansion from one directory to another (or to the same directory) including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file containerization with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file compression to a CHT .HZO container file - includes an animation progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) It assumes you already have a file called "ZStore" in your dictionary. If not, the template warns and asks you to arrange this by using the HNDCPYDM.DCT or a derivative of it. If the ZStore file is already present in your dictionary, the procedure is added to your application. This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file decontainerization with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file expansion from a CHT .HZO container file - includes an animation progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) It assumes you already have a file called "ZStore" in your dictionary. If not, the template warns and asks you to arrange this by using the HNDCPYDM.DCT or a derivative of it. If the ZStore file is already present in your dictionary, the procedure is added to your application. This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** cht setup containerizer ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file compression to a CHT .HZO container file - includes an animation progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) It assumes you already have a file called "ZStore" in your dictionary. If not, the template warns and asks you to arrange this by using the HNDSETUP.DCT or a derivative of it. If the ZStore file is already present in your dictionary, two procedures are added to your application. These jump start procedures are based on a procedure with the same name found in the demo application HNDSETUP.APP.

*** embedcompressionfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC PROCEDURE
CLASSES:HNDSqueeze
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JULY 2015 ***

This extension creates a single, local instance of the HNDSqueeze Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhndzstorefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC PROCEDURE
CLASSES:HNDZStore
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED APRIL 2015 ***

This template instantiates a CHT class called HNDZStore on your application procedure. The class is contained in modules HNDZSTOR.CLW/HNDZSTOR.CLW and provides compression storage functionality for the creation of .HZO container files.

*** embednetzipfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDNetZipperClass
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This extension creates a single, local instance of the HNDNetZipperClass inside a CHT Source procedure. All methods appear in the "Local Objects" section of the source procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes. The template incorporates a CHT .NET Zipper Wrapper called HNDNetZipperClass into your procedure.

See HNDNETZIPPER.INC, HNDNETZIPPER.CLW and HNDNETZIPPER.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDZIPNET.APP illustrates use of the template and calling HNDNetZipper Class methods.

Associated files: HNDNETZIPPR.TLB (to register the control), HNDNETZIPPER.DLL, (Low level .NET zip classes).

*** globalincludehnddosfilefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:APPLICATION
CLASSES:HNDDosFile
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 *** This extension creates a single, application-global instance of the HNDDosFile Class (HNDDOSF.INC/HNDDOSF.CLW). This Class now derives the CHT class HNDCOMPRESS and no longer derives HNDSQUEEZE. Therefor the low-level compression functionality DLL, HNDZLBEX.DLL is no longer required. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehndzstorefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:APPLICATION
CLASSES:HNDZStore
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDZStore class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** handycomzippercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:File And Memory Compression
SCOPE:WINDOW
CLASSES:HNDComZipClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED NOVEMBER 2017 ***

This control template places a CHT COM Zipper Control from HNDZIPR.OCX on your application window. This template provides two interface controls, a string control for messages and a progress control to indicate progress through bulk zip and unzip operations. Since this is a "Control" template it operates from a window. If a silent, or invisible zip operation is required, simply hide the window. Operations provided are: bulk directory zip with mask, bulk directory unzip with mask, single file zip, and single file unzip. The template incorporates a CHT COM Zipper Wrapper called HNDComZipClass into your procedure. See HNDZIPPR.INC, HNDZIPPR.CLW and HNDZIPPR.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDCOMZIPPER.APP illustrates use of the template and calling HNDComZipClass Class methods.

*** handynetzippercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:File And Memory Compression
SCOPE:WINDOW
CLASSES:HNDNetZipperClass
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MARCH 2016 ***

This control template places a CHT .NET Zipper Control from HNDNETZIPPER.DLL on your application window. This template provides two interface controls, a string control for messages and a progress control to indicate progress through bulk zip and unzip operations. Since this is a "Control" template it operates from a window. If a silent, or invisible zip operation is required, simply hide the window. Operations provided are: bulk directory zip with mask, bulk directory unzip with mask, single file zip, and single file unzip. The template incorporates a CHT .NET Zipper Wrapper called HNDNetZipperClass into your procedure. See HNDNETZIPPER.INC, HNDNETZIPPER.CLW and HNDNETZIPPER.TLB to study the header, code module and method interfaces respectively. A demonstration application called HNDNETZIPDEMO.APP illustrates use of the template and calling HNDNetZipper Class methods. Required DLLs: HNDNETZIPPER.DLL

*** low-level compression examples ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure illustrates with examples how to call and utilize a number of low-level file and memory compression functions made available by attaching the HNDDOSFILE class (HNDDOSF.INC/.CLW) to a procedure. To understand what is going on, import this source procedure and open it in the ABC Embeditor. Liberal use of comments will help with understanding. This jump start procedure is based on a procedure with the same name found in the demo application HNDZTEST.APP.

*** source_embedzipfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDComZipClass
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDComZipClass. All methods appear in the "Local Objects" section of the source procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** source_writezipcode_sezf ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Compression
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDComZipClass
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension is a child of Source_EmbedZipFunctions, hence the _SEZF extension in the name. All methods appear in the "Local Objects" section of the source procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** zip directory ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Compression
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This ABC Window procedure provides functionality to zip the contents of a directory and its descendants. Users are asked to name a source directory and a zip file name + path. The procedure provides for flat zips with no embedded paths or zips with embedded paths. There is also an option to zip files in the subdirectories below the source directory. Procedures created with this jumpstart are dependent on HNDZIPR.OCX. This jump start procedure is based on a procedure with the same name found in the demo application HNDCOMZIPPER.APP.

CATEGORY:
File And Memory Encryption
*** bulk file encrypt/decrypt with progress ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Encryption
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file encryption/decryption from one directory to another including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** embedencryptionfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Encryption
SCOPE:ABC PROCEDURE
CLASSES:HNDEncrypt
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDEncrypt Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** low-level encryption examples ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File And Memory Encryption
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure illustrates with examples how to call and utilize a number of low-level file and memory encryption functions made available by attaching the HNDENCRYPT class (HNDENCRP.INC/.CLW) to a procedure. To understand what is going on, import this source procedure and open it in the ABC Embeditor. Liberal use of comments will help with understanding. This jump start procedure is based on a procedure with the same name found in the demo application HNDXTEST.APP.

*** source_embedencryptionfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:File And Memory Encryption
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDEncrypt
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDEncrypt Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

CATEGORY:
File BLOB Functions
*** blob to file basic ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File BLOB Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides a way to decompress and restore a file from a blob record in your data base, back to disk. It will work only with blob records created using JumpStartFileToBlob(). The procedure prototype is: (STRING xFileName, *BLOB xBlobField, <*ULONG xHashField>). To see this function in action, look at application HNDFBLOB.APP.

*** file to blob basic ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File BLOB Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides a way to compress and insert a file into a blob record of your data base. The procedure prototype is: (STRING xFileName, *BLOB xBlobField, <*ULONG xHashField>). To see this function in action, look at application HNDFBLOB.APP.

CATEGORY:
File Deleting, Renaming
*** bulk file deleting with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File Deleting, Renaming
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file deleting from a source directory including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file renaming with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File Deleting, Renaming
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file renaming in a source directory including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xPrefix, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

CATEGORY:
File Moving, Copying
*** bulk file copying with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File Moving, Copying
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file copying from one directory to another including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

*** bulk file moving with progress window ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:File Moving, Copying
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This source procedure provides for bulk file moving from one directory to another including an animated progress window. The function accepts parameters: (STRING xWinTitle, STRING xSrc, STRING xTgt, STRING xQuery) This jump start procedure is based on a procedure with the same name found in the demo application HNDCPYDM.APP.

CATEGORY:
Installation Functions
*** generatehndsetupmkrinstalldetails ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Installation Functions
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED NOVEMBER 2017 ***

This extension template provides input screens that allow the developer to create values generated into a web installer shell application like HNDSETUPMKR.APP. At time of writing this template is specific only to be used on HNDSETUPMKR.APP or a copy of that app as it addresses screen controls populated on that app assuming they're there. In the future, if necessary we will expand this particular template with a parent control template that populates the necessary screen controls on a generic window.

For the express purpose of building as many installers as the developer needs, another template of that sort is really not necessary. Developers can simply make a copy of HNDSETUPMKR.APP, customize the icons, and images and adjust these template prompts as required and have a completed, secure, web-installer in minutes.

The functionality in this template replaces the web-installer generator component that was previously part part of HNDSETUP.APP. Now with HNDSETUP.APP (to create HZO's) and HNDSETUPMKR.APP or a renamed copy of HNDSETUPMKR.APP it is possible to build and compile a complete web-install application. As of build 20C.00, developers are able to also install compiled Clarion Projects as well as compiled Clarion Applications. It is also possible to distribute a ready-to-compile Clarion application or Clarion project in source code.

*** install from containers - no authentication ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Installation Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure is a basic container-based installer. Containers should first be built with HNDSETUP.APP using encryption and compression as required by your design. Containers may be uploaded to an ISP-based website using HNDFTPWZ.APP, or placed in the web directory of a basic CHT server like HNDSLFSV.APP with file permissions enabled for .HZO. This procedure, once configured, downloads the containers via HTTP protocol and decrypts and expands installation files to the designated subdirectories below your installation root. See demonstration application: HNDINSTBA.APP.

*** install my files - (appwiz) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Installation Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure is a file-based installer that interacts as a client with server application HNDFILSV.APP or HNDFILSVSPECIAL.APP. File and directory lists that include file information such as size and CRC are created on the server. This procedure logs into the server, authenticates and begins comparing the files. below its installation directory against the files list. Changed or New files are expanded and decrypted to the target location. Backups are made to a backup directory and a log file detailing the installation is created. See demonstration application: HNDINSTALLMYFILES.APP.

*** installer configuration procedure ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Installation Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This is a configuration procedure that may be used with any installation Jump Start based on the CHT classes HNDClient and HNDHTTP. Authentication information, target installation directory and backup directory are configured and stored to the Windows registry for reuse by authenticating installation procedures such as JumpStartInstallMyFiles(). See demonstration application: HNDINSTALLMYFILES.APP.

CATEGORY:
Internet - Connectivity
*** embedhndidialclassfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - Connectivity
SCOPE:ABC PROCEDURE
CLASSES:HNDIDial
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDIDial Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhndipaddressfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - Connectivity
SCOPE:ABC PROCEDURE
CLASSES:HNDIPAddress
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDIPAddress Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

CATEGORY:
Internet - FTP
*** embedinternetftp ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - FTP
SCOPE:ABC PROCEDURE
CLASSES:HNDInetFtp
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JANUARY 2016 ***

This extension creates a single, local instance of the HNDInetFtp Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDFTPWZ.APP

*** ftp directory ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides FTP File Directory capabilities, using three CHT FTP templates: EmbedInternetFTP, HandyFTPInitializationControls and HandyFTPRemoteFilesControls. It provides everything necessary to configure one or more FTP sites and to navigate the directories available. The files listing provides file downloading and directory controls where permitted.

*** ftp get file ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides FTP Get File capabilities, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and Remote File Name are required parameters. Optional return parameters include File Date, File Time and File Size. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar.

*** ftp get file if changed ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides FTP Get File capabilities, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and Remote File Name are required parameters. Optional return parameters include File Date, File Time and File Size. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar. NOTE: The remote file is only downloaded if it has changed from the local copy already available in the target directory.

*** ftp get files by dos wild card ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides DOS wildcard FTP Get File capabilities. Using basic FTP defaults, Login User Name, Login Password, Remote Directory, Local Directory, and a wild card specification (eg: c*.ico), multiple files with common characteristics can be downloaded in a single function call. The function returns False if it fails and a file-count if it succeeds. Downloads are fully asynchronous including a cancel button and a progress bar.

*** ftp put file ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides FTP Put File capabilities, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and Remote File Name are required parameters. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar.

*** ftp put files by dos wild card ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides FTP Put Multiple Files capability, using basic FTP defaults. Login User Name, Login Password, Remote Directory, Local Directory, and File Mask are required parameters. The function returns True or False if it succeeds or fails, respectively and provides a fully asynchronous upload with a progress bar.

*** ftp wizard ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - FTP
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This wizard procedure provides FTP file upload and download capability as well as directory selection, file querying, file transfer between remote directories, directory creation, file deletion, proxy support and more. It allows for file accumulation from various remote subdirectories so that a single operation can download all. It allows for file accumulation from various local directories so that a single operation can upload all.

*** handyftpinitializationcontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDInetFTP
PARENT:EmbedInternetFTP
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of initialization controls to accompany the "EmbedInternetFTP" template which, in turn, populates the required HNDInetFTP Classes. Example application: HNDFTPWZ.APP This template is a child template of CHT EmbedInternetFTP and as such, that template must be present before this one can be added.

*** handyftplocalfilescontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDInetFTP
PARENT:HandyFTPInitializationControls EmbedInternetFTP
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of file selector controls that allow you to build a list box of multiple files from multiple directories. Since it is a child of the "EmbedInternetFTP" template, these are files intended for FTP upload. The parent template populates the necessary HNDInetFTP Classes. NOTE: This template requires you to first populate HandyFTPInitializationControls before it becomes visible in your control-templates list. Example application: HNDFTPWZ.APP

*** handyftplocalfilesdlcontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDWindow HNDInetFTP
PARENT:HandyFTPRemoteFilesControls HandyFTPInitializationControls EmbedInternetFTP(HN
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of controls that download the remote files selected in a list created by the "HandyFTPRemoteFilesControls" template. It is indirectly a child of "EmbedInternetFTP" and uses an already-present instance of the HNDInetFTP Class. This class populates one other class called HNDWindow Class which provides a dynamic display of download activity. Example application: HNDFTPWZ.APP

*** handyftplocalfilesulcontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDWindow HNDInetFTP
PARENT:HandyFTPLocalFilesControls HandyFTPInitializationControls EmbedInternetFTP(HND
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of file selector controls that allow you to build a list box of multiple files from multiple directories. Since it is a child of the "EmbedInternetFTP" template, these are files intended for FTP upload. The parent template populates the necessary HNDInetFTP Classes. NOTE: This template requires you to first populate HandyFTPInitializationControls before it becomes visible in your control-templates list. Example application: HNDFTPWZ.APP

*** handyftpremotefilescontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDFileLoadBrowse HNDInetFTP
PARENT:HandyFTPInitializationControls EmbedInternetFTP
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of controls that can list the files available at a remote URL. Because it requires the presence of "HandyFTPInitializationControls" it is indirectly a child of "EmbedInternetFTP" and uses an already-present instance of the HNDInetFTP Class. This class populates two other classes. These are: HNDBrwFilter Class to provide browse query capability, and HNDFileLoadBrowse Class to provide browse record marking. Example application: HNDFTPWZ.APP

*** instantftpdownload ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDInetFtp
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template drops several controls, a button, a progress bar and two string controls on your window. It declares an instance of the HNDInetFTP class and writes all the code necessary to download a file from a remote FTP site. The specifics about which file, and which FTP site etc. may be "hard-coded" in this template or handled with variables that you manipulate in code.

*** instantftpuploadprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Internet - FTP
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JANUARY 2016 ***

This template builds a queue based on file/table definitions in your dictionary. Drop it on any procedure that has tables defined in the procedure tables schematic. To generate a queue based on table fields, complete the "File/Queue Information tab by selecting the fields that should be populated to your queue. A queue created by this template can be used with CHT template FileLoadBrowseExtender to build a fully functional queue based browse independent of any ABC browse templates.

*** instantftpupload ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - FTP
SCOPE:WINDOW
CLASSES:HNDInetFtp
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2016 ***

This control template drops several controls, a button, a progress bar and two string controls on your window. It declares an instance of the HNDInetFTP class and writes all the code necessary to upload a file to a remote FTP site. The specifics about which file, and which FTP site etc. may be "hard-coded" in this template or handled with variables that you manipulate in code.

CATEGORY:
Internet - HTTP Web Servers
*** browserserverinitializationcontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedBrowserServer
  

DESCRIPTION:

*** REVISED NOVEMBER 2017 ***

This template creates a set of initialization controls to accompany the EmbedBrowserServer template. These controls collect the information necessary to get a CHT Server application (Browser-Server Or Client-Server) up and running. Information collected includes, server IP, default home directory, server PORT and more. On this template too, you will decide the complexity of your server, whether it is a CHT Static Page Server, a CHT Browser Data Server for dynamic data pages or a CHT Client Server for remote thin-client services. Also determined here is the shape of your server client data base. This aspect applies to data servers only where data security is required. This template reacts to the server type settings enabled on its "Server Configuration" tab so that prompts not relevant to the server type being built are disabled or made invisible.

*** browserserverjdobuilder ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:HandyJDOAdapter
  

DESCRIPTION:

*** REVISED MAY 2017 ***

Developer Note: JDO = (J)avascript (D)ata (O)bjects

This template extension works with the HandyJDODataAdapter template to produce JDO-wrapped data to be returned to a remote web page via a passed-in instance of the CHT Browser Server classes. I.E. (HNDSubscriptionServer xServer),BYTE It produces web browse, update, and preview data for use by your HTML and Javascript Web Scripts produced in CHT Scripter in order to render a variety of data-interactive web applications using a Clarion-style browse/form data paradigm. A Web PDF Reports dialog lets you plug in ordinary Clarion reports configured for PDF output and deliver them back to your web pages. This template provides for optionally recycling update forms for continuous insert as well as optionally recycling the update form to the update preview form.

*** buildassistancepage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

***REVISED MAY 2016 ***

This template formats a page that can be generally called to provide assistance when a subscriber runs into difficulty logging in, registering, querying, downloading and so forth. This page template is "MULTI" which means it can be used more than once on the same procedure. With this one template you can create a variety of assistance pages, each with a different number and call each as needed from links or buttons on your web pages. NOTE: Assistance pages are called with form action set to HLP$ and require that an embedded form variable "pagenum=xx" be placed in the form to identify the specific page required. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildconfirmationpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is provided by the server via a function called RequestConfirmationPage() for one of two reasons: 1) to signal to a subscriber that the follow-up, action to the registration page (BuildRegistrationPage_BIC template) has been completed and/or 2) to signal that the password change action from the BuildPWChangePage_BIC template has been completed. If the optional registration page template is used to actually register new users, this page confirms that action - with login information - to the new registrant. New registrants are signalled with SELF.IsNewRegistrant = True. Depending on the source of the call to display the confirmation page, a system variable will contain a semaphore indicationing the calling page: (sys.confirmationpageparent = 1 indicates called from BuildRegistrationPage_BIC) and (sys.confirmationpageparent=2 indicated called from BuildPWChangePage_BIC). The developer can use this value to write conditional code in his "page.confirmation" script that displays confirmation information pertinent to the situation. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** builddownloadpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestDownLoadPage(). This page should be called from a link provided by the developer on any other page. This page can be set secure so that it cannot be opened unless the page user has already been successfully logged into the subscription server. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildexpiredpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestExpiredPage() to signal when a subscriber's term has expired, and to perhaps offer renewal options. RequestExpiredPage() is automatically called when the AcceptLoginForm() function, activated by the standard login form, detects from the data base that the user's subscription has lapsed. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildhomepage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the server function RequestHomePage(). This page may be called from a link provided by the developer on any other page. The page is intended to present an opening set of menus and options that branch into various parts of your interactive web site. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildlockedpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestLockOutPage() to signal when a subscriber's account has been, locked for whatever reason. RequestLockOutPage() is automatically called when the AcceptLoginForm() function, activated by the standard login form, detects from the data base that the the account of the individual logging in has been given an account locked status. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildloginpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestLoginPage() which is triggered by the web request REQUEST:AcceptLoginForm. This page is responsible for qualifying the login information entered by subscribers before they are allowed to access downloads or query data. Certain pages, such as download pages and data base access pages, are off limits to anyone not properly logged in. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildlogoutpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestLogOutPage() to signal when a logged-in individual logs out successfully by sending a page confirming that a successful logout has been affected when any exit or quit button is clicked. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildnoaccesspage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestNoAccessPage() to signal when an individual logging in does not, have access rights or has forgotten his access information. This function is optionally called when the AcceptLoginForm() function, activated by the standard login form, detects from the data base that the individual logging in has no account or has entered incorrect account information. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildpwchangepage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestPWChangePage() which is triggered by the web request REQUEST:AcceptPWChangeForm. This page is responsible for allowing an already logged in user to change his login password or loginid information. This page is secure and not accessible to anyone not already correctly logged in. Reaching this page, therefore requires submission of a sessionID along with the PWD$ command. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildpurchasepage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestPurchasePage(). This page should be called from a link provided by the developer on any other page. The page is intended to present a selection of subscription purchase and upgrade options. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildquerypage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that can be generally called to provide query access to one of your backend data views when a properly logged-in user requests it. Which data views are user accessible is entirely up to you. This template is a "MULTI", that can be applied numerous times to the same application or procedure. Your server application, therefore, can provide one or more data views, consisting of multi record browses, single record edit forms or single record no-edit record previews, as determined by the complexity and granularity of your data display requirements. You are actually roughing-in 4 pages with this template. These are: 1) The actual query page from where queries are formulated and sent. 2) The browse page resulting from queries set with ACTION:HttpBrowse. 3) The edit page resulting from queries set with ACTION:HttpEdit. 4) The preview page resulting from queries set with ACTION:HttpPreview. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildregistrationpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestRegistrationPage() which is triggered by the web request REQUEST:AcceptRegistrationForm. This page is primarily responsible for apprising registrants or their account ID if they've forgotten it. This page sends an email to the registrant if all of the account information - except the forgotten login ID - matches the originally logged information. If you are running an open system and collecting participant information this page can also register new participants. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildrenewalpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestRenewalPage(). This page should be called from a link provided by the developer on the Expired page. The page is intended to present a selection of subscription renewal options. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildserverbusypage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function CheckServerBusy() to signal when the number of logged-in subscribers, exceeds the server property SELF.Maxusers. This property can be set from the standard server interface and serves to provide run-time control over the maximum number of subscribers downloading or querying at any given time. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** builduploadpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestUpLoadPage(). This page should be called from a link provided by the developer on any other page. This page can be set secure so that it cannot be opened unless the page user has already been successfully logged into the subscription server. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** buildwrongbrowserpage_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template formats a page that is called by the function RequestWrongBrowserPage() to signal when an individual logging in is using, an incompatible browser. This function is called with each page access to verify that the browser in use is fully compatible with the page scripts in use. Many browser incompatibilities revolve around the use of CSS Cascading Style Sheets. This template is a child of CHT template BrowserServerInitializationControls and can only be applied to your procedure if that parent template has already been applied.

*** chtjumpstartbrowserserverapplication ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Internet - HTTP Web Servers
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** This template creates a complete, ready-to-use or ready-to-test-and-modify CHT Browser Server like HNDMTSNG.APP. This server may also be used as the starting point for all other types of HTTP-based browser data servers. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. The base ServerMain(ToDo) procedure is replaced by the wizard's own ServerMain() version. NOTE 2: The application created is based on CHT demo browser data (forum) server HNDMTSNG.APP, such that all documentation, videos and companion applications for HNDMTSNG.APP pertain also to the application created by this wizard, until it is modified to your own requirements. NOTE 3: Requires that HNDMTSNG.DCT be attached to your "stub" application at creation time.

*** chtjumpstartfileserverapplication ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Internet - HTTP Web Servers
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 *** This template creates a complete, ready-to-use or ready-to-test-and-modify CHT File Server like HNDFILSV.APP. This server may also be used as the starting point for all other types of HTTP-based net servers. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. The base ServerMain(ToDo) procedure is replaced by the wizard's own ServerMain() version. NOTE 2: The application created is based on CHT demo server HNDFILSV.APP, such that all documentation, videos and companion applications for HNDFILSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements. NOTE 3: Requires that HNDFILSV.DCT be attached to your "stub" application at creation time.

*** chtjumpstartstaticserverapplication ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:Internet - HTTP Web Servers
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a complete, ready-to-use or ready-to-test-and-modify CHT Static Page Server like HNDSLFSV.APP. This server may also be used as the starting point for all other types of HTTP-based net servers. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. The base ServerMain(ToDo) procedure is replaced by the wizard's own ServerMain() version. NOTE 2: The application created is based on CHT demo server HNDSLFSV.APP, such that all documentation, videos and companion applications for HNDSLFSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** clientserverdatabuilder ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:HandyJDOAdapter
  

DESCRIPTION:

*** REVISED MARCH 2017 ***

* This template extension works with the HandyJDODataAdapter template to produce client-oriented data streams and packages to be returned to a remote web client via a passed-in instance of the CHT Browser Server classes. It produces client-oriented browse, update, process and report data to service data-interactive, web-client applications using a Clarion-style browse/form data paradigm for lightning-fast, view-oriented, web data clients built with Clarion and CHT templates.

*** clientserverquerybrancher_bic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

Each data packaging function in your client data server application requires you to create a separate, unique view name with this template, to which client queries, tagged with that view name are routed via Server.TakeQueryBrancher() by code generated by this template. A variety of error messages configured on the EmbedBrowserServer Template is also laid down at the completion of the Server.TakeQueryBrancher() method in the event that your data packaging function fails for any reason. This template is a child of BrowserServerInitializationControls and can only be applied to your procedure if that parent template is already present.

*** embedbrowserserver ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:HNDHtml HNDBrowserServer HNDSubscriptionServer ViewManager
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a single, local instance of a class called HNDSubscriptionServer. This class derives from HNDBrowserServer, which in turn derives from HNDHtml. The resulting combination of derivations gives your CHT Browser Server very powerful TCP/IP connectivity via network or internet, and the capablility to asynchronously connect and deliver packages in various forms to client applications such as browsers and even to desk-top client applications. This template is also the parent template to numerous other templates like BrowserServerInitializationControls which will help you build a server interface into which you can plug extension templates that cumulatively add functionality to the server application. The resulting server applicaton handles security, tracks login times, dates and frequency, and enables remote access to your data without compromising either data integrity or security.

*** embedbrowserserverfileschematic ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:EmbedBrowserServer
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template adds ABC File Schematic enhancement to CHT Browser Server Applications built upon the EmbedBrowserServer Template. While file opening and closing is handled by the parent ABC Window template, it is possible to optimize file access somewhat using this template by controlling file open mode and by inserting file streaming. This template is a child of CHT template EmbedBrowserServer and can only be applied it that parent template is already present.

*** handyjdodataadapter ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:HNDJDOAdapter ViewManager HNDBrwFilter TransactionManager
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template is the base template upon which all Browser Server and Client Server data packaging procedures are built. The resulting procedure's embed structure is based on a skeleton class called HNDJDOAdapter.

1) To build a BROWSER -> directed data server: Combine this template with an extension template called "BrowserServerJDOBuilder" which provides an entirely self standing, embeddable infrastructure that reads files and tables via queryable views that generate Javascript Data Packages which when transmitted to any modern browser, may be used to render interactive data forms, browses and reports. See the demonstration forum server application HNDMTSNG.APP for example procedures based on this HandyJDODataAdapter and BrowserServerJDOBuilder templates in combination.

2) To build a CLARION CLIENT -> directed data server: Combine this template with an extension template called "ClientServerDataBuilder", in order to provide a similar self standing, embeddable infrastructure that reads files and tables via queryable views but in this instance, generate structured data streams that when transmitted to remote data clients built with Clarion and CHT templates may be used to build client-side browses, forms, processes and reports. See the demonstration forum server application HNDMTSSV.APP for example procedures based on this HandyJDODataAdapter and ClientServerDataBuilder templates in combination.

2)Since this template is the root view-building template used to create back end views in both Client Server AND Browser Server applications, it is the first template populated when a back end view must created in any CHT Web server of type 1 (Browser Server) and type 3 (Client Server). Example apps are: HNDMTSNG.APP (CHT Forum Server App For Browsers) and HNDMTSSV.APP (CHT Forum Server App For Clarion Clients). There are numerous other server example applications of both types and there is a starting-point version of each server type which developers should use to start their own server projects rather than building a server app from scratch.
See HNDCLIENTSV.APP -- starting-point server for CHT Client Server projects.

See HNDHNDLRNSV.APP -- starting-point server for CHT Browser Server proljects.

*** insertinlinewebcodeincludefile_bic ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template assists with inserting in-line web code include files directly into a web page. These files may be sourced from 3rd party design tools placed into the server RUN directory or they may be inserted as gen-files into the Javascript Collection or HTML Collection of CHT Scripter. Regardless of where this in-line web code file is sourced, the structure of the code inside the file must be correct for the page section in which it is inserted. Onus is on the developer to assure that this is the case. This template is only relevant to embed points provided by these target areas: Server.AddjQueryInitFunctions() - inside the HEAD section Server.AddPageBodyOpenAreaIncludes() - inside the BODY section near the top right below the BODY open tag. Server.AddPageMarqueeAreaIncludes() - inside the BODY section at the page marquee area. Server.AddPageHeaderStartAreaIncludes() - top (start) of the BODY section where page header code is inserted. Server.AddPageHeaderEndAreaIncludes() - bottom (end) of the BODY section where page header code is inserted. Server.AddPageTitleBandAreaIncludes() - inside the BODY section at the page title area. Server.AddPageFooterAreaIncludes() - inside the BODY section at the page footer area. Server.InsertPreTableFormData() - inside the BODY section at the top of the FORM area of the page. Server.InsertPostTableFormData() - inside the BODY section at the bottom (end) of the FORM area of the page.

*** insertjqinitcode_bic ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:BrowserServerInitializationControls
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This code template assists with inserting Javascript JQuery-Init code in the HEAD area of your web page. These files may be sourced from 3rd party design tools placed into the server RUN directory or they may be inserted as gen-files into the Javascript Collection of CHT Scripter. Regardless of where this in-line web code file is sourced, the structure of the code inside the file must be correct for the page section in which it is inserted. Onus is on the developer to assure that this is the case. See the HNDSCRPT.APP script files for application: HNDMTSNG.APP to see how these files are formatted internally. This template is also installed several times in the web server demo HNDMTSNG.APP. This template is only relevant to one embed point at this insertion area: Server.AddExtraJavascriptFiles().

*** processusercustomrequest ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:HNDSubscriptionServer HNDBrowserServer
PARENT:EmbedBrowserServer
  

DESCRIPTION:

*** REVISED SEPT 2017 ***

This extension template helps you write code to intercept and process a UCR$ command in your CHT server application, sent to it by a remote client application. A UCR$, or User Custom Request, is any non-standard request dreamed up by the developer that can be performed by a server application on behalf of a requesting client. UCR$ requests, once verified to be from a legitimate, logged-in client, are passed into a server method called "ProcessUserCustomRequest" where the developer can embed code to intercept the request and act on it. This template assists with the "interception" and "acting-on" aspect of that process. UCR$ requests may be accompanied by one or more parameters, so that they emulate remote procedure calls. They can also return single or multiple values, web pages, links, raw data, almost anything the developer requires. User Custom Requests can be run on a thread so that they operate off-line and return immediately, requiring a second call to pick up any data produced, or in-line so that any information returned is passed back immediately on completion of the request. This template is a child of CHT template EmbedBrowserServer and can only be applied to your procedure if that parent template has already been applied.

*** secure http browser data server (appwiz) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEB 2015 *** This wizard creates a complete, secure HTTP Browser Data Server. The resulting application is a dyamic-page, fully end-user-interactive, web server. While this example server is dedicated to acting as a Forum Server the principles built in, are meant to apply to all dynamic, interactive web page servers. We've had this server - or an earlier variation of it - in active service since 2002. It has evolved since then, as have the templates and classes on which it is based. But the fundamental principles and practices in its design have remained pure ABC. If you understand Clarion, and ABC Object Oriented Principles, you can duplicate a server of this type using The Clarion Handy Tools. CHT Servers of this type tie directly into the TCP/IP libraries built into the Windows operating system. Beyond that, all Internet listening, sending activities, data packaging, compression, encryption and so forth are written in Clarion OOP source code available as part of the fully-integrated CHT tool kit. Principle server templates in use are: EmbedBrowserServer and BrowserServerInitializationControls, accompanied by a group of page-builder templates that are able to generate XHTML or pure Javascript Data Objects. Included with the CHT Tool Kit is a multi-function editor/scripter (HNDSCRPT.APP) which is used to design the client-side/browser side pages and forms, including CSS (Cascading Style Sheets) and JS (Javascript) Subroutines. NOTE 1: This is a browser server version of CHT's support forum -- from which to learn and with which to build forward. The back end views portions of the server are already installed and working. NOTE 2: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. All procedures present in your "stub" application including ServerMain() will be removed and replaced. NOTE 3: The application created is based on CHT demo server HNDMTSNG.APP, so it requires your "stub" application to contain the files availabe in HNDMTSNG.DCT. All documentation, videos and companion applications for HNDMTSNG.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** secure http client data server (appwiz) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEB 2015 *** This wizard creates a complete, secure HTTP Client Data Server. The resulting application is a fully end-user-interactive, web client server. While this example server is dedicated to acting as a Forum Server, the principles built in, are meant to apply to all dynamic, interactive web client data servers. We've had this server - or an earlier variation of it - in active service since 2002. It has evolved since then, as have the templates and classes on which it is based. But the fundamental principles and practices in its design have remained pure ABC. If you understand Clarion, and ABC Object Oriented Principles, you can duplicate a server of this type using The Clarion Handy Tools. CHT Servers of this type tie directly into the TCP/IP libraries built into the Windows operating system. Beyond that, all Internet listening, sending activities, data packaging, compression, encryption and so forth are written in Clarion OOP source code available as part of the fully-integrated CHT tool kit. NOTE 1: This is a client data server version of CHT's support forum -- from which to learn and with which to build forward. The back end views portions of the server are already installed and working. NOTE 2: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. All procedures present in your "stub" application including ServerMain() are removed and replaced. NOTE 3: The application created is based on CHT demo server HNDMTSSV.APP, so it requires your "stub" application to contain the files availabe in HNDMTSSV.DCT. All documentation, videos and companion applications for HNDMTSSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** secure http file server (appwiz) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEB 2015 *** This wizard creates a complete, secure HTTP File Server that both accepts file uploads from a client application or sends files to a client application. The application produced, as a secure, desktop file server without the requirement of serving files from an ISP using a generic server like IIS (Microsoft Internet Information Server). Designed to interact with a client application also built with the CHT tool kit, it can compress and encrypt the files it sends and uncompress/unencrypt the files it receives. If you've been in the habit of using FTP for these kinds of operations, consider replacing FTP with this totally secure HTTP alternative. When encryption is enabled, all client-to-server and server-to-client interactions are entirely encrypted on all standard HTTP ports without switching to HTTPS. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. All procedures present in your "stub" application including ServerMain(ToDo) are removed and replaced. NOTE 2: The application created is based on CHT demo server HNDFILSV.APP, so it requires your "stub" application to contain the files availabe in HNDFILSV.DCT. All documentation, videos and companion applications for HNDFILSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** server configuration for browser-server ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure complements a CHT Browser-Server application. It provides a way to configure your server for interaction with the CHT Web Scripter Tool.

*** server configuration for client-server ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure complements a CHT Client-Server application. It provides a way to configure your server for interaction with the CHT Web Scripter Tool.

*** server search replace email token macros ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure complements any CHT Browser Server application. It provides a way to search and replace email token macros in server mail created with the CHT Web Scripter Tool.

*** server variables fetch by location ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure complements any CHT Browser Server application. It provides a way to fetch values from the server variables configuration file, using the unique "Location" column as an identifier.

*** server variables put by location ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure complements any CHT Browser Server application. It provides a way to put values to the server variables configuration file, using the unique "Location" column as an identifier.

*** serverfilehandlingoverrides ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Window(ABC), EmbedBrowserServer
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

By default, all CHT servers deny all file upload/download/delete requests from browsers and clients alike. This template helps you configure the behaviour of placeholder server methods to conditionally or unconditionally allow or disallow upload, download and deletion of files using file extension, file size and user information as criteria.

The following server functions may be enabled and customized directly from this template's interface: Server.GetSendServerLogApproval(), Server.GetReadDirApproval(), Server.GetPutFileApproval() Server.GetGetFileApproval(), Server.GetFileExistsApproval(), Server.GetBrowserPutFileApproval() Server.GetDeleteFileApproval(), Server.DumpServerDirectories(), and Server.DumpServerFiles().

This template is a child of EmbedBrowserServer and can only be populated onto your application if that template is already present.

*** serverfilenameandpathdefaults ***

  
VERSION:21D.02.00
TYPE:CODE
CATEGORY:Internet - HTTP Web Servers
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:AACHTControlPanel VblFileNames INIFile
  

DESCRIPTION:

*** REVISED MAY 2016 ***

When a CHT Browser Data Server or Client Data Server with a standard, server variables configuration file attached starts for the first time, this template can initialize the registry locations CommonPath, BaseDirectory and FILE:NGConfig so that the server can start and show its initialization screen. CommonPath points to the server executable's directory followed by the app name. BaseDirectory points to CommonPath plus \run\. FILE:NGConfig is named as indicated in the server's dictionary.

This template assumes that your dictionary is configured for variable file names to the extent that at least the server configuration file is named there, in the manner illustrated by HNDMTSNG.DCT.

This template further assumes that your application has already populated global CHT templates named AACHTControlPanel, VblFileNames and INIFile. Example server application HNDMTSSV.APP uses this template.

*** static page http web server (appwiz) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED FEB 2015 *** This wizard creates a complete, Static Page HTTP Web Server. As such it can, in and of itself, work as a secure, desktop web server without the requirement of serving pages or files from an ISP using a generic server product like IIS (Microsoft Internet Information Server). This server can also be used as the starting point for all other types of HTTP-based net servers. NOTE 1: This is an "App Wizard" which creates a complete self-standing server application. It should be imported to a freshly-created "stub" application containing only a ServerMain(ToDo) procedure. The base ServerMain(ToDo) procedure is replaced by the wizard's own ServerMain() version. NOTE 2: The application created is based on CHT demo server HNDSLFSV.APP, such that all documentation, videos and companion applications for HNDSLFSV.APP pertain also to the application created by this wizard, until it is modified to your own requirements.

*** view server users ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Internet - HTTP Web Servers
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure complements the "Secure HTTP File Server" procedure. It provides a way to import file server members from your OE address book, insert members manually, send invitation emails and customize invitation emails. It should be imported to your application AFTER "Secure HTTP File Server" as it assumes the same dictionary.

CATEGORY:
Internet - Sockets
*** embedhndsocketevents ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Internet - Sockets
SCOPE:ABC PROCEDURE
CLASSES:HNDSocketEvents
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension creates a single, local instance of the HNDSocketEvents Class. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDCHATCLNT.APP, HNDCHATSVR.APP.

CATEGORY:
MS Office Interface
*** embedhndexcelclassfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:MS Office Interface
SCOPE:ABC PROCEDURE
CLASSES:HNDOfficeClass HNDExcelClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDOfficeClass and HNDExcelClass Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example Application: HNDTESTEXCEL.APP.

*** embedhndwordfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:MS Office Interface
SCOPE:ABC PROCEDURE
CLASSES:HNDOfficeClass HNDWordClass
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDOfficeWord class, which is located in class modules HNDWORD.INC (header) and HNDWORD.CLW (code). This module derives HNDOfficeClass, an OLE interface into the Microsoft Office products suite.

This template is the parent of a control template called HandyWordInterfaceControls. In order to populate HandyWordInterfaceControls this template must be applied to your procedure beforehand. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedmswordfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:MS Office Interface
SCOPE:ABC PROCEDURE
CLASSES:HNDMSWord
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDMSWord Class. It is the parent of these related classes: HNDRefWindow, HNDActiveDocument, HNDDocuments, HNDApplication. All are located in modules: HNDMSWRD.INC and HNDMSWRD.CLW.

For HNDMSWord to function as expected, Microsoft Office must be installed, particularly Microsoft Word. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** handywordinterfacecontrols ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:MS Office Interface
SCOPE:WINDOW
CLASSES:HNDOfficeClass HNDWordClass
PARENT:Window(ABC),EmbedHNDWordClassFunctions
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This set of controls may be selectively used or removed in order to control Microsoft Word. The template is a child of EmbedHNDWordClassFunctions(HNDTools) which must be present before this control template becomes visible for application to your procedure window. Via the parent EmbedHNDWordClassFunctions template, this template indirectly utilizes the HNDOfficeWord Class located in HNDWORD.INC and HNDWORD.CLW. This template provides a set of button controls intended for placement on ABC windows. Unwanted controls may be removed from the window when only a single functionality is required. Functions included are: List recent documents, Close current document, Get document name, Close all documents, Minimize MS Word, Restore MS Word, Maximize MS Word, Spell check document, Grammar check document.

CATEGORY:
Processes
*** handymarkerbrowseprocessbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Processes
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED FEBRUAY 2015 ***

This template creates a button that starts an ABC process after copying the marked records in your HandyMarkerBrowse to a local queue identical to the browse queue and referencing it to a global reference variable called GLB:HNDMarkerCopyQ which is always visible to your process. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added.

*** handymarkerbrowseprocesslimiter ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDExport
PARENT:Process(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension works in combination with CHT Template HandyMarkerBrowse to limit the records touched by any ABC Process template to those selected in the browse at the time the process procedure is called. It contains a number of built-in capabilities: 1 - Export to a text file 2 - Export to HTML 3 - Bulk delete 4 - Bulk record modification 5 - Bulk append to another file Export functionality used by this template is provided by the CHT Class HNDExport.

*** handyqueryprocesslimiter ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDExport HNDBrwFilter
PARENT:Process(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension works in combination with CHT Template QueryParsingFilterControl to limit the records touched by any ABC Process template to those meeting requirements of the passed in query. It contains a number of built-in capabilities: 1 - Export to a text file 2 - Export to HTML 3 - Bulk delete 4 - Bulk record modification 5 - Bulk append to another file Export functionality used by this template is provided by the CHT Class HNDExport. Filtering and querying functionality used by this template is provided by the CHT Class HNDBrwFilter.

*** handysourceinlineprocess_hsp ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDParse HNDDataAdapter
PARENT:HandySourceProcedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

Use this template by dropping it on a procedure built with the CHT template HandySourceProcedure_TS. It builds an in-line process that traverses any file, with or without filter to perform some process-like operation. By "In-Line" we mean a process from which the calling procedure expects a response before it continues doing what it was doing. This, as opposed to an "Off-Line" process which performs some file action in the the background so that the calling procedure does not wait for it to complete. The Data Packaging tab on this template provides a variety of ways to "package" the data touched during each filtered pass through your file/table. This template is a child of HandySourceProcedure, and as such requires that template to be present before this one can be applied to your procedure.

*** handysourceprocedure ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDSourceProcedure
PARENT:None
  

DESCRIPTION:

*** REVISED NOVEMBER 2015 ***

This template builds a flexible source code procedure that allows you to attach any number of CHT classes using CHT templates. The resulting procedure's embed structure is based on a skeleton class called HNDSourceProcedure, and it results in a far more end-user-embeddable procedure than the standard ABC source procedure which does not provide for method overriding and derivation, or much in the way of embed points. CHT uses this procedure template extensively in its JumpStarts in order to bring various CHT templates and classes together into a procedural context that then permits us to create a new outcome not provided directly by individual templates or classes by themselves.

*** handysourceprocedure_ts ***

  
VERSION:21D.02.00
TYPE:PROCEDURE
CATEGORY:Processes
SCOPE:ABC PROCEDURE
CLASSES:HNDSourceProcedure
PARENT:None
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template builds a flexible source code procedure that allows you to attach any number of CHT classes using CHT templates. The resulting procedure's embed structure is based on a skeleton class called HNDSourceProcedure, and it results in a far more flexible procedure than the standard ABC source procedure which does not provide for method overriding and derivation. CHT uses this procedure template extensively in its JumpStarts in order to bring various CHT templates and classes together into a procedural context that then permits us to create a new outcome not provided directly by individual templates or classes by themselves. Similar to HandySourceProcedure, this template provides access to a table schematic which permits the developer to attach a relational table schematic accompanied by views.

CATEGORY:
Query File Maintenance
*** manage qpfc query files ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Query File Maintenance
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides an editable browse with which to maintain any "CHTQryFile" (SEE: QueryParsingFilterControl template). Add this procedure to your application to maintain .TPS versions of the "CHTQryFile" table (SEE: HNDO.DCT for a file definition). Add, edit, and delete QPFC queries to be applied to the various CHT browses in your application that have populated either the QueryParsingFilterControl or the LocatorOverRideControl templates.

*** manage query favorites file (isam) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Query File Maintenance
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides an editable browse with which to maintain any "PreQueries" file (SEE: PopFavoriteQueries_QPFC template). Add this procedure to your application to maintain .TPS versions of the PreQueries file (SEE: HNDO.DCT for a file definition). Add, edit, delete and recategorize favorite queries to be applied to the various CHT browses in your application that have populated either the PopFavoriteQueries_QPFC or the PopFavoriteQueries_LORC templates.

*** manage query favorites file (sql) ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Query File Maintenance
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This procedure provides an editable browse with which to maintain any "PreQueries" table (SEE: PopFavoriteQueries_QPFC template). Add this procedure to your application to maintain SQL versions of the "PreQueries" table (SEE: HNDACCES.DCT for a file definition). Add, edit, delete and recategorize favorite queries to be applied to the various CHT browses in your application that have populated either the PopFavoriteQueries_QPFC or the PopFavoriteQueries_LORC templates. Remember to adjust this procedures file driver setting on the Explorerbrowse template if your SQL implementation is not MS Access.

CATEGORY:
Querying, Locating And Filtering
*** embedfilterfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Querying, Locating And Filtering
SCOPE:ABC PROCEDURE
CLASSES:HNDBrwFilter
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDBrwFilter Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhndquerybuilderfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Querying, Locating And Filtering
SCOPE:ABC PROCEDURE
CLASSES:HNDQueryBuilder
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template instantiates a CHT class called HNDQueryBuilder on your application procedure. The class is contained in modules HNDQBINF.CLW/HNDQBINF.CLW and provides compression storage functionality for the creation of .HZO container files.

*** embedzipqueryparserfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Querying, Locating And Filtering
SCOPE:ABC PROCEDURE
CLASSES:HNDQueryBuilder HNDParse HNDComZipClass HNDDisk HNDUtil HNDError
PARENT:HandyCOMZipperControl
  

DESCRIPTION:

*** REVISED NOVEMBER 2017 ***

This extension creates a single, local instance of the HNDQueryBuilder and hooks it into a CHT Zip procedure created by the HandyCOMZipperControl template. It allows for CHT-Style queries to filter file selection during the creation of ZIP files. This template is a child of HandyComZipperControl and can only be applied to your procedure if that template is already present.

*** explorerbrowselocatorcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion locator control for the CHT ExplorerBrowse. It can locate on any field in your browse including unkeyed fields and fields in joined tables. Options are provided to force selection of either the locator or the browse after a locate is performed and after a browse order change is applied. This template now (as of Aug, 2010) has the LocatorAsFilter feature fully enabled allowing the change of filter keywords right on the template, on a column-by-column basis. This template is a child template of CHT ExplorerBrowse and as such, that template must be present before this one can be added.

*** explorerbrowselocatorcontrolex ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion locator control for the CHT ExplorerBrowse. It has all of the features of ExplorerBrowseLocatorControl plus some extended features including a GO button and the ability to blank the browse when the locator is in filter mode (setting passed up from ExplorerBrowse) and the locator is empty. When the locator is in "Drill-Down" mode, a "breadcrumbs" display control provides the contents of the composite query either in CHT query language or in raw SQL depending on the contents of the display control provided. The locator control can locate on any field in your browse including unkeyed fields and fields in joined tables. Options are provided to force selection of either the locator or the browse after a locate is performed and after a browse order change is applied. This template is a child template of CHT ExplorerBrowse and as such, that template must be present before this one can be added.

*** explorerbrowseonecolumnquerycontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED JANUARY 2016 *** This control provides a query control attached to a single column in your browse, report or process to produce a STARTSWITH or CONTAINS filter which limits the returned data based on the value typed into the control. Several instances of this control template may be used in combination to provide a multi-column filter. This control works with ISAM or SLQ implementations. SEE HND2.APP for an ISAM example procedure of this template and HNDACCES.APP for an SQL example of this template. Remember that this template does not have its own GO button to execute the query as it's used most often in combination with other instances of itself. The GO button is populated separately once you have one or more instances of this template populated. That addon to this template is called ExplorerBrowseQueryGoButton.

*** explorerbrowseonecolumnquerydrop ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control provides a query control attached to a single column in your browse, report or process to produce a STARTSWITH or CONTAINS filter which limits the returned data based on the value typed into the control. Several instances of this control template may be used in combination to provide a multi-column filter. This control works with ISAM or SLQ implementations. An accompanying template ExplorerBrowseQueryGoButton provides a forced window reset to reset the browse and apply any filter values in this control (or multiples of this control) on your window. See HND2.APP for an example procedure.

*** explorerbrowsequerybuildercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion Query Builder control for CHT ExplorerBrowse. It can query on any field in your browse including unkeyed fields and fields in joined tables as long as they are either displayed on the browse or declared in the "Query Hot Fields" dialog provided by the ExplorerBrowse template. Two display controls are included, each of which displays a different version of the query. The CHT: display control displays the CHT query language version of your query. The SQL: display control displays the SQL query language version of your query if your browse is set to "Use SQL", otherwise the Clarion query language version of your query is displayed. One or both of these display controls may be deleted from your window if you do not wish to display the current query. See demonstration application HNDSQL1.APP for an example of this template in action. Multiple copies of this control may be used on the same window, attached separately to multiple ExplorerBrowse instances on that same window. This template is a child template of CHT ExplorerBrowse and as such, that template must be present before this one can be added.

*** explorerbrowsequerygobutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template places a companion, button control for CHT Template ExplorerBrowseOneColumnQueryControl. It forces a browse reset via ThisWindow.Reset(True) thus refreshing the browse and re-applying any query values present in one (or more) ExplorerBrowseOneColumnQueryControl templates present on the window. This template is a child template of CHT ExplorerBrowse and as such, that template must be present before this one can be added. See HND2.APP and HNDSQL3.APP for a examples procedures applying this template.

*** handyfieldautocompletecontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED JANUARY 2015 ***

This template creates an autocomplete lookup control to assist with completion of a form field which contains a value located in a data table. A state or province name populated on a form is an example of this. By typing a portion of the state name, a lookup is triggered in a state or province table. This same principle applies, of course to any field in any table you configure on the template.

*** handymarkerbrowselocatorcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion locator control for HandyMarkerBrowse browses. It can locate on any field in your browse including unkeyed fields and fields in joined tables. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added.

*** handymarkerbrowselocatorcontrolex ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion locator control for HandyMarkerBrowse browses. It has all of the features of HandyMarkerBrowseLocatorControl plus some extended features including a GO button and the ability to blank the browse when the locator is in filter mode (setting passed up from HandyMarkerBrowse) and the locator is empty. When the locator is in "Drill-Down" mode, a "breadcrumbs" display control provides the contents of the composite query either in CHT query language or in raw SQL depending on the contents of the display control provided. The locator control can locate on any field in your browse including unkeyed fields and fields in joined tables. Options are provided to force selection of either the locator or the browse after a locate is performed and after a browse order change is applied. The template display string will now optionally display SQL syntax for the WHERE clause in the case of UseSQL=True. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added.

*** handymarkerbrowseonecolumnquerycontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control provides a query control attached to a single column in your browse, report or process to produce a STARTSWITH or CONTAINS filter which limits the returned data based on the value typed into the control. Several instances of this control template may be used in combination to provide a multi-column filter. This control works with ISAM or SLQ implementations. SEE: HND3.APP for and ISAM example procedure using this template and HNDACCES.APP for an SQL example procedure using this template. Remember that this template does not have its own GO button to execute the query as it's used most often in combination with other instances of itself. The GO button is populated separately once you have one or more instances of this template populated. That addon to this template is called HandyMarkerBrowseQueryGoButton.

*** handymarkerbrowsequerybuildercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion Query Builder control for CHT HandyMarkerBrowse. It can query on any field in your browse including unkeyed fields and fields in joined tables as long as they are either displayed on the browse or declared in the "Query Hot Fields" dialog provided by the HandyMarkerBrowse template. Two display controls are included, each of which displays a different version of the query. The CHT: display control displays the CHT query language version of your query. The SQL: display control displays the SQL query language version of your query if your browse is set to "Use SQL", otherwise the Clarion query language version of your query is displayed. One or both of these display controls may be deleted from your window if you do not wish to display the current query. Multiple copies of this control may be used on the same window, attached separately to multiple ExplorerBrowse instances on that same window. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added.

*** handymarkerbrowsequerygobutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template places a companion, button control for CHT Template HandyMarkerBrowseOneColumnQueryControl. It forces a browse reset via ThisWindow.Reset(True) thus refreshing the browse and re-applying any query values present in one (or more) ExplorerBrowseOneColumnQueryControl templates present on the window. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added. See HND3.APP for an example procedure applying this template.

*** handymarkerbrowsesetscontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a marked sets dropdown control that enables you to save and recall sets of markers placed on a browse built with our HandyMarkerBrowse template. Each marked set can be given a unique name and once saved, can be recalled by selecting it from the dropdown control. Existing marked sets can be added to, cleared or removed entirely. NOTE: This template is not multi-instance in the sense that you can populate two instances on the same window attached to different HandyMarkerBrowses populated on the same window. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added.

*** handyqueryprocessbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template will help you to formulate a call to a process procedure extended with a template called HandyQueryProcessLimiter. It passes a query variable built with QueryParsingFilterControl - usually on a browse - and limits the processed records to only those records matching the current query.

*** handyqueryprocessbutton_qpfc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC), QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template will help you to formulate a call to a process procedure extended with a template called HandyQueryProcessLimiter. It passes a query variable built with QueryParsingFilterControl - usually on a browse - and limits the processed records to only those records matching the current query. An ORDER BY clause matching current browse order may optionally be incorporated into the query. This template is a child template of CHT QueryParsingFilterControl and as such, that template must be present before this one can be added.

*** handyqueryprocesslimiterqbcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyQueryProcessLimiter
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion Query Builder control for CHT HandyQueryProcessLimiter. It can query any field in your process including unkeyed fields and fields in joined tables as long as they are declared in the "Query Hot Fields" dialog provided on our "Limiter" template. Two display controls are included, each of which displays a different version of the query. The CHT: display control displays the CHT query language version of your query. The SQL: display control displays the SQL query language version of your query if your browse is set to "Use SQL", otherwise the Clarion query language version of your query is displayed. One or both of these display controls may be deleted from your window if you do not wish to display the current query. This template is a child template of CHT HandyQueryProcessLimiter and as such, that template must be present before this one can be added.

*** handyqueryreportbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template will help you to formulate a call to a report procedure extended with a template called HandyQueryReportLimiter. It passes a query variable built with QueryParsingFilterControl - usually on a browse - and limits the processed records to only those records that match the current browse query.

*** handyqueryreportbutton_qpfc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC), QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template will help you to formulate a call to a report procedure extended with a template called HandyQueryReportLimiter. It passes a query variable built with QueryParsingFilterControl - usually on a browse - and limits the processed records to only those records that match the the current browse query. An ORDER BY clause matching current browse order may optionally be incorporated into the query. This template is a child template of CHT QueryParsingFilterControl and as such, that template must be present before this one can be added.

*** handyqueryreportlimiterqbcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:HandyQueryReportLimiter
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a companion Query Builder control for CHT HandyQueryReportLimiter. It can query any field in your report including unkeyed fields and fields in joined tables as long as they are declared in the "Query Hot Fields" dialog provided on our "Limiter" template. Two display controls are included, each of which displays a different version of the query. The CHT: display control displays the CHT query language version of your query. The SQL: display control displays the SQL query language version of your query if your browse is set to "Use SQL", otherwise the Clarion query language version of your query is displayed. One or both of these display controls may be deleted from your window if you do not wish to display the current query. This template is a child template of CHT HandyQueryReportLimiter and as such, that template must be present before this one can be added.

*** inqueuequerycontrol_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template places an ENTRY Control (into which is entered a CHT-QUERY-LANGUAGE value) and a Clear Query BUTTON Control on your ListBoxBrowseExtender procedure. InQueueQueryControl_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window. This query template performs a variety of filtering operations like CONTAINS, STARTSWITH, ENDSWITH, EQUALS, and so on, to limit your LBX browse to only those records that have matching values in the fields referenced in the query string. InQueueQueryControl_LBX works both in LOCAL DATA MODE using local data tables and Clarion file drivers, as well as in REMOTE DATA MODE via CHT Client Server Connection(s).

Browse refresh data, whichever operating mode is in play, originates from data already in the "MAIN" data queue, filtered data is displayed, while the filter is present, from a temporary "SHADOW" queue. In other words interacting with this field-specific filter, causes no local table or remote client server table access or any sort. Filtering takes place entirely locally, and operates on broader queue data already present in the main data queue.

*** popfavoritequeries_csbl ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter HNDClnt
PARENT:ClientServerBrowseListBox
  

DESCRIPTION:

*** REVISED DECEMBER 2016 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into a query entry control also provided by the template. Dropping this template has the combined effect of dropping QueryParsingFilterControl with some features turned off plus PopFavoriteQueries_QPFC and it does so in a single step rather than having to drop the other two templates one after the other. See the predefined tables "PreQuery" and "PreMacro" in HNDACCES.DCT, HNDO.DCT and HNDCLIENTSVLEAN1VIEW.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs. CHT has provided an importable JumpStart procedure for browsing, editing and inserting pre-built queries. See the CHT Jumpstart Procedures interface. Queries entered on the query entry control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleting controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDCLIENTSVLEAN1VIEW.APP.

*** popfavoritequeries_expb ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:ExplorerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into a query entry control also provided on the template. Dropping this template has the combined effect of dropping QueryParsingFilterControl with some features turned off plus PopFavoriteQueries_QPFC and it does so in a single step rather than having to drop the other two templates one after the other. See the predefined tables "PreQuery" and "PreMacro" in HNDACCES.DCT, HNDO.DCT and HNDCLIENTSVLEAN1VIEW.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs. CHT has provided an importable JumpStart procedure for browsing, editing and inserting pre-built queries. See the CHT Jumpstart Procedures interface. Queries entered on the query entry control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleting controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDSQLPOPFAVEXPB.APP (SQL Demo), HNDISAMPOPFAVEXPB.APP (ISAM Demo), HNDEXPLORERSQLJOINTEST.APP (SQL Demo)

*** popfavoritequeries_hmb ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MARCH 2015 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into a query entry control also provided by the template. Dropping this template has the combined effect of dropping QueryParsingFilterControl with some features turned off plus PopFavoriteQueries_QPFC and it does so in a single step rather than having to drop the other two templates one after the other. See the predefined tables "PreQuery" and "PreMacro" in HNDACCES.DCT, HNDO.DCT and HNDCLIENTSVLEAN1VIEW.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs. CHT has provided an importable JumpStart procedure for browsing, editing and inserting pre-built queries. See the CHT Jumpstart Procedures interface. Queries entered on the query entry control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleting controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDZINDEXC8.APP or HNDZINDEXC9.APP (ISAM Demo), HNDMARKERSQLJOINTEST.APP (SQL Demo), HNSMIXEDBROWSESQLJOINTEST.APP (SQL Demo).

*** popfavoritequeries_lorc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into the LocatorOverRideControl query control, followed by a PostQuery() command to apply the query (or macro) to your data view whether local or remote. See the predefined tables "PreQuery" and "PreMacro" in HNDACCES.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs. CHT is planning to provide importable JumpStart procedures for browsing, editing and inserting pre-built queries. Queries entered on the QPFC control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleteing controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDACCES.APP (SQL Demo)

*** popfavoritequeries_qpfc ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a set of controls that pop up pre-built queries and query macros saved to a file defined in your dictionary and inserts them into QueryParsingFilterControl, followed by a PostQuery() command to apply the query (or macro) to your data view whether local or remote. See the predefined tables "PreQuery" and "PreMacro" in HNDO.DCT and HNDCLIENTSVLEAN1VIEW.DCT. These tables should be imported into your app's dictionary as a model for pre-defined queries or macros data tables. The table names and type (ISAM or SQL) doesn't really matter to this template, nor do the file prefixes. However, field names and data size definitions are required to be as defined in the PreQuery and PreMacro table designs. CHT is planning to provide importable JumpStart procedures for browsing, editing and inserting pre-built queries. Queries entered on the QPFC control can, of course, be saved into your pre-defined queries table on the fly by users. Deletes of pre-defined queries is also allowed -- no Macro saving or deleting, though. Adding/deleteing controls are provided for queries by the template but these may be hidden if you want to disallow all operations except query and macro selection and execution. Demo apps to look at: HNDCLIENTCLLEAN1VIEW.APP (Client Server Demo), HNDQPFCSQLJOINTEST.APP (ExplorerBrowse, HandyMarkerBrowse and ListBoxBrowseExtender Demo) NOTE: Currently QueryParsingFilterControl, to which this template is an addon, is able to work with Raw ABC browses and CHT FileLoadBrowsextender browses. This QPFC add-on is only implemented for QPFC + ExplorerBrowse or QPFC + HandyMarkerBrowse or QPFC + ListBoxBrowseExtender.

*** queryparsingfiltercontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:HNDBrwFilter
PARENT:BrowseBox(ABC), Report(ABC), Process(ABC), ExplorerBrowse, HandyMarkerBrowse, ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This template creates a query control capable of parsing a programmer-determined query language which can be used to filter data sets. Press the "Query keywords" button to modify the query language or query short forms. When populated on any ABC browse or list box, this template can place the appropriate code to force a filtered browse refresh when a query is entered or cleared. Additional configuration is required depending on which other Clarion Handy Tools templates (if any) you have in place on your browse. This template can also be used in conjuction with the ABC report template to produce filtered reports. The most recent revision allows for more flexibility in control naming when this template is used with ListBoxBrowseExtender. The January 2013 revision allows an option for query keywords to come directly from the translation file rather than being generated into the app from the KEYWORDS dialog. There is also now an option to include a number of internal macros representing the days of the week and the months of the year. By default the macros option is off and the query keywords from translation file is off. The reason for these "Off" defaults is for backward compatibility since these options did not exist prior to January 2013. Unless the developer turns these "On" his app behaves as always.

*** queryparsingfiltercontrolapplybutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW
CLASSES:None
PARENT:QueryParsingFilterControl
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template places a companion, button control for CHT Template QueryParsingFilterControl. It modifies that control's behavior in the following ways: 1) To allow query selection without immediate query execution. 2) To allow a selected query to be edited before execution. 3) To allow a new query to be edited before execution. 4) To execute the query when the "Apply" button is clicked. This template has no settings or switches that need to be set. This template is a child template of CHT QueryParsingFilterControl and as such, that template must be present before this one can be added. The behavior listed above is applied to QPFC by the simple addition of this template to your procedure window. However, it assumes that one of the following CHT templates is also present: ExplorerBrowse, HandyMarkerBrowse, or ListBoxBrowseExtender.

*** sortorderfieldfilter_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template places an ENTRY Control (into which is entered a filter value) and a Clear Filter BUTTON Control, onto your ListBoxBrowseExtender procedure window. SortOrderFieldFilter_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window. This query template performs a CONTAINS query (filter) using INSTRING() to limit your LBX browse to only those records that CONTAIN a matching value in the current sort-order field active on your LBX browse. SortOrderFieldFilter_LBX works both in LOCAL DATA MODE using local data tables and Clarion file drivers, as well as in REMOTE DATA MODE via CHT Client Server Connection(s). Browse refresh data originatesw, of the operating mode is in play, directly from the data table(s). In other , interacting with this field-specific filter, causes the browse to re-access either the file drivers for new data or the remote Client Server for new data, depending on the operating mode in play.

*** source_embedquerybuilderfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Querying, Locating And Filtering
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDQueryBuilder
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDQueryBuilder Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** universalquerycontrol_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Querying, Locating And Filtering
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template places three controls, ENTRY Control (into which is entered a CHT-QUERY-LANGUAGE value), a Clear Query BUTTON Control and a MAIN or SHADOW QUEUE toggle button, on your ListBoxBrowseExtender procedure.

The UniversalQueryContro_LBX template name derives from the fact that this control issues a query that fills and displays either the MAIN browse queue (from DATA SOURCE, local or remote) or it fills and displays the SHADOW browse queue, by copying from matching records in the MAIN QUEUE. UniversalQueryControl_LBX appears only in your list of available control templates when control template, ListBoxBrowseExtender is first added to your window.

This query template performs a variety of filtering operations like CONTAINS, STARTSWITH, ENDSWITH, EQUALS, and so on, to limit your LBX browse to only those records that have matching values in the fields referenced in the query string.

UniversalQueryControl_LBX works both in LOCAL DATA MODE using local data tables and Clarion file drivers, as well as in REMOTE DATA MODE via CHT Client Server Connection(s). When displaying MAIN QUEUE DATA a query on this control refreshes from DATA SOURCE. When displaying SHADOW QUEUE DATA this control refreshes from the MAIN QUEUE without interacting at all with the back end DATA SOURCE.

CATEGORY:
Remote Backup Functions
*** zip backup to cht server via http ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Remote Backup Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This is a remote backup procedure that may be incorporated into any application to provide file backup services to a CHT-Style file server located on your intranet or the internet via your high-speed internet connection. Standard .ZIP file compression is provided with optional encryption and subdirectory storage, as well as a convenient, all-in-one-place server connection dialog. Move or copy your zip to the configured remote location at the click of a button. HTTP or HTTPS protocol is used to move or copy your files to the server. See demonstration application: HNDZIPNPOSTTOCHTSERVER.APP, and accompanying server HNDFILSV.APP.

*** zip backup to ftp server ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Remote Backup Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This is a remote backup procedure that may be incorporated into any application to provide file backup services to an FTP server located on your intranet or provided via your internet connection by an ISP or similar provider. Standard .ZIP file compression is provided with optional encryption and subdirectory storage, as well as a convenient, all-in-one-place server connection dialog. Move or copy your zip to the configured remote location at the click of a button. FTP protocol is used to move or copy your files to the server. See demonstration application: HNDZIPNFTP.APP.

*** zip backup to iis/apache servers via http ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:Remote Backup Functions
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** REVISED MAY 2016 *** This is a remote backup procedure that may be incorporated into any application to provide file backup services to an IIS or Apache internet server located on your intranet or provided via your internet connection by an ISP or similar provider. Standard .ZIP file compression is provided with optional encryption and subdirectory storage, as well as a convenient, all-in-one-place server connection dialog. Move or copy your zip to the configured remote location at the click of a button. HTTP or HTTPS protocol may be used as required. See demonstration application: HNDHTTPZIPNPOST.APP.

CATEGORY:
Reports
*** handyclarionreportwritercontrol_hzo ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:HNDReportEngine HNDDisk HNDBrwFilter HNDParse
PARENT:Window(ABC),EmbedViewEx
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template attaches the Clarion Reportwriter class "ReportEngine" to your procedure and ensures that the current Report Writer DLL is linked into your application. Since this DLL is only available to be linked into a STANDALONE application, the template reverts your application to STANDALONE mode in the event it is set LOCAL. If your application uses CHT's VblFileNames template this template detects that and passes to report writer via the "ResolveVariableFileNames()" function the value of the relevant file name variable for any procedure tables populated as Primary, Secondary and Other. The template can also be configured to pass pre-opened files to Report Writer directly from the procedure.

This template implements easy report loading by scanning a designated CHT .HZO setup file for .TXR files which it loads into a queue to build a POPUP menu. Report files do not need to be physically present on your drive as .TXRs. Report files are extracted and expanded in-memory and passed to report engine via the "ReadReportLibrary()" function. CHT's HNDReportWriter Class (HNDRWPRLIB.INC / HNDRWPRLIB.CLW) also implements a built-in report previewer. And the template provides a built-in CHT query control that accepts real-language queries which it auto-translates to SQL for SQL back ends or into Clarion query language for ISAM files.

As reports are selected, the query parser scans report view fields and primes the CHT query builder with query fields appropriate to the report selected. Reports can be printed directly from the print button provided by the template and specific report TXRs can be selected from a POPUP menu.

This template is a child of CHT Template EmbedViewEx, which must first be placed on the procedure before this on can be allied with its parent selected.

*** handyclarionreportwritercontrol_txr ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:HNDReportEngine HNDDisk HNDBrwFilter HNDParse
PARENT:Window(ABC), Report(ABC), Process(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template attaches the Clarion Reportwriter class "ReportEngine" to your procedure and ensures that the current Report Writer DLL is linked into your application. Since this DLL is only available to be linked into a STANDALONE application, the template reverts your application to STANDALONE mode in the event it is set LOCAL. If your application uses CHT's VblFileNames template this template detects that and passes to report writer via the "ResolveVariableFileNames()" function the value of the relevant file name variable for any procedure tables populated as Primary, Secondary and Other. The template can also be configured to pass pre-opened files to Report Writer directly from the procedure.

This template implements easy report loading by scanning a designated directory and its subdirectories for .TXR files which it loads into a queue to build a POPUP menu. CHT's HNDReportWriter Class (HNDRWPRLIB.INC / HNDRWPRLIB.CLW) also implements a built-in report previewer. And the template provides a built-in CHT query control that accepts real-language queries which it auto-translates to SQL for SQL back ends or into standard Clarion query syntax for ISAM files.

As reports are selected, the query parser scans report view fields and primes the CHT query builder with query fields appropriate to the report selected. Reports can be printed directly from the print button provided by the template and specific report TXRs can be selected from a POPUP menu.

*** handymarkerbrowsereportbutton ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Reports
SCOPE:WINDOW
CLASSES:None
PARENT:HandyMarkerBrowse
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template creates a button that starts an ABC report after copying the marked records in your HandyMarkerBrowse to a local queue identical to the browse queue and references it to a global reference variable called GLB:HNDMarkerCopyQ which is always visible to your report. This template is a child template of CHT HandyMarkerBrowse and as such, that template must be present before this one can be added.

*** handymarkerbrowsereportlimiter ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Report(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension works in combination with CHT Template HandyMarkerBrowse to limit the records touched by any ABC Report template to those selected in the browse at the time the report procedure is called.

*** handymarkerbrowsereportlimitercpcs ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Report(ABC), CPCS Report Template
  

DESCRIPTION:

*** DEPRECATED *** To be removed from CHT toolking at the end of 2014! This extension works in combination with CHT Template HandyMarkerBrowse to limit the records touched by any CPCS Report template to those selected in the browse at the time the report procedure is called.

*** handymarkerbrowsereportlimiterfrb ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:None
PARENT:Report(ABC),Fomin Report Builder
  

DESCRIPTION:

*** DEPRECATED ***

To be removed from CHT toolkit at the end of 2014! This extension works in combination with CHT Template HandyMarkerBrowse to limit the records touched by any Fomin Report Builder template to those selected in the browse at the time the report procedure is called.

*** handyqueryreportlimiter ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Reports
SCOPE:ABC PROCEDURE
CLASSES:HNDBrwFilter
PARENT:Report(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension works in combination with any other procedure that implements a QueryParsingFilterControl template to create standardized CHT queries. Your report procedure requires a (*STRING xQuery) parameter in order to accept the query passed to it via our process/report calling template called HandyQueryReportButton.

*** reporthidewindow ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Reports
SCOPE:WINDOW
CLASSES:None
PARENT:Report(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control causes an ABC Report Window to stay hidden while the report is running. This is a desireable condition for servers to keep windows from popping up and causing server interruptions. When printing to PDF, the progress window that would normally pop up is also suppressed.

CATEGORY:
SMS Template
*** embedsmsfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:SMS Template
SCOPE:ABC PROCEDURE
CLASSES:HNDSMS
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension creates a single, local instance of the HNDSmtp Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

Example applications: HNDSMSMESSAGE.APP

*** send sms via cht sms api ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:SMS Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW JULY 2015 *** This ABC Window procedure provides an SMS-send-user-interface procedure that includes SMS configuration and SMS address lookup. This procedure sends SMS via the CHT SMS API which can send via either an SMS gateway or an SMTP server. This requires the recipient's cell phone and SMS Gateway Domainto be known before a message can be sent. Prepared file defintions ready-to-be-imported to your application may be located in HNDZIPNEMAIL.DCT. This jump start procedure is based on a procedure with the same name found in the demo application HNDSMSMESSAGE.APP.

*** send sms via smtp gateway ***

  
VERSION:21D.02.00
TYPE:JUMPSTART
CATEGORY:SMS Template
SCOPE:PROCEDURE
CLASSES:Various
PARENT:Various
  

DESCRIPTION:

*** NEW JULY 2015 *** This ABC Window procedure provides an SMS-send-user-interface procedure that includes SMTP configuration and SMS address lookup. This procedure sends SMS via the user's standard SMTP email server gateway and requires the recipient's cell phone and SMS Gateway Domain to be known before a message can be sent. This requirement, of course, is no different than requiring a recipient's email address to be known before an email can be sent. Prepared file defintions ready-to-be-imported to your application may be located in HNDZIPNEMAIL.DCT. This jump start procedure is based on a procedure with the same name found in the demo application HNDSMSMESSAGE.APP.

CATEGORY:
Sound And Video
*** embedavifunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Sound And Video
SCOPE:ABC PROCEDURE
CLASSES:HNDAvi
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDAvi Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Despite its name, this class provides an interface to all MS Windows MCI functionality.

At the moment it provides specific support for playing .MP3, .WAV, .AVI, .MID, .MWV, and .MPG files. For example: OBJ.PlayMp3() and OBJ.PlayWave(). However, some of the more abstract methods like OBJ.PlayBatch(), OBJ.Command() and OBJ.PlayItem() will work with any legal MCI device file.

CATEGORY:
Spelling-Checker
*** globalincludespellingcheck ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Spelling-Checker
SCOPE:APPLICATION
CLASSES:HNDSpell
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This global extension template brings low-overhead, multi-language spell-checking to your applications. It enables a global "Spell Check" object to trigger spell-checking in entry and text controls populated on your procedure windows. Checking can be triggered for an entire window using a user-configurable hot key defaulting to CTRLF7 or individual controls can be checked using a second configurable hot key.

Further, individual words may be checked by selecting the word and using a third configurable hot key. Initially we are providing, on request, lexicons for the following languages: English, Afrikaans, Croatian, French, German, Greek, Italian, Netherlands, Portugese, Russian, Spanish, Swedish, Ukranian. Since these are derived from open-source word lists, we will ask developers seeking non-English dictionaries to help us develop a common-words list for their chosen language. A common-words list is a set of the top 25-50 most commonly used words. In English, for example, these are words like "the", "and", "to", and so forth. For a working, English-language example application see HNDSPELLCHECKGLOBAL.APP.

By default, all TEXT and ENTRY controls are spell-checked. This template attaches a local template called LocalIncludeSpellingCheck to your window procedures. This child template generates the actual spell-check code inside your window. Further configuration is provided at the level of individual windows.

*** handyspellcheckcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Spelling-Checker
SCOPE:WINDOW
CLASSES:HNDUtil HNDSpell
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template brings low-overhead, multi-language spell-checking to your applications. It drops a single "Spell Check" button onto your window to trigger spell-checking in entry and text controls populated on the procedure window. Checking can be triggered for the entire window using the button provided or individual controls can be check using a configurable hot key. Further, individual words may be checked by selecting the word and using a configurable hot key. Initially we are providing, on request, lexicons for the following languages: English, Afrikaans, Croatian, French, German, Greek, Italian, Netherlands, Portugese, Russian, Spanish, Swedish, Ukranian. Since these are derived from open-source word lists, we will ask developers seeking non-English dictionaries to help us develop a common-words list for their chosen language. A common-words list is a set of the top 25-50 most commonly used words. In English, for example, these are words like "the", "and", "to", and so forth. For a working, English-language example application see HNDSPELLCHECKDEMO.APP. As of Build 12C1.00, this template provides for spell-check field selection. By default, all TEXT and ENTRY controls are spell-checked when the "Spell Check" button is clicked. The template now provides the opportunity to override that default behaviour and to select specific fields to be checked, in which case only selected fields are processed.

*** localincludespellingcheck ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Spelling-Checker
SCOPE:WINDOW
CLASSES:HNDUtil HNDSpell
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 *** This extension template is a child of global template GlobalIncludeSpellingCheck. It brings low-overhead, multi-language spell-checking to any application window upon which it populates. Checking can be triggered for the entire window using a configurable hot key defaulting to CTRLF7 and individual controls can be checked using a second configurable hot key.

Further, individual words may be checked by selecting the word and using a third configurable hot key. Initially we are providing, on request, lexicons for the following languages: English, Afrikaans, Croatian, French, German, Greek, Italian, Netherlands, Portugese, Russian, Spanish, Swedish, Ukranian. Since these are derived from open-source word lists, we will ask developers seeking non-English dictionaries to help us develop a common-words list for their chosen language. A common-words list is a set of the top 25-50 most commonly used words. In English, for example, these are words like "the", "and", "to", and so forth. For a working, English-language example application see HNDSPELLCHECKGLOBAL.APP.

This local template provides the opportunity to disable spelling check on any window on which it populates. You can further override default behaviour and select specific fields to be checked, in which case only selected fields are processed.

CATEGORY:
String Handling
*** embedbufferobject ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:String Handling
SCOPE:ABC PROCEDURE
CLASSES:HNDBuffer
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDBuffer Class. HNDBuffer provides a means of creating, removing, and even re-sizing large storage memory spaces within your procedures. This eliminates the need to create a pre-sized CSTRING which must accept binary data of unknown length. Inevitably, in situations where the input data size is unknown ahead of time, the CSTRING created is too big and wastes memory, or too small and either fails or GPFs due to memory overwrite. Since this is an object that once out of scope self-destucts, there is also less risk of leaving unused, but still-allocated memory space attached to your application, thus preventing "memory leak".

HNDBuffer also includes a "BufferHash" function which can detect differences between the data held in one buffer and another. A Hash value is kept of any given buffer as it has data inserted or removed from it. At any time, the hash value of one buffer can be compared with that of another buffer to determine if they are the same or different.

CHT's server classes use HNDBuffer extensively to create memory storage for large, but infinitely size-variable, data coming and going over the network or the internet. All HNDBuffer methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedhndstringfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:String Handling
SCOPE:ABC PROCEDURE
CLASSES:HNDString
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDString Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

CATEGORY:
TXA Handling
*** aaexportprocedure ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:TXA Handling
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This Utility template exports the named procedure into a .TXA. Once export of the procedure is completed, the .TXA is then processed to remove auto-populated procedure templates ProcedureImagesEx, ProcedureSnapIns and ProcedureTransparentControls, if they are present. Leaving auto-populated templates of this sort in the .TXA causes duplication and orphaning of the auto-populated template, since there's no mechanism in the Clarion IDE to re-establish a connection with the ProcedureImagesEx instance being imported or the ProcedureSnapIns instance being imported with the parent template instance that performs the procedure-level population of these templates, namely, ApplicationImagesEx , ApplicationSnapIns, ProcedureTransparentControls templates respectively.

*** aaimportprocedure ***

  
VERSION:21D.02.00
TYPE:UTILITY
CATEGORY:TXA Handling
SCOPE:APPLICATION
CLASSES:None
PARENT:None
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This Utility template imports the named procedure into a .TXA. This template assumes you have first exported the procedure being imported using CHT Utility Template AAExportProcedure. Once import of the procedure is completed, the application will be stripped of any duplicate instances of the following CHT auto-populated templates: ProcedureImagesEx, ProcedureSnapIns and ProcedureTransparentControls.

CATEGORY:
Update Controls
*** chtmultitableupdate ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Update Controls
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:Update(ABC)
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This control template drops a hidden placeholder control onto your ABC update form procedure window. It writes code to perform an ACCESS:FileName.Update() for every table on your form procedure added to the "Other Files" area of the file tree. When used with a CHT ListBoxBrowseExtender browse using the FillFromView() functionality, this allows you to populate fields on your form that are not necessarily in a single table, but in multiple tables accessed by your LBX View design. Other than positioning from the IDE window editor [optional] no further configurations are necessary on this template interface.

*** updatebuttons_lbx ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Update Controls
SCOPE:WINDOW PROCEDURE
CLASSES:None
PARENT:ListBoxBrowseExtender
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

The _LBX suffix on this template name indicates that it is a child template associated only with (L)istbox(B)rowseE(X)tender. This control template drops three buttons (Insert, Change and Delete) onto your LBX browse window. Other than positioning and/or cosmetically altering the buttons from the IDE window editor [optional] no further configurations are necessary on this template interface.

CATEGORY:
Utility Functions
*** globalincludecwutilfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Utility Functions
SCOPE:APPLICATION
CLASSES:ABCCWUTILFunctions
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension template globally instantiates a single instance of the ABC CWUTIL.INC functions. These functions are not class-based. They appear as extended Clarion language functions everywere in your app if this template has been globally attached to your application. You may change the default instance name if you wish.

This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehndutilitiesdll ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Utility Functions
SCOPE:APPLICATION
CLASSES:HNDUtilStaticFunctions
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MARCH 2015 ***

This extension template attaches HNDUTILITIESCx.DLL globally to your application. This dll is an export version of CHT's HNDUTIL class. The functions are implemented as static functions much like SV's clarion BUILTINS. A list of functions and function prototypes is included in HNDUTILITIES.CLW attached by this template as a "header" file into your map for you and includes HNDUTILITIES.LIB to your application such that by dropping this template globally into your application at the global level. Hence, all functions in the HNDUTILITIES.DLL are available globally inside your application. Function descriptions are available in HNDUTILITIES.HTML on our website as well as in your \html\ subdirectory below \accessory\hnd\ in your clarion install directory.

This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added. This template automatically copies HNDUTILITIES.DLL to your output directory.

CATEGORY:
Window Design And Control
*** embeddockingwindow ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Window Design And Control
SCOPE:ABC PROCEDURE
CLASSES:HNDDockingWindow
PARENT:Any ABC/CHT MDI Main
  

DESCRIPTION:

*** REVISED APRIL 2015 ***

This template creates a threaded docking window that is able to attach itself to (dock with) your MAIN MDI PARENT window on the left, right, as configured on the template. This unique window then acts as a container for command buttons which can launch other procedures and functions from inside the MAIN procedure or generate events inside the MAIN (hosting) procedure.

See HNDDOCWN.INC, HNDDOCWN.CLW to study the header, code modules respectively. Utility application HNDSCRPT.APP illustrates use of the template and calling HNDDockingWindow methods.

*** embedhndcallbackfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Window Design And Control
SCOPE:ABC PROCEDURE
CLASSES:HNDCallBack
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDCallBack Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template attaches the CHT HNDCallBack Class to your window procedure as does the CHT Template EmbedWindowFunctions. Both templates are not needed on the same window since both will deliver the services of HNDCallBack.

This template brings in a narrower set of callback functions designed to intercept control and low-level window events on your Clarion window procedure.

*** embedwindowfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Window Design And Control
SCOPE:ABC PROCEDURE
CLASSES:HNDWindow
PARENT:AACHTControlPanel ApplicationImagesEx
  

DESCRIPTION:

*** REVISED DECEMBER 2017 ***

This extension creates a single, local instance of the HNDWindow Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

EmbedWindowFunctions manages a host of features on your application window, from application-in-system-tray, to window callbacks, to windowboxes, to dynamic user menus. This template is a child of global template ApplicationImagesEx, which itself is a child of our master global template AACHTControlPanel. These parent-global templates must be populated before this one can be added to any procedure.

As of build 12A1.03 this template also provides a Window Effects dialog that lets you establish degrees of window transparency and to fade a window into view on entry. Various window transitions are also available for bringing windows into view our out of view.

CATEGORY:
Windows API
*** embeddiskfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HNDDisk
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDDisk Classes. CHT's HNDDISK class derives from HNDUTIL. See header files HNDDISK.INC and HNDUTIL.INC for a list of methods and method prototypes to discover a wealth of functionality no developer worth his salt should ever be without.

Together these classes provide a wide variety of low-level disk and file-oriented utility functions that keep "HANDY" operations like creating directories and building lists of files in your directories, plus a few hundred more similar operations, at your fingertips. All operations in these classes are pure Clarion code and require no DLLs to be incorporated into your applications.

All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedfilenotifyfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HNDFileNotify
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2017 ***

This extension creates a single, local instance of the HNDFileNotify Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. DEMO Application: HNDMONITORDIRECTORYSRVC.APP.

*** embedhnddiskexfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HNDDiskEx
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDDiskEx Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. Example application: HNDINSTBA.APP

*** embedhndoscontrolfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HndOSControl
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HndOSControl Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** embedutilityfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC PROCEDURE
CLASSES:HNDUtil
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension creates a single, local instance of the HNDUtil Classes. HNDUTIL.INC and HNDUTIL.CLW are inluded in your procedure All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

*** globalincludehnddiskexfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDDiskEx HNDDisk HNDUtil
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDDiskEx class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehnddiskfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDDisk
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED OCTOBER 2016 ***

This extension template globally instantiates a single instance of the CHT HNDDisk class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehndshellfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDShell
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDShell class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehndshelllinkfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDShellLinkClass
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDShellLinkClass class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincludehndutilfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDUtil
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension creates a single, application-global instance of the HNDUtil Class (HNDUTIL.INC/HNDUTIL.CLW') This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** globalincluderegistryfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:APPLICATION
CLASSES:HNDRegistry
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED AUGUST 2016 ***

This extension template globally instantiates a single instance of the CHT HNDRegistry class. You may change the default instance name if you wish. This template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

*** handyapieventswindow ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:WINDOW
CLASSES:None
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This extension template creates a "CallBack" window that is capable of intercepting and posting a wide variety of standard window events which are not normally available inside the Clarion ACCEPT loop. Extended event equates are provided in HNDEQU.CLW. This template provides no prompts. An embeddable callback procedure is created for you automatically on dropping the template as an extension on any ABC window procedure.

*** handydriveselectorcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Windows API
SCOPE:WINDOW
CLASSES:HNDDisk
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a drive selector control on your application window. It also creates an embeddable instance of the HNDDisk Classes. The control displays the drive letters of all available drives and the drive label if there is one.

*** handyfileselectorcontrol ***

  
VERSION:21D.02.00
TYPE:CONTROL
CATEGORY:Windows API
SCOPE:WINDOW
CLASSES:HNDDisk
PARENT:Window(ABC)
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This control template places a file selector control on your application window. It also creates an embeddable instance of the HNDDisk Classes. When clicked, the control displays a filter-enabled file selector browse capable of finding and delimiting any file or file type on your system. The template may be configured on the template interface to find files only or directories only. This setting is actually a class property which can be changed at run-time without needing to reconfigure the template settings.

*** source_embeddiskexfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDDiskEx
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDDiskEx Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** source_embeddiskfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDDisk
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDDisk Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** source_embedhzofunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDZStore
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2015 ***

This extension creates a single, local instance of the HNDZStore Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

*** source_embedutilityfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows API
SCOPE:ABC SOURCE PROCEDURES
CLASSES:HNDUtil
PARENT:ABCSourceProcedure
  

DESCRIPTION:

*** REVISED JUNE 2017 ***

This extension creates a single, local instance of the HNDUtil Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion. This template is specific to ABC Source procedures which do not contain the normal embed points found in ABC window procedures like browses, reports and processes.

CATEGORY:
Windows Registry
*** embedregistryfunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows Registry
SCOPE:ABC PROCEDURE
CLASSES:HNDRegistry
PARENT:Any ABC/CHT Procedure
  

DESCRIPTION:

*** REVISED FEBRYART 2017 ***

This extension creates a single, local instance of the HNDRegistry Classes. All methods appear in the "Local Objects" section of the procedure to which this extension is applied and may be embedded in the usual ABC fashion.

CATEGORY:
Windows Services
*** handyntservicefunctions ***

  
VERSION:21D.02.00
TYPE:EXTENSION
CATEGORY:Windows Services
SCOPE:APPLICATION
CLASSES:HNDService
PARENT:AACHTControlPanel
  

DESCRIPTION:

*** REVISED MAY 2016 ***

This template attaches HNDService Classes to your application at the global level and turns your application into a standard NT Service that runs from Services.MSC the windows Services Manager Interface.

HandyNTServiceFunctions is a child of global template AACHTControlPanel and as such, must be installed to the global extensions area by first installing AACHTControlPanel and inserting with that template selected.