                         -----------------------------
                                    Alarm
                         -----------------------------
                           Perpetual Motion Software
                              Stefan K. S. Tucker
                         -----------------------------

This is a desktop utility that runs under Microsoft Windows(TM) and allows a
user to set multiple alarms.  Each alarm can be set to go off every day,
every two weeks, Monday and Wednesday of every third week, every month, once
a year, etc.  You can even set a "snooze", too.  Optionally, you can set an
alarm to run a specific application instead of just displaying a message. 
This allows you to run programs unattended (e.g., late-night backups or print
jobs).

This application is shareware.  You are free to distribute any unregistered
versions of this application to individuals and to bulletin boards, as long
as you distribute all of the files in their original, unregistered, format. 
(In fact, we encourage it because that is the only way that we can let people
know about our work.)

If you decide that you enjoy the program and wish to continue using it, you
are required to register the application.  Although this application is
fully-functional, there are some additional features that are only available
to registered users.  (Please see the help file section on "Setting an Alarm
to Repeat".)

Please see PMSPRODS.TXT for more information on registering this application
and for details on other products that are available from Perpetual Motion
Software.

The following files are included in this package:
      ReadMe.txt   - Installation instructions and release notes (this file)
      PMSProds.txt - Other products available from Perpetual Motion Software
      Alarm.exe    - The application
      Alarm.hlp    - The Microsoft Windows(TM) help file for the application
      PMSUtil.dll  - Support functions for the application
      PMSCCtrl.dll - Support functions for the application's 3-D controls
      Ctl3dV2.dll  - Microsoft DLL for 3-D dialog box frames

                                --------------
                                 Requirements
                                --------------

IBM PC or compatible (386, 486, Pentium, or better)
Microsoft Windows(TM) 3.1, or later


                                ------------
                                 Disclaimer
                                ------------

The author and distributors of this software are in no way legally liable for
any negative effect resulting from its use.  In the extremely unlikely event
that something bad does happen and we are held responsible, our liability is
limited to the licensing fees paid by the user to the author.

Windows is a trademark of Microsoft Corporation.


                          ---------------------------
                           Installation Instructions
                          ---------------------------

1. Copy alarm.exe, pmsutil.dll, pmscctrl.dll, and alarm.hlp to any one
   directory.  (For example, "c:\alarm".)  The .dll files must be on the
   path when you start Microsoft Windows(TM) or in the same directory as
   the .exe.  (If you have more than one product from Perpetual Motion
   Software, please note that the DLLs must be in the same directory in
   order to ensure that all of the products use the same DLL(s).)

2. Determine if there is a newer copy of ctl3dv2.dll in /windows or
   /windows/system.  If so, do nothing.
   If there is no copy of this DLL, copy the one from the diskette
   into the /windows/system directory.
   If there is an older copy of this DLL, copy the one from the diskette
   into the same directory as the older one (and replace the older one).

3. Execute alarm.exe from Microsoft Windows(TM).  (If you did not place
   the files in Step 1 in your Windows directory, you will have to specify
   the full path, unless the directory is on your path when you start
   Microsoft Windows(TM).)
   You will probably want to create an icon for Alarm in your Startup
   group.  (Please see the help for Program Manager on how to do this.)

   You will find further information on using the application in the
   Microsoft Windows(TM) help file that is included in this release.


                                ---------------
                                 Release Notes
                                ---------------

Known Bugs
----------
If the user no longer wants to have an alarm play a sound file, they must
manually delete the "SoundFile=" entry from the ini file's section for that
alarm in the alarm.ini file.

If you enter the full path to an application in the "Message or Program:"
control and also enter parameters for it, you will receive a "Cannot change
drive." message when the alarm goes off.  The workaround is to not use the
full path or to not enter parameters.

=============================================================================
                                 Version 2.22
=============================================================================

Fixes
-----
The user may only select a sound file for an alarm if their pc supports
sound.  In addition, the application tries to play sound only if the pc
supports sound.

=============================================================================
                                 Version 2.21
=============================================================================

Enhancements
------------
There is a new option in the Alarm dialog box.  The user can choose to have
the sound associated with an alarm repeat until they acknowledge the alarm.

If an alarm has a sound file associated with it, that file's directory is
the default directory when the user selects a new sound file.

The application now uses Microsoft's 3D DLL to draw three-dimensional
dialog box frames.

Fixes
-----
The app no longer GPFs if an alarm goes off while the app is active.

=============================================================================
                                 Version 2.20
=============================================================================

Fixes
-----
The full string entered for an alarm's name is now displayed in the listbox.
Previously, the last character was truncated.  In these cases, the am/pm
indicator was usually truncated as well.  Both problems have been corrected.

Alarm no longer GPFs when changing printers in Excel from the Printer-Setup
dialog.

Enhancements
------------
You can now sort the list of alarms by the alarm's name or by the date
that the alarm is set to go off next.

Alarms now support being set for a specific week of a month: First Week,
Second Week, Third Week, and Fourth Week.

The event dialog box no longer gets the focus when it is displayed.  This
enables you to continue working in your application without being interrupted.
In addition, it is set to always be the top window, so you won't lose it.

=============================================================================
                                 Version 2.12
=============================================================================

Fixes
-----
To work around a bug in Windows(TM), when the application is minimized,
Alarm does not display the date/time in the title.  (When the title was
updated every minute, Windows(TM) interprets this as a user action, causing
the screen saver timer to reset to zero.)

=============================================================================
                                 Version 2.11
=============================================================================

Changes
-------
Name of "File" menu changed to "Alarm" for greater interface consistency.

Fixes
-----
The help file has been corrected to match the (new) "Alarm" menu's choices.

=============================================================================
                                 Version 2.10
=============================================================================

Enhancements
------------
There is a new dialog box that appears when an alarm goes off.  This dialog
box can be used to change the next snooze interval.  It also features an edit
control into which go any characters that the user was typing when the alarm
goes off (for example, in a word processor).

=============================================================================
                                 Version 2.07
=============================================================================

Known Bugs
----------
If the user no longer wants to have an alarm play a sound file, they must
manually delete the sound file name from the "SoundFile=" line in the section
for that alarm in the alarm.ini file.

Enhancements
------------
The Alarm's timer now zeros itself on the seconds, so alarms now go off when
the # of seconds (according to the system clock) are zero.

Fixes
-----
The main window's title is now updated when the user changes the
International settings in the Control Panel.

=============================================================================
                                 Version 2.06
=============================================================================

Enhancements
------------
The user can now associate a sound file with each alarm.  When an alarm goes
off, it will play the assocated sound file.

=============================================================================
                                 Version 2.05
=============================================================================

Known Bugs
----------
When the application is minimized, screen savers do not get activated.

Enhancements
------------
The listbox now formats the date and time according to the Control Panel's
International settings ([Intl] in the win.ini file).

The title now displays the date and time according to the Control Panel's
International settings ([Intl] in the win.ini file).

When an alarm's message is displayed, the current date and time is displayed
in the message.

Fixes
-----
There is no longer a problem with the hour changing when an alarm is created
that crosses into or out of the daylight-savings time period.

=============================================================================
                                 Version 2.04
=============================================================================

Enhancements
------------
"How to Register" has been added to the Help menu.

Fixes
-----
The main window's help menu is now functional.

=============================================================================
                                 Version 2.03
=============================================================================

Enhancements
------------
Alarm now remembers the position of the main window from the last time the
application ran.

=============================================================================
                                 Version 2.02
=============================================================================

Known Bugs
----------
There is a small problem related to crossing Daylight Savings Time boundaries.
If you are currently in DST (e.g., 9-1-92) and create an alarm (10:00am)
which is to go off when not in DST (e.g., 12-1-92), it will be set to 9:00am.

However, if you modify the alarm and set the time back to 10:00am, it will be
correct afterwards.

Does not use [International] settings in win.ini to interpret time field
and to display the dates and times in the main listbox and in the main
window title.

Fixes
-----
The application now uses the .ini and .hlp files with the same name.
A repeat frequency of 0 causes an infinite loop, so it is now considered to
be an invalid value.

Enhancements
------------
When an alarm's message is a fully-qualified path to a file, the application
changes to that directory and then executes the named file.

=============================================================================
                                 Version 2.01
=============================================================================

Enhancements
------------
The calendar control now uses keys 1-7 to toggle the state of the weekdays.

=============================================================================
                                 Version 2.00
=============================================================================

Enhancements
------------
Instead of displaying message text when an alarm goes off, the user can set
an alarm to execute a command line when an alarm goes off.

.ini file change: Change "Days=" to "Weekdays=", change "Time=hh:mm" to
"Time=hhmm".  The "Month=" entry is now 0-based, instead of 1-based.

When the user closes the alarm application or exits Microsoft Windows(TM),
any alarms that are snoozing ask the user whether or not they want to
close Alarm.

When an alarm goes off, it the same alarm already has a message on display,
it does not display another message.

A help button is now on the alarm dialog box.

If no weekdays are selected when the user OKs changes to an alarm, an error
message is displayed.

Known Bugs
----------
The window always starts in the (0, 0) position.

When a second instance is run, the first instance of the application is not
restored; just a beep is sounded.

There is no longer any support for registration (disable features,
About text).

=============================================================================
                                 Version 1.21
=============================================================================

Enhancements
------------
Microsoft Windows(TM) 3.1 version control information added to resource file.

Automated installation tool added (available with registered product).

Fixes
-----
The radio buttons no longer act as one group (a bug introduced in v1.20).

=============================================================================
                                 Version 1.20
=============================================================================

Enhancements
------------
Added calendar control.  Simplified user interface.

.ini file change: Delete "On=", remove negative from "Date=", "Month=",
and "Year=".

=============================================================================
                                 Version 1.12
=============================================================================

Enhancements
------------
Snooze interval can be set to 0 minutes which indicates that the application
will not ask the user if they want to "hit snooze" when the alarm goes off.

Running a second instance will activate the previous instance instead of
displaying an error message.

Fixes
-----
When exiting the application, if an alarm is snoozing, the user is asked if
they really want to close the application.

=============================================================================
                                 Version 1.11
=============================================================================

Fixes
-----
Now, when an alarm goes off, it finds next match for the alarm in the future.

Known Bugs
----------
When exiting, it does not notify the user of snoozing alarms.

User is permitted to give alarms duplicate names.

=============================================================================
                                 Version 1.10
=============================================================================

Enhancements
------------
Began using pmscctrl.dll.

Use MessageBeep() function with appropriate parameters for MultiMedia support.

Known Bugs
----------
The OK button is occasionally incorrectly enabled when the user is specifying
the "Every n Xs" controls.

