*********************************************************************
********************         My Reminder          *******************
*******************           version 1            ******************
******************    Author : Vassilis Kostakos    *****************
*****************    Contact: vkostakos@yahoo.com    ****************
**************** Address: www.geocities.com/vkostakos ***************
***************                                        **************
*********************************************************************




Introduction
------------

This  program is supposed to be a small, fast, and convenient reminder
for   annually   repeated   events.  Such  events  can  be  birthdays,
anniversaries,  bank  holidays,  or  any  other event that is repeated
annually.  Moving holidays such as Easter, Mother's Day, etc., are not
supported directly.

One  of  the main strengths of My Reminder is its built-in support for
multiple character sets and encodings. Essentially, this means that if
your  data  files  contain information written in any language besides
English, you will still be able to view the information correctly.

By  placing this program in your Startup folder, you will conveniently
get you reminders every time you start you computer.




Usage
-----

Run  the  program  by double-clicking on it. You should see a new icon
appearing in the System Tray. By double-clicking on the icon, you will
see the program's main window. This window contains all your reminders
for the day. It can be resized and moved, in order to accommodate your
needs.  To  hide  the  window,  either  click  on  the 'X' icon in the
top-right corner, or double-click on the tray icon.

The  functions  of  My  Reminder are accessible via a pop-up menu that
appears  when you Right-click on the tray icon, or on the main window.
You will get the following options:
-Font Settings     :  Allows  you  to  change  the  appearance of  the
                      window's text.
-Background Color  :  Allows you to change the background color of the
                      window.
-Go to date        :  Displays  a  small  calendar, and  allows you to
                      choose a  specific  day  for which  to view  the
                      reminders.  The  usage  of the calendar is quite
                      intuitive.
-About My Reminder :  Displays the about window...
-Exit              :  Terminates the program.




The Data files
--------------

The next thing to do is to edit the data file, or even create your own
data files. The data files consist of many lines of text. Each line of
text  is  treated  as  a  separate  entry. Each line must begin with 4
numbers  in  the  form  mmdd (mm: month, dd: day). After the 4 numbers
comes the text to be displayed on that entry.

NOTE:  If  a  line  does not begin with the 4 numbers mentioned above,
then it will not be processed correctly.




The "settings.ini" file
-----------------------

This  file  is  used  to  store and retrieve settings for the program.
These  settings  are categorised, and reflect the following aspects of
the  program:
- Position  on  screen  and size of window
- Fonts and colors
- Data files

The  position  and  size attributes are more or less self-explanatory.
The  program  reads  these values, and positions itself accordingly on
the  screen.  This is very useful if, for instance, you would like the
program  to appear near the  Taskbar every time you  run it, or if you
would like the program to start minimized.

The  font attributes are used to recall the settings that the user has
made  regarding  the  appearance of the fonts. The properties Size and
Face are self-explanatory. The properties Bold, Italic, Underline, and
StrikeOut  can  take  the values 0 or 1 (0 means NO, 1 means YES). Any
combinations  of  the  above four properties is possible. The property
Charset  represents  the  Character  Set  that  is  used  to  show the
information.  The  properties Color and BGColor represent the Color of
the  font  and  the  Background  color.  There are many definitions of
useful  constant  values  for  Color and BGColor. Please refer to the
section "Color and BGColor" of this document.

Finally, the Data section refers to the files that the program uses to
retrieve its data. This section should look like this:

[Data]
NumberOfFiles=N
1=...
2=...
.
.
.
N=...

IMPORTANT:  When adding/removing references to files, DO NOT FORGET to
change the property NumberOfFiles.




Color and BGColor
-----------------

There  are  many  definitions  of useful constant values for Color and
BGColor.  These  constants map either directly to the closest matching
color  in  the system palette (for example, clBlue maps to blue) or to
the  corresponding  system  screen  element color defined in the Color
section  of  the Windows Control panel (for example, clBtnFace maps to
the system color for button faces).

Here is a list of predefined colors:

Value   -->   Color
----------------------
clAqua         Aqua
clBlack        Black
clBlue         Blue
clDkGray       Dark Gray
clFuchsia      Fuchsia
clGray         Gray
clGreen        Green
clLime         Lime green
clLtGray       Light Gray
clMaroon       Maroon
clNavy         Navy blue
clOlive        Olive green
clPurple       Purple
clRed          Red
clSilver       Silver
clTeal         Teal
clWhite        White
clYellow       Yellow

And  here  is  a  list  of  System-dependent  colors. These colors are
control from the Control Panel:

Value       -->       Meaning
-----------------------------
clBackground          Current background color of the Windows desktop
clActiveCaption       Current color of the title bar of the active window
clInactiveCaption     Current color of the title bar of inactive windows
clMenu                Current background color of menus
clWindow              Current background color of windows
clWindowFrame         Current color of window frames
clMenuText            Current color of text on menus
clWindowText          Current color of text in windows
clCaptionText         Current color of the text on the title bar of the active window
clActiveBorder        Current border color of the active window
clInactiveBorder      Current border color of inactive windows
clAppWorkSpace        Current color of the application workspace
clHighlight           Current background color of selected text
clHightlightText      Current color of selected text
clBtnFace             Current color of a button face
clBtnShadow           Current color of a shadow cast by a button
clGrayText            Current color of text that is dimmed
clBtnText             Current color of text on a button
clInactiveCaptionText Current color of the text on the title bar of an inactive window
clBtnHighlight        Current color of the highlighting on a button
cl3DDkShadow          Dark shadow for three-dimensional display elements
cl3DLight             Light color for three-dimensional display elements (for edges facing the light source)
clInfoText            Text color for tool tip controls
clInfoBk              Background color for tool tip controls


You  can  specify  Color  and BGColor as a specific 4-byte hexadecimal
number  instead of using the values defined above. The low three bytes
represent   RGB   color   intensities   for   blue,  green,  and  red,
respectively.  The  value  $00FF0000  represents  full-intensity, pure
blue, $0000FF00 is pure green, and $000000FF is pure red. $00000000 is
black and $00FFFFFF is white.

If  the  highest-order  byte  is zero ($00), the color obtained is the
closest  matching  color  in  the system palette. If the highest-order
byte is one ($01), the color obtained is the closest matching color in
the  currently  realized  palette.  If  the  highest-order byte is two
($02),  the  value  is  matched  with the nearest color in the logical
palette of the current device context.







