Download source files - 4 Kb
Download demo project - 12 Kb
Introduction
I searched the web for a piece of code that calculates the Sunrise/Sunset based on the Date and a latitude and longitude,
but could not find one in C++ that was freely available. People have FreeWare out there, but were unwilling to give out the
source as they deemed it to "valuable". So I took it upon myself to convert one of the other freely available pieces of
code, and convert it for everyone to use.
I have written a the following C++ code. It is based heavily on the Javascript I obtained directly from the NOAA.
I find that many applications may have a use for this information, so feel free to use it to make your own FreeWare tray
applications, or any other Utility Programs.
The Main three functions are:
CTime GetSunset(double dLat,double dLon,CTime time);
CTime GetSunrise(double dLat,double dLon,CTime time);
CTime GetSolarNoon(double dLon, CTime time);
which take in Latitude and Longitude values as doubles and a CTime with the Date that you
want to calculate the SR/SS for. It returns a CTime in UTC.
I have included a non-MFC Tray icon class I have written, with the example.. It has the basic
functionality to display a tray icon, and can be used in MFC, Win32 and ATL applications. Probably
not as good as the newest CSystemTray, but I use it with Win32 to make very small footprint applications!!
I have also added more functionality to the demo, as the way I originally submitted it, it had very little
actual functionality. I also added the code so it is converted from UTC as well.
Hope someone finds it Useful....