Calendar package is copyright 2004 by Alfonso Ranieri.
All Rights Are Reserved.
These classes are free for users: they don't have to pay
anything; they are not free for developers: I want to receive
a registered copy of your program if it uses them.
Calendar.mcc is a MUIC_Group subclass.
Calenda.mcc allows to easily define a date in the range
1-gen-1752, 31-dic-2400.
A Calendar object always contains a valid date as a Gregorian
number.
You may specify a date at any time via
MUIA_Calendar_Greg
MUIA_Calendar_Day
MUIA_Calendar_Month
MUIA_Calendar_Year
The default date is the current system date (today).
If you specify MUIA_Calendar_Greg, that is rounded and used
as the current date.
If you specify any of MUIA_Calendar_Day, MUIA_Calendar_Month
and MUIA_Calendar_Year, their value are rounded and used as
the current date.
So, if today is 2-feb-2004, after
cal = CalendarObject,
MUIA_CAlendar_Day, 20,
End;
the date of "cal" is 20-feb-2004.
You may set the date to today at any time using
MUIM_Calendar_Today.
You may add days, monthes and year at the current date at any
time via MUIM_Calendar_AddDay, MUIM_Calendar_AddMonth and
MUIM_Calendar_AddYear.
The resultant dates are rounded to the most reasonable
result, so if the current date is 30-apr-2004, after a
DoMethod(obj,MUIM_Calendar_AddMonth,-2), the resultant date
is 29-apr-2004.
Note that you should always store your your dates as ULONG
Gregorian numbers: no method to parse a date and to produce a
Gregorian number is actually implemented.
Because of in your program you would like to handle with
Gregorian dates outside Calendar.mcc, a small linker library,
the same used in Calendar.mcc, is included in Calendar.mcc
archive, so that you may reuse its functions.
Calendar.mcc reads at startup the file ENVARC:CALMCCHOLYDAYS.
The lines of the file are parsed with the template
DAY/A/N,MONTH/A/N,A=ANNIVERSARY/S so that you you may specify
your holidays and anniversaries.
In the following the attribute scheme is ISGN
|
To convert a date to a valid format us CALValidateDate().
To use a Calendar.mcc funtion, you must can:
- open Calendar.mmc version 18 or higher !!!
struct Library *CalendarBase;
CalendarBase = OpenLibrary("MUI/Calendar.mcc",18);
- if you created a Calendar.mcc object with MUIA_Calendar_MinVer 18 !!!
struct Library *CalendarBase;
get(calObj,MUIA_Calendar_Base,&CalendarBase);
- if you subclassed Calendar.mcc:
struct Library *CalendarBase;
CalendarBase = calendarSubclass->mcc_UserData;
|