Click to start/stop

Generic Calendar Template

Generic Calendar Template for Clarion 5-10...  Legacy/ABC. This is a White box Procedure Template designed to add Calendar functionality to your application.
In a matter of seconds you can add the calendar procedure to your application and customize it visually just like any normal Clarion window. It can be used both as a lookup procedure or as part of a complex window. Supports 2 major Calendar styles. Move the cursor over the image on the right to see the difference. You can translate it into any European language (which can go with 256 ASCII characters :-) ). Compatible with ClarioNET (see comment below). Get Demo.
No template settings - no learning
You are probably asking yourself:  Why do I need another calendar ?
Well, this calendar is special. Unlike other calendars, this one can be
absolutely indistinguishable from all your other windows.
To achieve this you don't need to learn template language nor read boring instructions.
Just generate a Calendar procedure and it is yours. Now you can open the Calendar 
window in the window editor and you are free to do absolutely everything.
Change font size to make your calendar microscopically small or enlarge it to fit the screen.
Play with different fonts, colours, images etc.
Download the demo program to see the Generic Calendar template in action
Main advantages:
  • This is a white box tool, so you have full control over it
  • It does not use any black box DLLs nor data files
  • You can customize it just like any normal Clarion window
  • It does not make any changes to Clarion native
    nor to 3rd party templates. It's a rule.
  • No learning is involved because the template has no settings.
  • You can use the Calendar starting from either Sunday or Monday
  • And last, but not least: the Calendar uses a simple queue browse box instead of a
    traditional set of regions or buttons. This simplifies the code dramatically. So it's
    much easier to follow if you have to change it
  • There is the option to translate those few words on the calendar window to any
    European language employing any subset of 256 ASCII characters
  • Last feature can be used to customize English version as well to abbreviate
    Sunday, for instance, as  S or Sun or even SUND
Run the installation wizard. It will guide you through a few simple steps. That is it.
IMPORTANT: If you are using Clarion 5-6, after selecting Clarion5-Clarion6 directory wizard
will offer to install it into C:\Clarion5(6)\Clarion8 or C:\C55\Clarion8 directory respectively.
So don't forget to remove the last \Clarion8. But even if you do forget - no problem.
Just uninstall the template and re-run the installation.
To start using the template you have to manually register it.
If you do not know how to do this - VIEW ANIMATED HELP
IMPORTANT: This help was developed with another product of ours - Online
Animated Help Builder. To run it you need a JAVA enabled browser. Both MS Internet
and Netscape Navigator support JAVA, but in earlier versions of IE and in the 6th version
of NS you need to specify during installation that you need MS virtual machine or
Java support respectively. If you have installed it without this support it 
does not hurt to run installation again and install the required components. 
This will allow you to not only watch our help, but will also enable you to discover the
amazing world of Java on the Net. You will then be
able to see millions of wonderful effects instead of ugly rectangles. 
Try it and you won't be disappointed...
Just in case you can't get your browser to be Java enabled, or you just don't
wish to bother: Open Clarion (no other application should be open). 
Go to menu Tools (Setup) -> (Edit) Template Registry -> Register.  Select four new templates:
abcalend.tpl, abcalsu.tpl, lgcalend.tpl, and lgcalsu.tpl and then hit Open button.
First and third - Monday version and the second and fourth - Sunday one
You can find it in Clarion7(8,9,10...)\accessory\template\win
for Clarion >= 7 and in Clarion*\Template - for all others.
Using Template
The template requires Global Extension to be added to application global extensions.
Move cursor on top of a Tab to open!
These features were added following a request from one of our Spanish customers.
First it was just a Spanish Calendar. But then we were completely lost. 
Should we use "Setiembre" or "Septiembre"? Should we label Select button
"Seleccionar", "Aceptar", or "Elegir" etc.? etc. So finally we came to the conclusion that the
developer should define what to use for September themselves. How to translate the
word "Select" into their language. So here it goes - International Calendar Template!
The Generic Calendar Template  is a Procedure template.
So use it as you would any other procedure template, say, Browse one.
If you do not like our default calendar style you have three options:
First, you can generate our Calendar in your main DLL where you define all dictionary files,
customize it however you like and then name it as an external procedure in all other DLLs/EXE
You can go even further and open your customized calendar window definition (property ->
Window -> ... button). Copy it and paste on top of template window definition
You will easily find it in either abcalend.tpl (abcalsu.tpl) or  lgcalend.tpl (lgcalsu.tpl )
in the beginning of those files. In this case the template will generate your window instead
of ours every time you use the template
To get started, simply open an application and ADD CALENDAR TEMPLATE PROCEDURE
We have installed an example into your Clarion*/ Examples/VHCalend directory.
Or Clarion7(8,9,10...)\Lessons\VHCalend  in Clarion 7-10....
So to get some ideas as to how to use the template you can investigate the source.
Here is an example of how in a few minutes you can convert an English Calendar into a Spanish one (of course if you know that "January" is  "Enero" :-) ). If you are not happy with word "Setiembre" you can replace it with modern "Septiembre" in a matter of seconds and in all Calendars of the applications! This feature can be used even if you are developing for English speakers, say, to replace calendar headers S M T W ... with Sun, Mon, Tue, Wed etc. Or do any other customization you like. It's exactly what we've done in demo application.


To use the Generic Calendar in ClarioNet you have to replace the month spin control 
(which doesn't work properly) with the respective combo.
So just open source for calendar Window, find these 2 lines:

SPIN(@s20),AT(42,66,63,13),USE(loc:MonthName),HSCROLL,CENTER,CURSOR(CURSOR:None),CAP,FROM(loc:MonthsQue), |

and replace them with these 2:

COMBO(@s20),AT(42,66,63,13),USE(loc:MonthName,,?loc:MonthName:2),CENTER,FORMAT('80L@s20@'),DROP(14), |

and you will get the only Calendar working with ClarioNet:

Copyright (C) 2015 Vivid Help Systems Pty Ltd