Clarion Handy Tools ™ 
Templates•Classes•Utilities•Projects
Applications•Online

TEMPLATES BY CATEGORY (TIERS 3,4)
(BUILD: 28A.00.00)

(TIER-3) APP TXA SUPPORT
** aaexportprocedure **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: APP TXA SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

AAExportProcedure 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, EmbedWindowFunctions templates respectively.

** aaimportprocedure **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: APP TXA SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

AAImportProcedure 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.

(TIER-3) BROWSE SUPPORT LBX
** embedview_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** inqueuequerycontrol_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** listboxbrowseextender **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: HNDFileLoadBrowse
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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 that read data from files are: HNDPEOPLE_LBX.APP, HNDLBXDM.APP, HNDLBXSQL.APP and HNDLBXSQLEX.APP. Some example applications that DO NOT read from data files are: HNDBULKSIGNER.APP.
NOTE: This template now provides dialogs for template-based conditional column icon assignments.
The "CODE-TABS" on this template are new of Build 27A.03.00. They provide the developer with a means to "hook" code onto LBX Class Methods by inserting code into the related template text control and to have the template place your code into the correct location and have it executed when that method is called from anywhere in the class.
To determine if a given "CODE-TAB" will drop your code where it's needed, experiment first, by dropping a comment followed by opening the EMBEDITOR and searching for your comment.

** maxpreloadrecordcontrol_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: UniversalQueryControl_LBX
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** popfavoritequeries_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: HNDBrwFilter HNDClnt
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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 HNDLBXDM.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: HNDLBXDM.APP and HNDPEOPLE_LBX.APP

** prefilterbuttons_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** sortorderfieldfilter_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** universalquerycontrol_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: BROWSE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

(TIER-3) CLIENT SERVER LBX
** clientserverbrowselistbox **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: CLIENT SERVER LBX
SCOPE: (TIER-3)
CLASSES: HNDFileLoadBrowse
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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 HNDCLIENTSV.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 HNDCLIENTCL.APP which illustrates and provides Client-Server access to CHT's Subscriber Support Forum.
The demo server servicing HNDCLIENTCL.APP is called HNDCLIENTSV.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 HNDCLIENTSV.APP and a client browse to consume that VIEW into HNDCLIENTCL.APP.

