----------------------------- 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.