| Class TKronos (unit Kronos) |
TComponent
| Constructors |
constructor Create(AOwner : TComponent);| Functions |
function AddDaytype(DayType: TDaytype) : Word;
procedure BeginChange;When reenabling Daytype processing it is necessary to recalculate the current DateExt when UserCalc is active.
function CDtoDateTime : TDateTime;Converts a day of week number to an index that can be used to access the Daynames array
procedure ClearUserDaytypes;
procedure DateByDayOffset(var TheYear, TheDayNumber : word;
OffsetValue : integer; WorkdaysOnly : Boolean);
procedure DateByMonthOffset(var TheYear, TheDayNumber : word;
OffsetValue : integer);
procedure DateByWeekOffset(var TheYear, TheDayNumber : word;
OffsetValue : integer);if FTransError then EndChange;
function DaynumberByTypeId(AYear : word; ADayTypeId : word) : word;Returns the daynumber of DayTypeName in AYear
function DaynumberByTypeName(AYear : word; DayTypeName : string) : word;
function DaysInInterval(Year1, Month1, MonthDay1,
Year2, Month2, MonthDay2 : word; WorkdaysOnly : boolean) : integer;Moves to the daynumber of DayTypeName/Id
function DaysInIntervalDn(Year1, Daynumber1, Year2, Daynumber2 : word;
WorkdaysOnly : boolean) : integer;
function DaysInIntervalDt(Date1, Date2 : TDateTime;
WorkdaysOnly : boolean) : integer;
function DeleteUserDayType(AnId : word; AName : string) : boolean;
destructor Destroy;
procedure DisableEvents(Disable : boolean);
function DOWtoDayNameIndex(ADayOfWeekNumber:word) : word;Converts a day of week number to Tweekday type
function DOWtoWeekday(ADayOfWeekNumber : word) : TWeekDay;
procedure EndChange;
function ExistsDaytype(DaytypeName : string) : Word;Returns the daynumber
function FetchDateExt(AYear, AMonth, AMonthDay : word) : TDateExt;
function FetchDateExtDn(AYear, ADayNumber : word) : TDateExt;
function FetchDateExtDt(ADate : TDateTime) : TDateExt;
function FetchDaytype(ADateExt : TDateExt; AnIndex : word) : TDaytype;
function FetchMonthExt(AYear, AMonth : word) : TMonthExt;
function FetchWeekExt(AYear, AWeek : word ) : TWeekExt;
function FetchYearExt(AYear : word) : TYearExt;Counts the days acc.
function FetchYeartype(AYearExt : TYearExt; AnIndex : word) : TDaytype;
function GetDaytypeDef(AnId : word; AName : string) : TDaytypeDef;
function GetDescKey(var Index : Integer; Keys : string;
var KeyName, Value : string) : Boolean;Returns the row and column in the current MonthImage that contains the last daynumber
procedure GetFirstMIDayCell(var ARow, ACol : Longint);Returns the row in the current MonthImage that contains AWeekNumber
procedure GetLastMIDayCell(var ARow, ACol : Longint);Returns the row and column in the current MonthImage that contains the first daynumber
procedure GetMIDayCell(ADayNumber : word; var ARow, ACol : Longint);
function GetMIWeekRow(AWeekNumber : word) : word;Returns the row and column in the current MonthImage that contains ADaynumber
function GetNextDaytype(var NextIndex : word) : TDaytype;
function GetNextDaytypeDate(ADate : word; var Count : word) : TDaytype;Retrievs a daytype from the daytype list, matching AName and Count
function GetNextDaytypeName(AName : string; var Count : word) : TDaytype;
procedure GotoDate(AYear, AMonth, AMonthDay : word);Returns the daynumber of ADayTypeConst in AYear
procedure GotoDateDn(AYear, ADayNumber : word);
procedure GotoDateDt(ADate : TDateTime);
procedure GotoDayType(AYear : word; AnId : word; DayTypeName : string);
procedure GotoLastMonth;
procedure GotoLastWeek;
procedure GotoNextMonth;
procedure GotoNextWeek;
procedure GoToOffsetDay(OffsetValue : integer;
WorkdaysOnly : boolean);
procedure GoToOffsetMonth(OffsetValue : integer);
procedure GoToOffsetWeek(OffsetValue : integer);
procedure GotoThisMonth;
procedure GotoThisWeek;
procedure GotoToday;
procedure GotoTomorrow;
procedure GotoYesterday;
function IsLastDayOfMonth(AYear, AMonth, AMonthDay : word) : boolean;
function IsLastMonth(var AYear, AMonthNumber : word) : boolean;
function IsLastWeek(var AYear, AWeekNumber : word) : boolean;
function IsLastWeekOfYear(AYear, AWeek : word) : boolean;
function IsLastYear(var AYear : word) : boolean;
function IsLeapYear(AYear : word) : boolean;
function IsNextMonth(var AYear, AMonthNumber : word) : boolean;
function IsNextWeek(var AYear, AWeekNumber : word) : boolean;
function IsNextYear(var AYear : word) : boolean;
function IsThisMonth(var AYear, AMonthNumber : word) : boolean;
function IsThisWeek(var AYear, AWeekNumber : word) : boolean;
function IsThisYear(var AYear : word) : boolean;
function IsToday(var AYear, ADayNumber : word) : boolean;
function IsTomorrow(var AYear, ADayNumber : word) : boolean;
function IsYesterday(var AYear, ADayNumber : word) : boolean;
procedure LoadFromFile(AFilename : string; LoadAll : boolean);
function MonthsInInterval(Year1, Month1, Year2, Month2: word) : integer;Count number of weeks between Year1, Week1 and Year2, Week2.
procedure Rechange;
procedure RestoreCD;
procedure SaveCD;
procedure SaveToFile(AFilename : string);
procedure SpecifyStandardDay(AnId : word; AName : string;
IsHoliday, IsFlagday : boolean);Retrievs a daytype from the daytype list, matching ADate and Count
procedure UpdateDaytype(AnId : word; AName : string;
DaytypeDef : TDaytypeDef);Predfined daytype.
procedure UpdateInfo;
function WeeksInInterval(Year1, Week1, Year2, Week2: word) : integer;
procedure CalcDaytype(Daytype : TDaytype; ADateExt : TDateExt;
IsCurrentDate : boolean; var Accepted : boolean);
procedure ChangeDate;
procedure ChangeKron(AYear : word);
procedure ChangeMonth;
procedure ChangeMonthDay;
procedure ChangeMonthNumber;
procedure ChangeWeek;
procedure ChangeWeekday;
procedure ChangeWeekNumber;
procedure ChangeYear;
procedure ClearLists;
procedure DisableIndexing(Disable : boolean);Fill weeks that belongs to next month
procedure DisableUserCalc(Disable : boolean);
function GetDaytypeObject(AnId : word; AName : string) : TDaytype;
procedure LoadDaytype(DaytypeDef : TDaytypeDef;
const DescKeys : String; const ClassID : Integer;
var LoadIt : boolean);
procedure Loaded;
function ReadDay(DNr : word) : TDay;Unterminated week at end of year
function ReadDayNr(ADate : word) : word;-> Daynumber of first weekday
function ReadMonth(MNr : word) : TMonth;Load Week-info
function ReadWeek(WNr : word) : TWeek;Load Day-info
function ReadYear : TYear;The following procedures loads the basic information structures
procedure SaveDaytype(Daytype : TDaytype;
var DescKeys : String; var ClassID : Integer;
var SaveIt : boolean);
procedure SetCountrySpecifics;
procedure Today;
function ConvertWeekday(DayOfWeekNumber : word) : TWeekDay;
function FindDayType(DayTypeName : string) : word;
function FindDayTypeId(DayTypeId : word) : word;
procedure FindOffsetDay(var TheYear, TheDayNumber : word;
OffsetValue : integer; WorkdaysOnly : Boolean);
procedure FindOffsetMonth(var TheYear, TheDayNumber : word;
OffsetValue : integer);
procedure FindOffsetWeek(var TheYear, TheDayNumber : word;
OffsetValue : integer);
function GetDayType(AnIndex : word) : TDaytype;Daynames
function GetDOW(DNr : word) : word;
function GetMonthImage : TMonthImage;
procedure MakeCal(AYear:Integer);
procedure MakeDates(AYear : Word; var CalTab : TCal);
procedure MakeKron(AYear : word);
procedure RestoreIntCd;
procedure SaveIntCD;
function SeekDate(MonthDate: Word; Leap : Boolean) : Word;
procedure SetDateExt(AYear, AMonth, AMonthDay, ADaynr : word;
ACal : TCal; ADayC : TDaycodes);
procedure SetDayNumber (Value : word);
procedure SetDefaults;Nothing.
procedure SetFirstDay(AYear: Word; var F : Integer);
procedure SetFirstWeekDay(Value : TWeekday);
procedure SetFixedCodes(AYear : Integer);
procedure SetHidePredefineds(Value : boolean);
procedure SetMaxYear(Value : word);
procedure SetMinYear(Value : word);
procedure SetMonth (Value : word);
procedure SetMonthDay (Value : word);
procedure SetMonthExt;
procedure SetRelCodes(FullMoonDate:Integer);
procedure SetWeek (Value : word);
procedure SetWeekDay(Value : TWeekDay);
procedure SetWeekExt;
procedure SetWeekHolidays(Value : TWeekHolidays);
procedure SetYear (Value : word);Check userdefined daytypes
procedure SetYearExt;
function ShowUp(F,L,Sf,Y : word) : boolean;| Properties |
property AllowUserCalc : boolean
property DayNumber : word
property DefaultToPresentDay : boolean
property FirstWeekDay : TWeekDay
property HidePredefineds : boolean
property MaxYear : word
property MinYear : word
property Month : word
property MonthDay : word
property Week : word
property WeekDay : TWeekDay
property WeekHolidays : TWeekHolidays
property Year : word
property DateExt : TDateExt
property DayTypeCount : word
property DayTypes : TDaytype
property FirstUserId : Word
property MonthExt : TMonthExt
property WeekExt : TWeekExt
property YearExt : TYearExt| Events |
event OnCalcDaytype : TCalcDaytypeEvent
event OnChangeDate : TNotifyEvent
event OnChangeMonth : TNotifyEvent
event OnChangeMonthDay : TNotifyEvent
event OnChangeMonthNumber : TNotifyEvent
event OnChangeWeek : TNotifyEvent
event OnChangeWeekDay : TNotifyEvent
event OnChangeWeekNumber : TNotifyEvent
event OnChangeYear : TNotifyEvent
event OnLoadDaytype : TLoadDaytypeEvent
event OnSaveDaytype : TSaveDaytypeEvent
event OnToday : TNotifyEvent| Variables |
Daynames : array[1..7] of string;
Monthnames : array[1..12] of string;
Datelist : TStringList;
FCSpIndex : integer;
IdList : TStringList;
NameList : TStringList;
NextId : word;
Cal : TCal;
ChurchdayIndex : TChurchdayIndex;
DayCodes : TDaycodes;
FAllowUserCalc : boolean;
FCalcDisabled : boolean;
FCalculating : boolean;
FChanging : boolean;
FDateExt : TDateExt;
FDayNumber : word;
FDayTypeCount : word;
FDefaultToPresentDay : boolean;
FEndChange : boolean;
FEventBuf : array[ocYear..ocCalcDaytype] of boolean;
FEventsDisabled : boolean;
FFirstUserId : word;
FFirstWeekDay : TWeekday;
FHidePredefineds : boolean;
FIntDayNumber : word;
FIntYear : word;
FMaxYear : word;
FMinYear : word;
FMonth : word;
FMonthDay : word;
FMonthExt : TMonthExt;
FOnCalcDaytype : TCalcDaytypeEvent;
FOnChangeDate : TNotifyEvent;
FOnChangeMonth : TNotifyEvent;
FOnChangeMonthDay : TNotifyEvent;
FOnChangeMonthNumber : TNotifyEvent;
FOnChangeWeek : TNotifyEvent;
FOnChangeWeekday : TNotifyEvent;
FOnChangeWeekNumber : TNotifyEvent;
FOnChangeYear : TNotifyEvent;
FOnLoadDayType : TLoadDaytypeEvent;
FOnSaveDaytype : TSaveDaytypeEvent;
FOnToday : TNotifyEvent;
FSavedDayNumber : word;
FSavedYear : word;
FTransDayNr : word;
FTransError : boolean;
FTransYear : word;
FWeek : word;
FWeekDay : TWeekDay;
FWeekExt : TWeekExt;
FWeekHolidays : TWeekHolidays;
FYear : word;
FYearExt : TYearExt;
IntFirstWeekday : word;
Kron : TKron;| Constructors |
constructor Create(AOwner : TComponent);************************* TKronos methods
| Functions |
function AddDaytype(DayType: TDaytype) : Word;Configuration methods
procedure BeginChange;Updates ext-properties with latest changes
When reenabling Daytype processing it is necessary to recalculate the current DateExt when UserCalc is active.
function CDtoDateTime : TDateTime;Converts a day of week number to an index that can be used to access Daynames array
Converts a day of week number to an index that can be used to access the Daynames array
procedure ClearUserDaytypes;Add one user defined spesific day to the daytype list
procedure DateByDayOffset(var TheYear, TheDayNumber : word;
OffsetValue : integer; WorkdaysOnly : Boolean);Returns then daynumber in AYear that matches a DaytypeId
procedure DateByMonthOffset(var TheYear, TheDayNumber : word;
OffsetValue : integer);Returns the year and daynumber by counting offsetvalue weeks from current date
procedure DateByWeekOffset(var TheYear, TheDayNumber : word;
OffsetValue : integer);Returns the year and daynumber by counting offsetvalue days from current date
if FTransError then EndChange;
function DaynumberByTypeId(AYear : word; ADayTypeId : word) : word;Returns the daynumber in AYear that contains Daytypename
Returns the daynumber of DayTypeName in AYear
function DaynumberByTypeName(AYear : word; DayTypeName : string) : word;Search- and offset calculating procedures
function DaysInInterval(Year1, Month1, MonthDay1,
Year2, Month2, MonthDay2 : word; WorkdaysOnly : boolean) : integer;Calculates the number of weeks between 1 and 2
Moves to the daynumber of DayTypeName/Id
function DaysInIntervalDn(Year1, Daynumber1, Year2, Daynumber2 : word;
WorkdaysOnly : boolean) : integer;Calculates the number of days between 1 and 2
function DaysInIntervalDt(Date1, Date2 : TDateTime;
WorkdaysOnly : boolean) : integer;Count number of days between Year1, Monthday1 and Year2, Monthday2.
function DeleteUserDayType(AnId : word; AName : string) : boolean;Clears all user defined spesific days from the daytype list, except the ones prefefined
destructor Destroy;
procedure DisableEvents(Disable : boolean);Returns the row and column in the current MonthImage that contains the last daynumber} //Misc
function DOWtoDayNameIndex(ADayOfWeekNumber:word) : word;Converts a day of week number to a TWeekday type
Converts a day of week number to Tweekday type
function DOWtoWeekday(ADayOfWeekNumber : word) : TWeekDay;Moves to Year/Daynumber that results from the number of months in OffsetValue. Startingpoint is current date} //Converting functions
procedure EndChange;Starts a date transaction
function ExistsDaytype(DaytypeName : string) : Word;Ends a date transaction
Returns the daynumber
function FetchDateExt(AYear, AMonth, AMonthDay : word) : TDateExt;ChangeKron(FYear);
function FetchDateExtDn(AYear, ADayNumber : word) : TDateExt;
function FetchDateExtDt(ADate : TDateTime) : TDateExt;SetDateExt(0,0,0,0, Cal, DayCodes);
function FetchDaytype(ADateExt : TDateExt; AnIndex : word) : TDaytype;
function FetchMonthExt(AYear, AMonth : word) : TMonthExt;ChangeKron(OrigYear);
function FetchWeekExt(AYear, AWeek : word ) : TWeekExt;ChangeKron(OrigYear);
function FetchYearExt(AYear : word) : TYearExt;Fetches information without changing the current day
Counts the days acc. to OffsetValue with starting point in current date. Returns year and daynumber
function FetchYeartype(AYearExt : TYearExt; AnIndex : word) : TDaytype;
function GetDaytypeDef(AnId : word; AName : string) : TDaytypeDef;Changes the definition of a user daytype
function GetDescKey(var Index : Integer; Keys : string;
var KeyName, Value : string) : Boolean;Retriggers all change eventhandlers
Returns the row and column in the current MonthImage that contains the last daynumber
procedure GetFirstMIDayCell(var ARow, ACol : Longint);Returns the row in the current MonthImage that contains AWeekNumber
Returns the row in the current MonthImage that contains AWeekNumber
procedure GetLastMIDayCell(var ARow, ACol : Longint);Returns the row and column in the current MonthImage that contains the first daynumber
Returns the row and column in the current MonthImage that contains the first daynumber
procedure GetMIDayCell(ADayNumber : word; var ARow, ACol : Longint);Converts the current date to Datetime-format} //Functions operating on MonthImage
function GetMIWeekRow(AWeekNumber : word) : word;Returns the row and column in the current MonthImage that contains ADaynumber
Returns the row and column in the current MonthImage that contains ADaynumber
function GetNextDaytype(var NextIndex : word) : TDaytype;Retrieves a user daytype definition
function GetNextDaytypeDate(ADate : word; var Count : word) : TDaytype;Retrievs a daytype from the daytype list, matching AName and Count
Retrievs a daytype from the daytype list, matching AName and Count
function GetNextDaytypeName(AName : string; var Count : word) : TDaytype;Retrievs a daytype from the daytype list
procedure GotoDate(AYear, AMonth, AMonthDay : word);Changes the current date by calculating or searching
Returns the daynumber of ADayTypeConst in AYear
procedure GotoDateDn(AYear, ADayNumber : word);
procedure GotoDateDt(ADate : TDateTime);if there is a transaction already running don't end
procedure GotoDayType(AYear : word; AnId : word; DayTypeName : string);
procedure GotoLastMonth;
procedure GotoLastWeek;
procedure GotoNextMonth;
procedure GotoNextWeek;
procedure GoToOffsetDay(OffsetValue : integer;
WorkdaysOnly : boolean);Moves to the daynumber in AYear that contains Daytypename/id
procedure GoToOffsetMonth(OffsetValue : integer);Moves to Year/Daynumber that results from the number of weeks in OffsetValue. Startingpoint is current date
procedure GoToOffsetWeek(OffsetValue : integer);Moves to Year/Daynumber that results from the number of days in OffsetValue. Startingpoint is current date
Converts a dow number of type 1=Monday, 2=Sunday to type TWeekDay
procedure GotoThisMonth;
procedure GotoThisWeek;
procedure GotoToday;
procedure GotoTomorrow;
procedure GotoYesterday;
function IsLastDayOfMonth(AYear, AMonth, AMonthDay : word) : boolean;
function IsLastMonth(var AYear, AMonthNumber : word) : boolean;
function IsLastWeek(var AYear, AWeekNumber : word) : boolean;
function IsLastWeekOfYear(AYear, AWeek : word) : boolean;
function IsLastYear(var AYear : word) : boolean;
function IsLeapYear(AYear : word) : boolean;
function IsNextMonth(var AYear, AMonthNumber : word) : boolean;
function IsNextWeek(var AYear, AWeekNumber : word) : boolean;
function IsNextYear(var AYear : word) : boolean;
function IsThisMonth(var AYear, AMonthNumber : word) : boolean;
function IsThisWeek(var AYear, AWeekNumber : word) : boolean;
function IsThisYear(var AYear : word) : boolean;
function IsToday(var AYear, ADayNumber : word) : boolean;Returns the year and daynumber by counting offsetvalue months from current date} //Retrievs information about the current date
function IsTomorrow(var AYear, ADayNumber : word) : boolean;
function IsYesterday(var AYear, ADayNumber : word) : boolean;
procedure LoadFromFile(AFilename : string; LoadAll : boolean);Specifies the standard predefined days with native names and status
function MonthsInInterval(Year1, Month1, Year2, Month2: word) : integer;Interval functions
Count number of weeks between Year1, Week1 and Year2, Week2.
procedure Rechange;Checks for duplicate daytype names
procedure RestoreCD;Saves the current date
procedure SaveCD;Turns off event triggering
procedure SaveToFile(AFilename : string);Loads a calendar definition from file
procedure SpecifyStandardDay(AnId : word; AName : string;
IsHoliday, IsFlagday : boolean);Retrievs a daytype from the daytype list, matching ADate and Count
Retrievs a daytype from the daytype list, matching ADate and Count
procedure UpdateDaytype(AnId : word; AName : string;
DaytypeDef : TDaytypeDef);Deletes a user daytype
Predfined daytype. Can't delete
procedure UpdateInfo;Restores the current date
function WeeksInInterval(Year1, Week1, Year2, Week2: word) : integer;Calculates the number of months between 1 and 2
procedure CalcDaytype(Daytype : TDaytype; ADateExt : TDateExt;
IsCurrentDate : boolean; var Accepted : boolean);
procedure ChangeDate;
procedure ChangeKron(AYear : word);Functions operating directly on the internal calendar structures:
procedure ChangeMonth;
procedure ChangeMonthDay;
procedure ChangeMonthNumber;
procedure ChangeWeek;
procedure ChangeWeekday;
procedure ChangeWeekNumber;
procedure ChangeYear;Weekday of current date does now belong to last Week of previous year
procedure ClearLists;Disables user calculation of daytypes, i.e. disables triggering of the OnCalcDaytype event
procedure DisableIndexing(Disable : boolean);The index of the IdList that is the last predefined daytype
Fill weeks that belongs to next month
procedure DisableUserCalc(Disable : boolean);Reads daynumber. ADate = Month * 100 + Monthday
function GetDaytypeObject(AnId : word; AName : string) : TDaytype;Clears the daytype lists, except the predefined daytypes
procedure LoadDaytype(DaytypeDef : TDaytypeDef;
const DescKeys : String; const ClassID : Integer;
var LoadIt : boolean);Turn off user calc. Necessary to prevent user from eternalnally triggering the OnCalDaytype event
procedure Loaded;Turns off sorting (Disable = true for all lists). Used in connection with loading from file, to speed up daytype creation. Call with Disable = false to turn on indexing and resort the lists
function ReadDay(DNr : word) : TDay;Reads year information
Unterminated week at end of year
function ReadDayNr(ADate : word) : word;Reads month information
-> Daynumber of first weekday
function ReadMonth(MNr : word) : TMonth;Reads week information
Load Week-info
function ReadWeek(WNr : word) : TWeek;Reads day information
Load Day-info
function ReadYear : TYear;Changes the internal calendar to AYear
The following procedures loads the basic information structures
procedure SaveDaytype(Daytype : TDaytype;
var DescKeys : String; var ClassID : Integer;
var SaveIt : boolean);
procedure SetCountrySpecifics;Updates YearExt, DateExt and MonthExt after calls to AddDaytype, SpecifyCommonday, SpecifiyChurchDay
procedure Today;
function ConvertWeekday(DayOfWeekNumber : word) : TWeekDay;Other internal routines
function FindDayType(DayTypeName : string) : word;
function FindDayTypeId(DayTypeId : word) : word;
procedure FindOffsetDay(var TheYear, TheDayNumber : word;
OffsetValue : integer; WorkdaysOnly : Boolean);Count number of months between Year1, Month1 and Year2, Month2.
procedure FindOffsetMonth(var TheYear, TheDayNumber : word;
OffsetValue : integer);
procedure FindOffsetWeek(var TheYear, TheDayNumber : word;
OffsetValue : integer);Returns the day and year by counting offset-days from current day
function GetDayType(AnIndex : word) : TDaytype;High level internal routines
Daynames
function GetDOW(DNr : word) : word;Antall måneder utover hele år
function GetMonthImage : TMonthImage;
procedure MakeCal(AYear:Integer);-> Ascension day
procedure MakeDates(AYear : Word; var CalTab : TCal);Computes first weekday of yaer
procedure MakeKron(AYear : word);Returns Daynumber tied to MonthDate
procedure RestoreIntCd;
procedure SaveIntCD;
function SeekDate(MonthDate: Word; Leap : Boolean) : Word;procedure SetCommonDaysDate; {Low level internal routines operating on the basic calendar structures
procedure SetDateExt(AYear, AMonth, AMonthDay, ADaynr : word;
ACal : TCal; ADayC : TDaycodes);
procedure SetDayNumber (Value : word);
procedure SetDefaults;Sets default attributes of standard churchdays and common days
Nothing. Use to derive a new component from TKronos
procedure SetFirstDay(AYear: Word; var F : Integer);******Procedures to create the internal calendar for a year
procedure SetFirstWeekDay(Value : TWeekday);Updating exisiting country spesific
procedure SetFixedCodes(AYear : Integer);MakeDates
procedure SetHidePredefineds(Value : boolean);
procedure SetMaxYear(Value : word);
procedure SetMinYear(Value : word);
procedure SetMonth (Value : word);
procedure SetMonthDay (Value : word);
procedure SetMonthExt;
procedure SetRelCodes(FullMoonDate:Integer);Now first sunday advent
procedure SetWeek (Value : word);Sunday = 1, Monday = 2, etc
procedure SetWeekDay(Value : TWeekDay);
procedure SetWeekExt;
procedure SetWeekHolidays(Value : TWeekHolidays);
procedure SetYear (Value : word);Property setting procedures
Check userdefined daytypes
procedure SetYearExt;Calculates Easter full moon
function ShowUp(F,L,Sf,Y : word) : boolean;| Properties |
property AllowUserCalc : boolean
property DayNumber : word
property DefaultToPresentDay : boolean
property FirstWeekDay : TWeekDay
property HidePredefineds : boolean
property MaxYear : word
property MinYear : word
property Month : word
property MonthDay : word
property Week : word
property WeekDay : TWeekDay
property WeekHolidays : TWeekHolidays
property Year : wordPublished declarations
property DateExt : TDateExt
property DayTypeCount : word
property DayTypes : TDaytype
property FirstUserId : Word
property MonthExt : TMonthExt
property WeekExt : TWeekExt
property YearExt : TYearExtSaves a calendar definition to file} //Stores information about the current date
| Events |
event OnCalcDaytype : TCalcDaytypeEvent
event OnChangeDate : TNotifyEvent
event OnChangeMonth : TNotifyEvent
event OnChangeMonthDay : TNotifyEvent
event OnChangeMonthNumber : TNotifyEvent
event OnChangeWeek : TNotifyEvent
event OnChangeWeekDay : TNotifyEvent
event OnChangeWeekNumber : TNotifyEvent
event OnChangeYear : TNotifyEvent
event OnLoadDaytype : TLoadDaytypeEvent
event OnSaveDaytype : TSaveDaytypeEvent
event OnToday : TNotifyEvent| Variables |
Daynames : array[1..7] of string;Public declarations
Monthnames : array[1..12] of string;
Datelist : TStringList;Protected declarations } {User daytype definitions. Three level index. The object fields references a TDaytype object
FCSpIndex : integer;Next id to be assigned to a userdefined daytype
IdList : TStringList;Name sort
NameList : TStringList;Date sort. 4 digit string Fixed dates: 0101 = jan. 1., 0102, jan 2., etc Dates relative to churchdays: 0100 User calculated dates: 0010 Yeartypes: 0000
NextId : word;Id sort. 6 digit string (000001 = 1, etc
Cal : TCal;
ChurchdayIndex : TChurchdayIndex;Daycodes for churchdays
DayCodes : TDaycodes;First weekday of year
FAllowUserCalc : boolean;
FCalcDisabled : boolean;True if event triggering is disabled
FCalculating : boolean;
FChanging : boolean;Daynumber saved with the SaveCD private method
FDateExt : TDateExt;
FDayNumber : word;
FDayTypeCount : word;
FDefaultToPresentDay : boolean;
FEndChange : boolean;True if a date transaction is active
FEventBuf : array[ocYear..ocCalcDaytype] of boolean;True if calls form a OnCaculateDaytype event handler is processing
FEventsDisabled : boolean;Internal fields
FFirstUserId : word;
FFirstWeekDay : TWeekday;
FHidePredefineds : boolean;
FIntDayNumber : word;Year saved with the SaveIntCD private method
FIntYear : word;Daynumber saved with the SaveCD method
FMaxYear : word;
FMinYear : word;
FMonth : word;
FMonthDay : word;
FMonthExt : TMonthExt;
FOnCalcDaytype : TCalcDaytypeEvent;
FOnChangeDate : TNotifyEvent;
FOnChangeMonth : TNotifyEvent;
FOnChangeMonthDay : TNotifyEvent;
FOnChangeMonthNumber : TNotifyEvent;
FOnChangeWeek : TNotifyEvent;
FOnChangeWeekday : TNotifyEvent;
FOnChangeWeekNumber : TNotifyEvent;
FOnChangeYear : TNotifyEvent;Events
FOnLoadDayType : TLoadDaytypeEvent;
FOnSaveDaytype : TSaveDaytypeEvent;
FOnToday : TNotifyEvent;
FSavedDayNumber : word;Year saved with the SaveCD method
FSavedYear : word;True if user calc computing is disabled
FTransDayNr : word;The year that was the current year when a date transaction started
FTransError : boolean;The daynumber that was the current daynumber when a date transaction started
FTransYear : word;Buffer for storing events during a date transaction
FWeek : word;
FWeekDay : TWeekDay;
FWeekExt : TWeekExt;
FWeekHolidays : TWeekHolidays;
FYear : word;Private declarations } // Property fields
FYearExt : TYearExt;
IntFirstWeekday : word;
Kron : TKron;True if an error occured during a date transaction} // Internal calendar variables