** handywebclientupdateformproced... **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: CLIENT SERVER LBX
SCOPE: (TIER-3)
CLASSES: HNDClient HNDHttp
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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 (HNDCLIENTCL.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSV.APP.

** lbxclientserverbrowse **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: CLIENT SERVER LBX
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

This procedure template builds a Client/Server.
ListBoxBrowseExtender (LBX) Local or remote 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 select the "?LBXList" Control
Example applications are: HNDPEOPLE_LBX.APP, HNDLBXDM.APP, HNDLBXSQL.APP, HNDLBXSQLEX.APP

** listboxbrowseextenderclientser... **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: CLIENT SERVER LBX
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

This procedure template builds a Client/Server.
ListBoxBrowseExtender (LBX) Local or remote 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:
  1. STEP 1: Make sure that AACHTControlPanel and VBLFileNames are attached globally.
  2. STEP 2: Attach tables to your new procedure from the Clarion IDE's DATA/TABLES tab.
  3. STEP 3: Open the ResizeHandlesControl dialog and insert the "?Display" control into the dropdown.
  4. STEP 4: Open the LBX template dialog "ListBox Queue" and select a primary browse table.
  5. STEP 5: On the same dialog, add queue fields to the "Queue Fields" dialog in the order you want them displayed on the browse.
  6. STEP 6: Visit the WINDOW PROPERTIES button on your procedure and find the "?LBXList" Control

(TIER-3) DATA VIEW SUPPORT
** handyhdqtolocaldata **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DATA VIEW SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyHDQToLocalData template 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.

(TIER-3) FTP CLIENT SUPPORT
** embedinternetftp **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDInetFtp
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** embednetftpclasses **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDNETFTPClass
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS
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.

** handyftpinitializationcontrols **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDInetFTP
PARENT: EmbedInternetFTP
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyFTPInitializationControls 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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDInetFTP
PARENT: HandyFTPInitializationControls
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyFTPLocalFilesControls 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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDWindow HNDInetFTP
PARENT: HandyFTPRemoteFilesControls HandyFTPInitializationControls EmbedInternetFTP(HN
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyFTPRemoteFilesDLControls 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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDWindow HNDInetFTP
PARENT: HandyFTPLocalFilesControls HandyFTPInitializationControls EmbedInternetFTP(HND
  

DESCRIPTION:

©CLARION HANDY TOOLS

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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDFileLoadBrowse HNDInetFTP
PARENT: HandyFTPInitializationControls EmbedInternetFTP
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyFTPRemoteFilesControls 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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDInetFtp
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

InstantFTPDownload 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.

** instantftpupload **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: FTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDInetFtp
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

InstantFTPUpload 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.

(TIER-3) HTTP CLIENT SUPPORT
** clientserverupdateformbuttons **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDClientHook
PARENT: HandyWebClientUpdateFormProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

ClientServerUpdateFormButtons 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.
This template is also a child of CHT Template HandyWebClientUpdateFormProcedure_LBX which creates a Client Server Web Form Procedure compatible with ListBoxBrowseExtender.

** embedhndclienthook **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDClientHook
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDClientHook 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDClient
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

This CHT HNDClient Class is used to turn a Clarion application into a web client of various sorts. This provides your application the capability to communicate via HTTP/HTTPS protocol cross the network, WAN, or WE to exchange data and/or files with a Server (TYPE 1,2,3 or 4) at the other end.
Encryption and compression are built into all transactions and exchanges under developer control.

Further, access permission to the server is strictly controlled by various means under user control. Access can be server-level, or user-specific level as required by the implementation.

** embedhttpfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHTTPFunctions 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDWinHTTP
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedWinHTTPFunctions 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.

** handyhttpfiledelete_ehf **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp
PARENT: EmbedHTTPFunctions
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyHTTPFileDelete_EHF 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp
PARENT: EmbedHTTPFunctions
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyHTTPFileExists_EHF 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp
PARENT: EmbedHTTPFunctions
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyHTTPGetFile_EHF 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp
PARENT: EmbedHTTPFunctions
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyHTTPPutFile_EHF 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: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWebClientBrowseProcedure 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 (HNDCLIENTCL.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSV.APP.

** handywebclientbrowseproceduree... **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWebClientBrowseProcedureEx 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 (HNDCLIENTCL.APP) which accesses CHT's forum data tables using an example server application called HNDCLIENTSV.APP.

** handywebclientprocessprocedure **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: NONE
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWebClientProcessProcedure 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: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: NONE
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWebClientReportProcedure 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.

** handywebclientupdateformproced... **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP CLIENT SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDClient HNDHttp HNDClientHook
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWebClientUpdateFormProcedure 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.

(TIER-3) HTTP SERVER SUPPORT
** browserserverinitializationcon... **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: EmbedBrowserServer
  

DESCRIPTION:

©CLARION HANDY TOOLS

BrowserServerInitializationControls 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.
NOTE: Recently added configurations:
"Skip automatic hardware IP lookup?"

** chtjumpstartfileserverapplicat... **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

CHTJumpStartFileServerApplication 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.
NOTE 4: A ready-to-use stub application meeting the above conditions called HNDSTUBFILESERVER.APP is provided in the /HNDAPPS/ directory.

** chtjumpstartstaticserverapplic... **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

CHTJumpStartStaticServerApplication 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.
NOTE 3: No dictionary is required to be attached to your "stub" application at creation time.
NOTE 4: A ready-to-use stub application meeting the above conditions called HNDSTUBPAGESERVER.APP is provided in the /HNDAPPS/ directory.

** clientserverbrowsebuilder_xcl **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient
PARENT: ClientServerBrowseListBox
  

DESCRIPTION:

©CLARION HANDY TOOLS

ClientServerBrowseBuilder_XCL 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.
"CODE-TABS" have been added to this template to enable developers to insert code into the ViewToFileBuffer() method. "CODE-TABS" left blank (no code inserted) are ignored and have no impact on the procedure.

** clientserverdatabuilder **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: HandyJDOAdapter
  

DESCRIPTION:

©CLARION HANDY TOOLS

ClientServerDataBuilder 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: BrowserServerInitializationControls
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** clientserverwebprocessdatabuil... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: HandyWebClientProcessProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

ClientServerWebProcessDataBuilder 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 HNDCLIENTCL.APP.
And a Web Client Server starting-point application is provided in demo application HNDCLIENTSV.APP.

** clientserverwebreportdatestamp **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: HandyWebClientReportProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** clientserverwebreportpagenumbe... **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: HandyWebClientReportProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** clientserverwebreporttimestamp **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHttp HNDClient HNDClientHook
PARENT: HandyWebClientReportProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** embedbrowserserver **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDHtml HNDBrowserServer HNDSubscriptionServer ViewManager
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedBrowserServer 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.

** embedbrowserserverfileschemati... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: EmbedBrowserServer
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedBrowserServerFileSchematic 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.

** embedhnddataadapterfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDDataAdapter
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDDataAdapterFunctions 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.

** globalincludehndclientfunction... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDClient HNDClientHook
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

GlobalIncludeHNDClientFunctions 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.

** handyjdodataadapter **

  
VERSION: 28A.00.00
TYPE: PROCEDURE TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDJDOAdapter ViewManager HNDBrwFilter TransactionManager
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyJDODataAdapter 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.
3)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 be created in any CHT Web server of type 1 (Browser Server) and type 3 (Client Server).
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.

** popfavoritequeries_csbl **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDBrwFilter HNDClnt
PARENT: ClientServerBrowseListBox
  

DESCRIPTION:

©CLARION HANDY TOOLS

PopFavoriteQueries_CSBL 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 HNDCLIENTSV.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.

** processusercustomrequest **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDSubscriptionServer HNDBrowserServer
PARENT: EmbedBrowserServer
  

DESCRIPTION:

©CLARION HANDY TOOLS

ProcessUserCustomRequest 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.

** serverfilehandlingoverrides **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: EmbedBrowserServer
  

DESCRIPTION:

©CLARION HANDY TOOLS

By default, all CHT servers deny all file upload/download/delete requests from browsers and clients alike. This template helps you configure the behavior 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: 28A.00.00
TYPE: CODE TEMPLATE
CATEGORY: HTTP SERVER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: VblFileNames
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

(TIER-3) MEMORY/STRING SUPPORT
** embedbufferobject **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: MEMORY/STRING SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDBuffer
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedBufferObject 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: MEMORY/STRING SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDString
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDStringFunctions extension creates a single, local instance of the HNDString 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.

(TIER-3) PROCESS SUPPORT LBX
** lbxbrowseprocessbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: PROCESS SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

This template creates a button that starts an ABC process after copying the marked records in your LBX Browse to a local queue identical to the browse queue and referencing it to the LBX Shadow Queue.

(TIER-3) PROJECT BUILDER SUPPORT
** excludemswsocklib **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** excludewininetlib **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** exportproject **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

The CHT Project Builder uses this template to export the [PROJECT] components from the TXA. It is run by CHT Project Builder 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.

** hndchecktplreg **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

The CHT Project Builder 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.

** hndcmpappclassestohtmlfile **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpAppClassesToHtmlFile 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: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpAppTemplatesToHtmlBoth template is used by CHT Project Builder (CHT PROJECT BUILDER) to generate HTML app discovery information. This template is called from CHT Project Builder 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: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpAppTemplatesToHtmlFile template is used by CHT Project Builder (CHT PROJECT BUILDER) 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.

** hndcmpimportaactlpanel **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpImportAACtlPanel template is used by the CHT Project Builder and other CHT templates to attach the AACHTControlPanel template to your application where required by CHT templates to provide application configuration services.

** hndcmpsetexpireoff **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpSetExpireOff template is used by the CHT Project Builder 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 Project Builder 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: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpSetExpireOn template is used by the CHT Project Builder 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 Project Builder 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.

** hndcmpsetmodeldll **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpSetModelDLL template is used by CHT Project Builder to set application compile mode to DLL from LIB.
This template is called from CHT Project Builder as an entry point to two other utility templates.

** hndcmpsetmodellib **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

HNDCmpSetModelLib template is used by CHT Project Builder to set application compile model to LIB from DLL
This template is called from CHT Project Builder as an entry point to two other utility templates.

** hndremoveapplicationpath **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

The CHT Project Builder uses this template to remove the path from your application's Project -> Properties -> Target File setting. CHT Project Builder 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: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

The CHT Project Builder 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.

** settranslatemodecustom **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

SetTranslateModeCustom template is used by CHT Project Builder (CHT PROJECT BUILDER) to set the app for HNDCUSTOM.TRN

** settranslatemodedefault **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: PROJECT BUILDER SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

SetTranslateModeDefault template is used by CHT Project Builder to set the app for HNDFBACK.TRN

(TIER-3) SMS SUPPORT
** embedsmsfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: SMS SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDSMS
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedSMSFunctions 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.

(TIER-3) SNAPIN SUPPORT
** applicationsnapins **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.
CHT provides Snap-Ins for HTTP file movement, File compression and decompression, EMAIL protocols of various sorts, File Encryption, HTML-to-PDF file conversion, and system disk identification.
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: (8)
CHTSNAPEDIT.EXE, CHTSNAPGET.EXE, CHTSNAPMAPI.EXE, CHTSNAPSMTP.EXE
CHTSNAPZIP.EXE, CHTSNAP2PDF.EXE, CHTSNAPCRYPT.EXE and CHTSNAPDISK.EXE
CHT "Snap-Ins" are written in C#.
• 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.

** botcdostartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places three buttons on your window that may be used to start the CHT HNDMAILCDO.EXE Batch-Bot, display its configuration and its help docs. 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.EXE dialog.
This button control template specifically calls the HNDSNAPCALL.RunCHTBotCDO() function to send an email via HNDMAILCDO.EXE.

Example application: HNDTESTCHTBOTCLACDO.APP.

** botmapistartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places two buttons on your window that may be used to start and document the HNDMAILMAPI(.EXE/.APP) command line email send utility.
BotMAPIStartButton 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.EXE dialog.
Buttons placed on your procedure window are: "?Button:StartBotMapi" and "?Button:DocumentBotMapi".
Example application: HNDTESTCHTBOTCLAMAPI.APP.

** botnetsmtpstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places three buttons on your window that may be used to start, configure and ducument the HNDMAILNET(.EXE/.APP) 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 HNDMAILNET.EXE dialog.
Buttons placed on your procedure window are: "?Button:StartNetBotSMTP", "?Button:ConfigNetBotSmtp" and "?Button:DocumentNetBotSmtp".
Example application: HNDTESTCHTBOTNETSMTP.APP.

** botsearchstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places two buttons on your window that start, and document the HNDSEARCH(.EXE/.APP) Command Line Text Search 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. Buttons provided are "?Button:StartBotSearch", and "?Button:DocumentBotSearch".
Global template ApplicationSnapins(HndTools), once added to your application must also have its "Enable?" and "Copy" switches checked, in the HNDSEARCH.EXE dialog.
Example application: HNDTESTCHTBOTCLASMTP.APP.

** botsmtpstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places three buttons on your window that start, confgure and document the HNDMAILSMTP(.EXE/.APP) 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. Buttons provided are "Button:StartBotSmtp", "Button:ConfigBotSmtp" and "Button:DocumentBotSmtp".
Global template ApplicationSnapins(HndTools), once added to your application must also have its "Enable?" and "Copy" switches checked, in the HNDMAILSMTP.EXE dialog.
Example application: HNDTESTCHTBOTCLASMTP.APP.

** botzipstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places three buttons on your window that may be used to command the HNDZIPNET.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.RunCHTBotZipNet() function to zip a source directory but not include the subdirectories of that source directory.
The RunCHTBotZipNet() function calls HNDZIPNET.EXE.EXE with the correct command line parameters to make this happen.
Example application: HNDTESTCHTBOTHNDZIPNET.APP.

** embedsnapcall **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDSnapCall
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedSnapCall 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, this class interfaces to the following items:
CHTSNAPSEND.EXE, CHTSNAPEDIT.EXE, CHTSNAPSMTP.EXE, CHTSNAPMAPI.EXE, CHTSNAPGET.EXE.

** globalincludehndsnapcallfuncti... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDSnapCall
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** handywindowsstopstartsnapsendb... **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ProcedureSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** proceduresnapins **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns
  

DESCRIPTION:


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 behavior 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: 28A.00.00
TYPE: CODE TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: HNDSNAPCALL.CLW
PARENT: ApplicationSnapIns
  

DESCRIPTION:

©CLARION HANDY TOOLS

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 present beforehand.

** snapeditstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places three buttons 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.

** snaphndslfcmdstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places a single button on your window that may be used to start the BATCH BOT Utility, HNDSLFCMD.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.

** snapmapistartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places two buttons on your window that may be used to start the CHTSNAPMAPI.EXE 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 CHTSNAPMAPI.EXE dialog. Example application HNDTESTCHTSNAPMAPI.APP.

** snapsmtpstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places three buttons on your window that may be used to start the CHTSNAPSMTP.EXE 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: HNDTESTCHTSNAPSMTP.APP.

** snapsendstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ProcedureSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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 for name compatiblity with other SnapxxxStartButton templates (e.g. SnapGetStartButton). It is identical to the template created earlier (which continues to exist) called HNDWINDOWSTOPSTARTSNAPSENDBUTTON.

** snapunzipstartbutton **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places a single button on your window that may be used to start the CHTSNAPZIP.EXE with the "zr" parameter.
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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: SNAPIN SUPPORT
SCOPE: (TIER-3)
CLASSES: None
PARENT: ApplicationSnapIns , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

SnapZipStartButton template places a single button on your window that may be used to start the CHTSNAPZIP.EXE with the "zz" parameter. 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.

(TIER-3) UPDATE SUPPORT LBX
** multitableupdate_lbx **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: UPDATE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: Update(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template drops a hidden placeholder control onto your LBX 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 (LBX) 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: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: UPDATE SUPPORT LBX
SCOPE: (TIER-3)
CLASSES: None
PARENT: ListBoxBrowseExtender
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

(TIER-4) CDROM SUPPORT
** embedhndcdromclass **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: CDROM SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDCDROMClass
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDCDROMClass 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 HNDCDROMEXAMPLE.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.

(TIER-4) DISK FILES SUPPORT
** embedhndbinfileiofunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDBinFileIO
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDBinFileIOFunctions 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.

** embedhndfilefunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDFile
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDFileFunctions extension creates a single, local instance of the HNDFile 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.
HNDFile (the class which this template introduces to your procedure) is a completely independent file class (independent of ABC File class) and is used primarily inside CHT classes that handle low-level file I/O. Via this template, HNDFile can be used equally readily on a local procedure to open, read, write to data file(s), ISAM or SQL.
Since this is intended to be used locally on a procedure and is therefore, not global, procedures that need to independently access files, for I/O can do so without repercussions as long as the file (table) in use is shared access. CHT's HNDSETUP app and even CHT Webupdater make extensive !!use, internally of HNDFILE, to create, and or handle .HZO container files for installation purposes.

** embedhndzstorefunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDZStore
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDZStoreFunctions 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.

** embedhnddosfilefunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDDOSFile
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS
EmbedHndDosFileFunctions 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.

** globalincludecwutilfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: ABCCWUTILFunctions
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

GlobalIncludeCWUTILFunctions 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.

** globalincludehnddosfilefunctio... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDDosFile
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

GlobalIncludeHNDDosFileFunctions extension creates a single, application-global instance of the HNDDosFile Class (HNDDOSF.INC/HNDDOSF.CLW).
This Class now derives the CHT class HNDCOMPRESS used file file compression.
This introduces native Clarion compression functionality to your application and requires no DLL to achieve that. This global template is a child of AACHTControlPanel and can only be populated to your application once AACHTControlPanel has been added.

** globalincludehndutilfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDUtil
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

GlobalIncludeHNDUtilFunctions 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.

** globalincludehndzstorefunction... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDZStore
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

GlobalIncludeHNDZStoreFunctions 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.

** source_embeddiskexfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDDiskEx
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

Source_EmbedDiskExFunctions 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDDisk
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

Source_EmbedDiskFunctions 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_embedutilityfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: DISK FILES SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDUtil
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

Source_EmbedUtilityFunctions 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.

(TIER-4) EMBEDDING ADVANCED
** embedinformation **

  
VERSION: 28A.00.00
TYPE: CODE TEMPLATE
CATEGORY: EMBEDDING ADVANCED
SCOPE: (TIER-4)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedInformation code template drops boiler-plate code into any embed point where this code template is dropped, in order to identify that embed point. This generated code may be copied to any other user-created template to enable it to embed code into that specifically identified embed point.

** embedobject **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: EMBEDDING ADVANCED
SCOPE: (TIER-4)
CLASSES: Any ABC Compliant Class
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedObject 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.

(TIER-4) ENCRYPTION SUPPORT
** embedencryptionfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ENCRYPTION SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDEncrypt
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedEncryptionFunctions extension creates a single, local instance of the HNDEncrypt Class, located in CHT modules HNDENCRP.INC (Header module) and HNDENCRP.CLW (Code module). 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 HNDCPYDM.APP

** source_embedencryptionfunction... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ENCRYPTION SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDEncrypt
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

Source_EmbedEncryptionFunctions 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.

(TIER-4) EVENT HANDLING SUPPORT
** embedhndsocketevents **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: EVENT HANDLING SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDSocketEvents
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDSocketEvents 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.

** extendedevents_ewf **

  
VERSION: 28A.00.00
TYPE: CODE TEMPLATE
CATEGORY: EVENT HANDLING SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: EmbedWindowFunctions
  

DESCRIPTION:

©CLARION HANDY TOOLS

ExtendedEvents_EWF 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.

** handyapieventswindow **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: EVENT HANDLING SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyAPIEventsWindow 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.

(TIER-4) EXPORT CLASSES SUPPORT
** exportclassesbycategory **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: EXPORT CLASSES SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

ExportClassesByCategory 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 CLARION HANDY TOOLS classes requires that you have a current subscription to the Source Code version of 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: EXPORT CLASSES SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: AACHTControlPanel
  

DESCRIPTION:

©CLARION HANDY TOOLS

ExportClassesByName 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 CLARION HANDY TOOLS classes requires that you have a current subscription to the Source Code version of 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.

(TIER-4) HEX CONVERSION
** embedhndhextodecimalfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HEX CONVERSION
SCOPE: (TIER-4)
CLASSES: HNDHexToDecimal
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDHexToDecimalFunctions 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.

(TIER-4) HZO COMPRESSION
** embedhzofunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HZO COMPRESSION
SCOPE: (TIER-4)
CLASSES: HNDZStore
PARENT: ABCWindowProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHZOFunctions extension creates a single, local instance of the HNDZStore Class on your Clarion window 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. 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: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: HZO COMPRESSION
SCOPE: (TIER-4)
CLASSES: HNDZStore
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

Source_EmbedHZOFunctions 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.

(TIER-4) INSTALLATION SUPPORT
** generatehndsetupmkrinstalldeta... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: INSTALLATION SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** generatehndsetupmkrinstalldeta... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: INSTALLATION SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

(TIER-4) MENU SUPPORT
** generateapplicationmenus **

  
VERSION: 28A.00.00
TYPE: UTILITY TEMPLATE
CATEGORY: MENU SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

GenerateApplicationMenus 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.

(TIER-4) NETWORK SUPPORT
** embedhndidialclassfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: NETWORK SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDIDial
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHndIDialClassFunctions extension creates a single, local instance of the HNDIDial 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.

** embedhndipaddressfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: NETWORK SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDIPAddress
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHndIPAddressFunctions extension creates a single, local instance of the HNDIPAddress 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.

(TIER-4) WINDOWS O/S SUPPORT
** embeddockingwindow **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDDockingWindow
PARENT: Any ABC/CHT MDI Main
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedDockingWindow 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.

** embedfilenotifyfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDFileNotify
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedFileNotifyFunctions 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.

** embedhndcallbackfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDCallBack
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDCallBackFunctions 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.

** embedhndcaptureconsole **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDCaptureConsole
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

EmbedHNDCaptureConsole 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.
As of Build 27A.03 this template provides "CODE-TABS" which implement code insertion points inside your application as an alternative to embedding code. These insertion points are based on embedded code found most frequently in CHT example and utility applications.
To determine if a given "CODE-TAB" will drop your code where it's needed, experiment first, by dropping a comment followed by opening the EMBEDITOR and searching for your comment.

** handycomeventloggercontrol **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDEventLoggerClass
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyCOMEventLoggerControl 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.

** handyw32eventloggercontrol **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDErrorClass
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyW32EventLoggerControl 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.

** handywindowsdebugviewbutton_ew... **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWindowsDebugViewButton_EWF 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.

** handywindowseventviewerbutton_... **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWindowsEventViewerButton_EWF 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.

** handywindowsservicesviewerbutt... **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: WINDOWS O/S SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: EmbedWindowFunctions , Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

HandyWindowsServicesViewerButton_EWF 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.

(TIER-4) XML2HTML SUPPORT
** embedstandardwebpageheader **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: XML2HTML SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

This template may be used to build apps that generate HTML Help files and web pages.
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 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.

** embedstandardwebpageheadershor... **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: XML2HTML SUPPORT
SCOPE: (TIER-4)
CLASSES: None
PARENT: None
  

DESCRIPTION:

©CLARION HANDY TOOLS

This template may be used to build apps that generate HTML from XML templates built with CHTSNAPEDIT.EXE. 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.
We're regularly adding features into CHTSNAPEDIT.EXE and into this template that allow the developer to add XML embeds that are used as the complete source of certain generated HTML items that were previously generated by whatever parser is built with this template, for instance HNDXML2HTMLGEN.APP. That puts generate-output control more completely in the XML source template, where it should be, not in the parser. Ultimately the parser should act only to cut and paste the XML embed points into whole cloth, HTML, while checking for errors in the XML and replacing missing XML embed points with generated default values only when the source XML is incomplete.

(TIER-4) ZIP SUPPORT
** embedcompressionfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDCompress
PARENT: Any ABC/CHT Procedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

This extension creates a single, local instance of the HNDCompress 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.

** embednetzipfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDNetZipperClass
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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).
A "CODE-TAB" has been added to allow the insertion of code into the AutoInit() method. Two text fields provide for insertion of procedure code into the BEFORE generated code and AFTER generated code area.
To determine if a given "CODE-TAB" will drop your code where it's needed, experiment first, by dropping a comment followed by opening the EMBEDITOR and searching for your comment.

** embedzipqueryparserfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDQueryBuilder HNDParse HNDComZipClass HNDDisk HNDUtil HNDError
PARENT: HandyCOMZipperControl
  

DESCRIPTION:

©CLARION HANDY TOOLS

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.

** handycomzippercontrol **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDComZipClass
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

This control template places a CHT COM Zipper Control from HNDZIPR.OCX on your application window.
HandyCOMZipperControl 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 HNDBACKUPCONFIGOCX.APP illustrates use of the template and calling HNDComZipClass Class methods.

** handynetzippercontrol **

  
VERSION: 28A.00.00
TYPE: CONTROL TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDNetZipperClass
PARENT: Window(ABC)
  

DESCRIPTION:

©CLARION HANDY TOOLS

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

** source_embedzipfunctions **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDComZipClass
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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. See example application HNDSOURCEMAPIDEMO.APP and HNDSOURCESMTPDEMO.APP

** source_writezipcode_sezf **

  
VERSION: 28A.00.00
TYPE: EXTENSION TEMPLATE
CATEGORY: ZIP SUPPORT
SCOPE: (TIER-4)
CLASSES: HNDComZipClass
PARENT: ABCSourceProcedure
  

DESCRIPTION:

©CLARION HANDY TOOLS

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. See example application HNDSOURCEMAPIDEMO.APP.