Click here to Skip to main content
16,017,788 members
Articles / Desktop Programming / WTL
Article

Holidays Calendar

Rate me:
Please Sign up or sign in to vote.
4.56/5 (9 votes)
18 Jul 2006CPOL2 min read 116.6K   4K   19   8
A small application to keep track of all important dates.

Holiday Calendar

Introduction

When I first saw Jay Muntz's excellent article Dynamic Holiday Date Calculator[^], I thought to myself, "Great article, but it requires a front end". So I combined it with the Calendar control[^] by Bjarke Viksoe, and the result is presented here.

Holidays Calendar is a daily calendar that shows all holidays or any other anniversaries defined in an XML file. It will help you to stay informed of all upcoming dates, birthdays, events, and holidays. When you use this program, you will never forget anyone's most important day, or overlook a hot date. Although it is developed mainly for tracking birthdays, you can also use it for keeping track of upcoming events, anniversaries, holidays, or as a tool for general reminders.

Installation

Copy the two files to any folder of your choice, and run the HolidayCalendar.exe.

Points of Interest

Since the original Date Calculator is written in C#, I ported it to C++, and the code to calculate the holidays can be found in the CDateCalculator class. I completely kept the logic for calculating the holidays, and used the same XML file that defines all holidays. So if you have any questions regarding the algorithm for calculating the correct dates, please send them to the author of the original article. The only difference is that my class requires only year as an input, and it will calculate all holidays for the given year.

Another point is that I used the TinyXml parser to read XML - nice, small, easy to use, and speedy. Highly recommended.

Credits

History

  • 07/13/2006 - Initial release.

Disclaimer

THIS SOFTWARE AND THE ACCOMPANYING FILES ARE DISTRIBUTED "AS IS" AND WITHOUT ANY WARRANTIES WHETHER EXPRESSED OR IMPLIED. NO RESPONSIBILITIES FOR POSSIBLE DAMAGES CAN BE TAKEN. THE USER MUST ASSUME THE ENTIRE RISK OF USING THIS SOFTWARE.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Web Developer
United States United States
This member has not yet provided a Biography. Assume it's interesting and varied, and probably something to do with programming.

Comments and Discussions

 
BugSomething is Messed Up Pin
gs_virdi2-Sep-15 21:02
gs_virdi2-Sep-15 21:02 
Hello,
I just downloaded the file, opened HolidayCalendar.exe and Woom. The snapshot here in the article shows April 2006 with two arrows, but in my computer (windows 7) this small portion is displaying rows of complete month (days). That control is not even moving or scrolling. Sure I'll open the code n look-in but do u have any idea how and why it happened? Settings on my computer I guess?
Next thing I need is ur guidance/tips for making this calendar work with Indian holidays, or better if this can be done for custom holidays.
Sure this one is a very basic version but I bet its a wndrfl effort with many ideas sprouting out from this. Luv'd the effort u have put-in.
GBU
GeneralRe: Something is Messed Up Pin
Igor Vigdorchik4-Sep-15 17:48
Igor Vigdorchik4-Sep-15 17:48 
Questionquestion Pin
xiaojiak28-Aug-12 1:43
xiaojiak28-Aug-12 1:43 
GeneralEaster Date calculation Pin
AlexEvans26-Aug-08 15:14
AlexEvans26-Aug-08 15:14 
GeneralRe: Easter Date calculation Pin
Igor Vigdorchik26-Aug-08 16:11
Igor Vigdorchik26-Aug-08 16:11 
QuestionHow can I build it with VS 2003 Pin
AlexEvans24-Aug-08 16:55
AlexEvans24-Aug-08 16:55 
AnswerRe: How can I build it with VS 2003 Pin
Igor Vigdorchik25-Aug-08 9:50
Igor Vigdorchik25-Aug-08 9:50 
GeneralRe: How can I build it with VS 2003 Pin
AlexEvans25-Aug-08 11:18
AlexEvans25-Aug-08 11:18 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Praise Praise    Rant Rant    Admin Admin   

Use Ctrl+Left/Right to switch messages, Ctrl+Up/Down to switch threads, Ctrl+Shift+Left/Right to switch pages.