12noon

www.12noon.com

Alarm++ Release Notes


Known Issues

If there is an ampersand (&) in the name of an alarm template, it will show up as an underscore (_) in the template menu. If you use two ampersands (&&), they will display as one.


Version 7.10

Enhancements

The alarm pane (not the template pane) has the focus when Alarm++ starts up.

Alarm++ can now use speech in the events. There is a new Speech property page. Please see the help file for details.

Fixes

Cannot Pause/Play WAV files so that button is gone when a WAV file is played.

Windows-XP-themed controls are being used again.


Version 7.05

Fixes

Fixed not saving alarm file after shutting down Windows with open event windows. (This affected the Options > Events > "When shutting down Windows ..." option.)

Don't delete an existing log file if -log switch isn't used. In other words, if -log isn't passed and there's a log file, leave it.

Set initial focus to view of alarms (not templates). This is what people usually want.

May have fixed checking for events after waking up from standby or hibernation.


Version 7.04

Enhancements

Restored original method for playing WAVE files. This means there is no longer a gap in the playback when repeating the WAVE file.

Added "*.cmd" as a type of program.

Updated Examples.alm with new Daylight Saving Time rules for the United States. But just for Spring; I'll update Fall after Fall 2006.

Fixes

If an alarm runs Excel and Excel prompts the user (such as for a password), and the user dismisses the event dialog before responding to the prompt, Alarm++ crashes. This has been fixed.


Version 7.03

Fixes

Removed bug introduced in 7.02 that used 100% of the CPU when an event window was displayed.

Improved the responsiveness of the alarm Repeat page.

Fixed bug where Alarm++ wouldn't start under Windows NT4.


Version 7.02

Fixes

Corrected some optimization code for alarms that repeat by minutes.

Enhancements

A very generous customer—who wishes to remain anonymous—translated Alarm++'s interface into German. Thank you!

The event window and property pages no longer display errors if you delete the entry in a number field. (Of course, if you try to accept that value, it will display an error.)

You can now select multiple alarms and use the Skip Event command.

The Repeat alarm page should be faster to list the events.


Version 7.01

Fixes

An event that beeped without an event window would cause Alarm++ to think an event window was present when it wasn't, preventing Alarm++ from exiting normally.

The Repeat Property page of the on-line help was in Unicode, which the Windows help system couldn't display properly.


Version 7.00

Fixes

Removed [useless] Apply buttons from Options and alarm property sheets.

Enhancements

"Sound" page is now a "Media" page where you can specify any audio or video file for the alarm to play, such as MP3, WAV, WMV, WMA, AVI, etc.

Added a "Play/Pause" button to the event window, for when a media file is being played.

Created Template view so that the alarm templates are separated from the alarms themselves.

Added "Balloon tip" feature so that an event can temporarily display a balloon tip instead of an event window that requires user action.

Added ability to set text color and text background color (24-bit color) for messages.

Made current event's date/time bold on the event window.

Added "Manual" option to Run page and a Run button to the event window.

More accurate SMTP authentication for the case where you don't need an account/password.

Skipping an event now keeps that alarm visible in the list of alarms.

Options | Event now has the ability to set the delay between the event window appearing and when the Snooze/Off buttons are enabled.

Added SMTP server port number to Options | Mail.

Moved the automation CheckingAlarms property from the View object to the Document object.


Version 6.30

Fixes

Fixed crash when searching for non-existent text from the first or last alarm in the list.

Added icon to event window caption.

Closing the main window no longer hides any event windows that are displayed.

No longer add duplicate dates to the list of non-workdays.

Fixed lockup when selecting "Only on workdays" and repeating by weeks on a non-workday (e.g., Saturday).

Can no longer create an alarm with conflicting sets of criteria, such as repeating every Saturday but only on a workday.

Modified date string format in SMTP e-mail so more e-mail clients can parse it correctly, and it still adheres to RFC822.

Added further error-checking when converting alarm file from an older version.

Explicitly kill timer after event window is dismissed.

Pasting an alarm that's a default template into a list of alarms that already has a default template no longer results in two default templates.

When copying/pasting alarms as text, the word "Transparency:" is no longer prepended to the transparency value. Also, the time restriction is output without text.

The Attachments listbox on the alarm's Mail page now has a horizontal scroll bar (if necessary).

The Help button on the event windows now works.

If a sound file is specified on an alarm's Sound property page, Alarm++ ensures that a file is entered and that it exists.

The Browse button now works when the corresponding path ends with a backslash.

Alarms can now run file shortcuts (e.g., *.lnk files).

Enhancements

Added ability to edit an alarm's properties from its event window. (You can edit multiple alarms that way, but they must be closed in the opposite order they were edited in.)

If Alarm++ is supposed to open the most recently opened alarm database, but there isn't a record of one, Alarm++ tries to find MyAlarms.alm and, if it can't find it, prompts the user to browse for an alarm file.

You can now pass special alarm variables to applications on the Run page.

Included new sample script files. One adds an alarm to whatever Alarm++ alarm file is currently open. The alarm's properties are passed to the script as command line arguments. You can use this to automatically create large numbers of alarms or have a program (such as DigiGuide) automatically create reminders for events (such as television programs).

New option to disable the beep when a message box is displayed.

Added CTRL+K shortcut for "Skip Event" command.

Added ability to avoid prompting about open event windows when exiting Alarm++. They can be automatically snoozed or dismissed.

New log window to indicate if there is an error when an alarm displays its event window. The tray icon is highlighted when there is a new error. This means no more message boxes interrupt you if Alarm++ encounters an error when running an application or sending e-mail.

New Test button on Mail options page so you can easily test the SMTP configuration.

SMTP password is encrypted in the Registry to discourage casual examination.

Updated state icon in main window so that if an alarm is set to run an application, the state icon is the icon for the Run page (not a folder).

New option to indicate if you want the event windows to have icons on the taskbar.

New option to specify the animation Alarm++ should use when displaying the event window.

The event window now disables the Snooze and Off buttons for one second after it's first displayed. This prevents the user from accidentally dismissing the event window before they register its appearance. (This value can be customized in the Registry manually.)

Added new size for event window: tiny.

Alarm++ automatically ensures the main window is completely within the current monitor's work area. (On computers with multiple monitors, it uses the monitor closest to the main window.)

Moved Window page's "Center on screen" option to a more intuitive location on the page.

Added ability to move event window by clicking anywhere in the window-not just in the caption-and dragging it.

New command line switch to start Alarm++ in pause mode. Useful if you've been on vacation, didn't skip the events beforehand, and you don't want a dozen alarms all going off at once.

The Application control (on an alarm's Run page) and the Sound control (on an alarm's Sound page) now auto-complete their paths to make it easier for you to enter file paths and Internet URLs.


Version 6.23

Fixes

Corrected some references to "Perpetual Motion" in the help files.

Fixed Find when searching only the selected alarms.

Find now wraps to the beginning of the search range after reaching the end of the search range.

Enhancements

Added new "Check for Update" command. This command contacts the 12noon Web site and uses your browser to tell you if there's an update to Alarm++ or not. The only information Alarm++ passes to the Web site is what version of Windows you use, the version of Alarm++ you're running, and whether it's registered.

A new alarm's "Repeat Until" date is now set to the current date when editing an alarm that hasn't specified Repeat Until.


Version 6.22

Fixes

In the previous version, on Windows 2000 or XP, if Alarm++ was able to create an Alarm++ key in the Registry's HKEY_LOCAL_MACHINE hive, it assumed that it should be able to create values there as well. If the permissions were set so that this wasn't true, Alarm++ still didn't check HKEY_CURRENT_USER for the registration information. The effect was for Alarm++ to appear unregistered even though it had been registered. This has been fixed.


Version 6.21

Fixes

On one known instance, Alarm++ failed to start successfully. This fixes that.

Modified logging so that all log output would be written to the output file in the Release build.


Version 6.20

Renamed company from "Perpetual Motion Software" to "12noon". This means that the automation ID has changed from "PerpetualMotion.Alarm.Document" to "12noon.Alarm.Document".

Registration via COM automation is no longer supported for security reasons.

Enhancements

At startup, if Alarm++ detects that you have probably installed a newer version, it now asks you if you want to register. If you have your new registration information ready, this prevents an error when Alarm++ cannot convert your old database.

Added support for e-mail attachments when using an SMTP server for outgoing e-mail from Alarm++.

Added support for authentication when using an SMTP server that requires authentication.

Added new option on Advanced page to restrict events to a certain range of times. Of course, this can only be used when an alarm is repeating by minutes or hours.

The message control (on the General page and the event window) has a context menu with Cut, Copy, Paste, Delete, Select All, Undo, and Redo commands.

The message control (on the General page and the event window) highlights URLs and you can double-click on them to open them.

If you select an e-mail option for an alarm, Alarm++ now warns you if you haven't configured outgoing e-mail support.

The Add button in the Workdays dialog now automatically advances the date picker control to the next date, making it much easier to add a series of non-workdays, such as vacations.

The event list on an alarm's Repeat page is now updated during "idle" time. That means there should be fewer cases of those ellipses at the end of the event list because Alarm++ will automatically add more events in the background. (When you have an alarm with many events, you might notice the list being updated as you move the mouse.)

Changed the Offset field on the General Property page so that you can explicitly indicate that the offset is "before" or "after" the specified event date/time.

Fixes

Occasionally, the event list on the alarm Date property page would list an event twice.

Windows XP: Alarm++ occasionally displayed an error when trying to create its Registry entries. This is very rare, but if it happens, Alarm++ no longer displays an error message, which was annoying every time it starts up. This error doesn't materially affect Alarm++'s operation-the only affect is that you would probably not be able to double-click on a .alm file to open it.

After an alarm was over, if it wasn't automatically deleted, the date/time would be the next event's date/time if the alarm used "Repeat until." It should be the last event's date/time. This has been fixed.

If you tried to browse for a sound file (on an alarm's Sound page) and clicked Cancel, the sound file would then be empty. This has been fixed.

Fixed some quirks with the Browse feature on the alarm Mail page.


Version 6.15

Fixes

The speaker beep now uses the frequency and duration settings when the event goes off.

You can now type a negative sign ("-") into the Offset field.

Visual Studio.NET's MFC 7.0 has a bug that requires oleacc.dll, which isn't available for Windows 95. This version fixes that.

The Browse buttons (e.g., on the Sound page, Run page, and Register dialog) work on Windows 9x and NT4 again.

Fixed Help menu commands. A number of them either failed or brought up the wrong help window.

Removed Help on "Using Help" because it's not supported in HTML help.


Version 6.14

Changed all URLs from "www.skst.com/perpetualmotion/" to "www.12noon.com".


Version 6.13

Fixes

When an alarm sends e-mail via SMTP, the "Date:" string is now has the bias from Universal Time written according to RFC822.

When a large number of events is created by a change to an alarm's Repeat page (such as "Repeat every minute), it can take a very long time to fill the event list. Now, Alarm++ stops looking for events after 250 milliseconds.

Fixed problem where Alarm++ would not add its icon to the tray after Windows Explorer crashed.


Version 6.12

Fixes

When Alarm++ was paused, the main window wasn't updated with changes to alarms. (6.12)

On Windows NT4, images are not drawn on the menus. This is a temporary workaround for NT4 only. (6.11)

Fixed bug where an alarm that sends e-mail would occasionally request a receipt.

Fixed bug where About window sometimes displayed nothing when Alarm++ was an evaluation copy.

Fixed bug where the speaker of some computers wouldn't beep.

Fixed an issue with copying/pasting alarms into text applications.

Fixed bug where Alarm++ would often crash when the Find dialog exited.

Increased speed with which Alarm++ populates the event list on the Repeat page.

The Attachments field is disabled if the e-mail protocol is SMTP.

Fixed memory leak when Alarm++ would wait for the next alarm.

Enhancements

Added an option to skip an event or move to the next workday (or non-workday). This has the side-effect of adding the ability to specify "first workday of month" and many other combinations related to workdays and non-workdays.

Event window can now be transparent (Windows 2000 and later only).

When editing a template alarm or an inactive alarm, the date is automatically set to today's date. The "Repeat Until" date is also set to today's date.

When advancing by months and one or more weekdays are specified, the date is no longer changed if it's after the last date of the month. (I know this sounds weird because I'm not explaining it clearly, but trust me, it's an improvement.)

Added support for Windows XP themes.

Improved copy/paste of alarms into programs such as Word, Excel, and Notepad. All of the various fields are now copied to the clipboard separated by tabs, which makes it easier to print your alarm information from another program.

Improved drawing of the next event time in the tray icon.

Added the option to use SMTP for e-mail support.

Enlarged Options | Workdays window.

Creating a new alarm by double-clicking on the tray icon no longer places parentheses around the alarm name.

Added minutes, hours, non-workdays, and weeks to the Advanced Offset option. Now you can set an alarm for 3:00pm (for example) and have it go off 10 minutes earlier (or 10 hours or whatever).

Changed "spinner" for event window sizes to a more typical combobox.


Version 6.04

Fixes

Alarm++ now displays the tray icons correctly. Previously, they were drawn slightly improperly.

Alarm++ now correctly offsets events when the offset is by a positive number of workdays.

Previously, if a user was running Alarm++ 5.5x and it was set to open a version 5.5x database automatically, installing Alarm++ 6.0 over it and running it again would cause an error and terminate Alarm++. That has been fixed.

The snooze time displayed in the event window was off by one minute if it was between :30 and :59 seconds.

The text box in the small event window is now the same size as the one displayed in the General tab when editing an alarm.

Enhancements

The Alarm++ tray icon now shows the time of the next alarm.

There are two new commands: Pause and Resume. You can temporarily pause Alarm++ so that it won't check for new events-for example, if you know you're going to be at a meeting or running errands for two hours and don't want to have events going off while you're gone. When you resume Alarm++, it will check for any events that occurred while it was paused.


Version 6.03

Fixes

If you have an older version of shell32.dll (before 4.71), which does not support the SHGetSpecialFolderPath function, Alarm++ no longer tries to load it. Really. :-)

Enhancements

Added a DOS command line example alarm to the Examples.alm file.


Version 6.02

Fixes

Updated Product version number.

Version 6.01 always made the Alarm++ main window visible when it started up.

Enhancements

Added Daylight Saving Time examples to Examples.alm.


Version 6.01

Fixes

If you have the "Open most recent database at startup" option set and upgrade to 6.00, it will be unable to open the older version of the database until you register. Previously, the application would terminate when detecting this, giving you no chance to register. This is fixed.

Enhancements

If you have an older version of shell32.dll (before 4.71), it does not support a function that Alarm++ uses to determine the location of the "My Documents" folder. It now detects this and avoids making that call. This only affects the location where the Save dialog box starts when saving a database for the first time.


Version 6.00

Fixes

When an alarm occurs every hour or more often, it will sometimes stop going off. This has been fixed.

The Help button now works on the confirmation message boxes for deleting and closing alarms.

The Workdays dialog box no longer adds dates to the listbox more than once.

If you used automation to access the currently running instance of Alarm++, when the script ended, another script could not reacquire the current instance of Alarm++. This was because Alarm++ was removed from the Running Object Table (ROT) prematurely. The workaround was to quit and restart Alarm++ before the script ends. This has been fixed. Multiple sessions can now acquire Alarm++ from the ROT.

If an error occurs on one of an alarm's property pages, the associated page is automatically activated.

The TO listbox on the alarm's Mail property page now scrolls vertically.

Enhancements

Alarm++ is now packaged as a Microsoft Installer package, using Microsoft's Visual Installer tool. This type of installation provides a safer, smaller (~50%), more accurate, and complete install/uninstall than InstallShield's proprietary format.

Alarm++ now provides alarm templates-alarms that you create and can use to make other alarms. This gives you an unlimited source of defaults.

Alarm++ now supports SMTP e-mail (if MAPI and CMC are not provided by your system).

You can now add and subtract days (and workdays) from the selected event date (on the Advanced page).

When editing an alarm which isn't using the Repeat Until option, if the Repeat Until date is in the past, it's set to today.

The event window displays the date/time of the next snooze, based on the values in the snooze fields. This date/time is updated as time passes, so if the event window is left up for 5 minutes, the next snooze date/time advances by 5 minutes-automatically.

After certain error messages, the appropriate alarm property page is activated.

New icon for Advanced properties page.

The event window can have three sizes: small, medium, and large.

The state icons have been improved.

You can now use Ctrl+T as a shortcut to access the Italic command in the Message field.

There is a new column in the main window which displays the events remaining for each alarm. You can also sort by events.

Find/Find Next is now implemented. It searches each alarm's name and message text.

Alarms are now also copied to the clipboard as text. This means you can paste them into any application that accepts text, such as a word processor.

You can now reorder the columns in the main window by using drag/drop.

There is a new option for positioning the event window: center on current window. This centers the event window over whatever window you are working in when the event occurs.

The date and time columns in the main window are now right-aligned, which should improve visibility.

When you create an alarm database, it is saved in your "My Documents" folder as MyAlarms.alm, unless a file already exists with that name. (If you want to save it somewhere else, you can use the File | Save As command.)


Version 5.52

Fixes

An error was displayed when starting Alarm++ with the "Open most recent file at startup" option selected and there were no recent files to open. This has been fixed.


Version 5.51

Enhancements

The event window can be minimized.

The event window now displays the date and time of the next event.

The list of alarms now displays an alarm's name and message in a tooltip when you hover the mouse cursor over it.

A new option allows you to specify that Alarm++ should open the last alarm database when it starts.

The Cut, Copy, and Paste options are now available on the main window's context menu.

Fixes

The following bug has been fixed: An event window is displayed. The user presses the Snooze button when the current time is between 31 and 59 seconds, inclusive. The snooze interval extends the next event to the 59th minute of the hour. This would invalidate the alarm's event date/time and prevent the event from going off.

Column widths are now saved correctly.

The ampersand character (<&>) is now displayed correctly in all message boxes and in the tray icon's tooltip.

The mail features now work correctly even if no mail profiles have been created.


Version 5.50

Note: If you are a registered user, you need to obtain a new registration key for this version. Please see our web site for details.

Alarm++ now defaults to providing no mail support. This is because a user who has not installed an e-mail service would be prompted to configure their mail service instead of being prompted for a mail profile. Now, the first-time user must manually enable mail support, using the View | Options command and the Mail Profile page. If a user upgrades from a previous version of Alarm++, their settings are not affected.

Fixes

Windows NT users can now register Alarm++ for all users on the computer, if they have administrator privileges. See the on-line documentation for more details. You no longer are required to have administrator privileges (if you're using Windows NT) to detect if Alarm++ has been registered.

The calendar control now fits better on the alarm's Repeat property page.

Alarm++ now beeps when displaying a prompt asking you to confirm an operation if the alarm is snoozing. You can turn this off by using the View | Options command to bring up the Options General page and turning off the "Confirm if snoozing" option.

The Windows Explorer "New | Alarm Database" command was not installed properly. This has been fixed.

If an alarm's name is over 55 characters (approximately), the system tray tooltip for the alarm icon now works correctly, by truncating the string and appending an ellipses before displaying it.

Alarms now go off on the :00 second, and snooze times are rounded up to the nearest minute and :00 seconds.

The Tip dialog's Next Tip button is now enabled correctly.

The spin button for the snooze and repeat controls no longer inserts a thousands separator-which caused the field's value to be flagged as an error.

Previously, after modifying weekdays that affect the next event of an alarm, the view would not be updated. For example, the next event of an alarm, which subtracts 1 weekday, is 2 February 1999. If you later add this date to the list of non-workdays, the alarm should now avoid 2 February 1999.   However, the list of alarms is not updated to show 1 February 1999. In addition, if the change meant the alarm should now go off, it wouldn't. These problems have been corrected.

Previously, if subtracting workdays moved an event's time before the current date/time (e.g., when the user is setting an alarm), Alarm++ would not select the correct event date. Now, it selects the earliest possible date, even if that date is not the result of subtracting the specified number of days-it is the earliest possible date. See the documentation for details.

Alarm++ now correctly updates its display when the user modifies the Regional settings for the date/time formats.

Alarm++ now correctly deletes an alarm (which is flagged to be deleted after the last event) if the last event is used by an action such as a Skip Event or Cancel Snooze command.

Enhancements

You can now specify that Alarm++ should ignore an event if it occurred over a certain number of minutes, hours, days, or weeks in the past. See the alarm General properties page.

There is an option to select the entire row in the main window's list of alarms. When it's active, you can select a row by clicking anywhere in the row. See the options General properties page.

The help system has changed from WinHelp to HTMLhelp. This means there is now a better search engine, in addition to a Favorites tab where you can bookmark topics of special interest.

If the Windows taskbar crashes and restarts (which it often does), Alarm++ now automatically restores its tray icon.

The message field in the event window is now exactly the same size as the message field in the alarm property page.

You can now specify that the event window be positioned in the middle of any of the four sides of the screen. See the alarm Window properties page.

If one or more alarms are snoozing when you close an alarm database, you now have the option of saying "Yes to All" when Alarm++ prompts you to confirm the closing for each snoozing alarm.


Version 5.12

Modified all URLs to point to Perpetual Motion Software's new web site: www.skst.com/perpetualmotion.


Version 5.11

Fixes

You can now drag and drop a sound file onto the Options property sheet's Alarm Defaults tab. Previously, Alarm++ and Explorer would lock up.

The Snooze Date column in the main window is now properly displayed. Previously, it was the same as the event date.


Version 5.10

Note that the calendar.ocx file is no longer shipped with Alarm++. You can safely delete the System folder and this file from your Alarm++ installation directory.

Fixes

You can now set an alarm to play a sound during the event, without displaying the event window.

The "Repeat by N years" feature had a problem where it only repeated in months where the dates matched. This has been corrected so that you can repeat by years and specify certain weekdays and weeks of the month.

Alarm++ now checks the alarms when the computer returns from a suspended state.

When an event with sound but no event window goes off, the sound now plays.

You can now toggle the bullet style of text in the message control.

Enhancements

The MAPI mail protocol is now supported. This means if you use a mail client, such as Eudora, you can now use the mail support in Alarm++.

The default sound has been moved from the Control Panel's Sound applet, to the Options Alarm Defaults page.

If you play the sound on the Sound property page, it is stopped when you select another page or close the property sheet.

You can now specify that an alarm run the specified application (web page, script, whatever) when the initial event occurs, when a snooze event occurs, when the user clicks the Snooze button, or when the user clicks the Off button. This is supported via automation as well.

There is a new Options dialog which now contains most of the Options from the Options menu.

The font used by the main display window (which list the alarms) is now stored in the Windows Registry, instead of in each alarm database. This means that the font you select will be used to display all alarm databases; it is no longer specific to each alarm database.

You can now specify that you want an alarm to delete itself after all of its events are finished.

You can now specify whether to use the long or short date format in the main window.

You can now specify whether or not you want to be prompted when deleting one or more alarms.

You can now specify whether or not you want to confirm deleting an alarm or closing the alarm database, if the alarm is snoozing.

You can now test the action on the Run property page without saving the alarm and using the Test command.

The icons on the property pages' captions have (hopefully) been improved.

Changed the Run property to RunOnEvent.

Alarm++ no longer lets you create an alarm with a repeating sound without displaying the event window. Previously, this would mean that the user could not acknowledge the event.

Note that the tray icon in Alarm++ acts (opens the main window and displays the context menu) on the UP click-not on the DOWN. This is consistent with the Windows Interface Guidelines for Software Design (Microsoft Press, Chapter 10 "Integrating with the System" pp. 268-270). However, WIGSD does not specify whether an application must react to the down-click or to the up-click.

Alarm++ now reacts to the down click of a mouse button on the tray icon. (See above notes for details.)


Version 5.01

This version requires COMCTL32.DLL version 4.70 or later. Please see Install.txt for more details.

Enhancements

You can now specify that an alarm "repeat every N years".

Added the ability to specify that an alarm only goes off during certain months of the year (e.g., April through October). This feature is supported via automation as well.

The event window (if you have indicated one should appear) is now displayed before any application you specified is executed or any e-mail you specified is sent.

Some minor changes to the menu bar, to improve consistency across Microsoft Windows applications. There is now a keyboard shortcut to create a new alarm: F9.

If you want to start Alarm++ and have the main window open, pass "/show" or "-show" on the command line. For example: "alarm.exe -show MyStuff.alm".

The view's context menu can be displayed with Shift+F10 when no item is selected in the main window.

There are more commands on the view's context menu: Hide and View.

The commands on the context menus are arranged in a more standard order.

There are more commands on the toolbar: Test, Skip Event, Cancel Snooze, and various help commands.

The Test command now has a Control+T accelerator.

The button bitmaps are now displayed on the tray icon's context menu.

The time control on the General property page is now more sophisticated. It uses the standard Windows "time picker" control.

The Browse dialog on the Run tab has some new entries: Script Files, Batch Files, and Internet Shortcuts. (You could always select these files, but now there are specific filters for them.)

Fixes

In version 5.00, the event window became the active window when it was displayed. Specifically, if you were typing and an event occurred, you ended up typing in the Snooze field. This has been fixed. The event window once again is displayed as the top window, but it is not "active"-you will not accidentally type in it.

Fixed the help link in the Contents section for "Main Window."

When opening the main window, it is now always placed on top of all windows. Previously, it was sometimes left in the background.

If you opened an alarm with zero events and dismissed the property page without accessing the Repeat page, it would not report that the alarm had zero events. This has been corrected.


Version 5.00

Enhancements

A message can now be written in rich text format (RTF). You can make characters bold, underline, italic, and strikeout; you can use different fonts, colors, sizes, etc. You can left-justify, center, right-justify, and bullet paragraphs. You can also select a default font for the messages of new alarms.

Alarm++ now supports automation-you can now control Alarm++ from C++, Visual Basic, VBScript, JScript, etc. Please see the help file for details on the object model.

You can now specify an alarm to repeat until a certain date; in addition to specifying a certain number of events or forever.

You can now specify advanced date information for an alarm. Specifically, you can set it to go off N days or N workdays BEFORE the set time. This lets you set alarms for the second to last workday before the 1st of the month. You can also specify which days of the week are workdays for you.

You can now test an alarm. It does not affect the number of remaining events.

You can now skip an event. It decrements the number of remaining events, if it's not repeating forever.

You can now cancel the snooze of an alarm, when it's snoozing.

If you edit an alarm's properties and click OK when it has 0 events left, you are asked if you want to edit it again. If you choose to, the Repeat page is automatically selected for you.

There is a tip of the day feature which can come up everytime you start Alarm++, or only when you request one.

The current date/time is now displayed in the status bar.

There is a toolbar button to open an alarm's properties. There is also a toolbar button that drops down a list of recently-opened files.

You can now change the font used by the list of alarms.

The "Display event message box" option has been moved from the Run tab to the new Window tab.

You can now specify where on the screen you want the event window to be displayed: a corner of the display, centered on window or screen, default, or at the cursor. You can also specify what the default value of this setting should be for new alarms.

You can now drag/drop a sound file on the Sound tab to enter it in the "Sound file" field, instead of clicking the Browse button.

You can now drag/drop file(s) on the Mail tab to attach them to the mail message instead of clicking the Attach button.

You can now drag/drop a file on the Run tab to enter it in the "Open" field, instead of clicking the Browse button.

You can now drag/drop a supplied .ini file on the Register dialog to enter the Name and Key values, instead of doing it manually or clicking the Browse button.

The property pages now have tab icons to locate them more easily at a glance.

When you delete multiple alarms, you can confirm that you want them all deleted, instead of confirming them one at a time. You can also cancel the operation.

The edit control for the number of events is now disabled if the Forever option is selected.

You can now press Enter (instead of Ctrl+Enter) to start a new line in the message edit control.

You can now snooze by hours or days, in addition to minutes.

The date/time that a snoozing alarm will go off is now shown in the main window.

Fixes

Now, if an alarm's event occurs while the event window is up for that alarm, it advances to the next event, decrementing the number of events (if it's not repeating forever).

Previously, if an alarm was snoozing, and the user closed its database, and opened it again after both the snooze and event date/times expired, the alarm would display an event window for the snooze date/time. If the user pressed the Off button, the alarm would go off again, because of the event date/time being in the past as well. This has been fixed: when the database is opened, any snoozing alarms have their event date/time moved into the future.

The lower spin limit on the number of intervals (i.e., Repeat every N) is now 1 instead of 0. There is also no longer a thousands separator.

The event window no longer displays temporarily if it's not supposed to display at all.

There is no longer a problem when a lot of alarms go off at startup and one or more of them tries to run an application which does not exist.

Alarm++ now reacts when the user changes the date/time in the Control Panel.

When the tray icon's tooltip text says "Tomorrow", it is now updated at midnight to say "Today". Previously, it was not updated.

A "hand" cursor is now visible when mouse hovers over a link in the About box.

The main window no longer retains the focus when you hide it.

The main window now (almost) always appears on top when it's opened.

The list of alarms no longer flickers when opening a large database.

Fixed a subtle bug which prevented the main window from opening when the user did two clicks on the tray icon in a row, but they did not qualify as a double-click.

The alarm database is no longer saved every time the window is activated-just when it's moved or resized.

The view is now updated after an alarm is snoozed or turned off, via the event window.

Under Windows NT 4.x, the calendar control (on an alarm's properties Repeat page) now paints properly when changing months.


Version 4.90

Enhancements

Alarms can now be set to go off at an interval of minutes (in addition to hours, days, weeks, and months).

Alarm++ now allows you to set an alarm for the fourth week of a month, in addition to the first, second, third, and last week of the month.

Mail support has been added. You can now e-mail an alarm database to someone directly from Alarm++.

The e-mail address and web site URL in the About box are are now hotlinks; you can click on either one to open it.

The appropriate toolbar bitmap is now drawn to the left of every menu item (like Microsoft Office, Microsoft Visual Studio, and others). If you want to disable this feature, there is a menu command to turn it off.

The tooltip in the tray icon has a slightly different format: <date> <time> "alarm name"

The menu command, File-Exit, is now (more accurately) called File-Hide.

Changed tray icon so a single mouse click opens the alarm list, instead of a double-click. A double-click now creates a new alarm.

A new alarm now rounds-up the time in the Time field to the next half hour. It always adds at least 5 minutes. If you create an alarm at 9:25, it will enter a default time of 9:30, and if you create an alarm at 9:26, it will enter a default time of 10:00.

If the user modifies an alarm with zero events and tries to save it, they are prompted to confirm that they really want to save with zero events.

Fixes

The date/time displayed in the event window is now correct, even after a snooze.

If the user Snoozes an alarm or turns it OFF (after snoozing) and does not open the main window and doesn't make any further changes to the database, the alarm's snooze state was not saved to the database-this has been fixed.

The "third weekday of the month" setting has been fixed. The problem was that, when selected, it went off every week BUT the third week. We apologize for any inconvenience.

Changed mnemonic of Properties menu command from "P" to "r" to avoid conflicts.

When editing an alarm's label, Ctrl+X, Ctrl+C, and Ctrl+V operated on the alarm rather than on the label's text. This has been fixed.

Under certain conditions the date on the Information page would be incorrect. This has been fixed.


Version 4.84

Fixes

Occasionally, if an alarm went off when Windows started, it would encounter a fatal error. This bug has been fixed.

Known Bugs

When an alarm is snoozed and goes off again, the date/time displayed in the event window is not the date/time of the SNOOZED event-instead it is the date/time of the NEXT event.


Version 4.83

Enhancements

This version now registers the calendar control itself. This means that there is no need for a more complex installation script-it can run successfully after just unzipping the files into a folder.


Version 4.82

Fixes

There was a bug that caused Alarm++ to hang if you chose Repeat every N months and then selected the 29th, 30th, or 31st of the month. This has been fixed.

There was a bug that caused a change to the date picker control on the General property page to ignore the new date. If you modified the date, using the date picker control, and pressed OK without switching to another page, Alarm++ ignored the date change. This has been fixed.


Version 4.81

Enhancements

Alarm++ now has a calendar control on the Information page so you can select the date for a one-time alarm without switching pages.

If you try to change tabs when the time format is invalid, Alarm++ now beeps (in addition to selecting the invalid entry).

The event window now does not get the focus when it pops up. This means that when the event window appears, it won't "suddenly" start receiving your keystrokes-you can be typing when an event goes off and won't lose any of your keystrokes.

Fixes

The "Default Beep" selection on the Sound property page now beeps correctly when the event occurs.


Version 4.80

Enhancements

If you close an unsaved alarm database when there are no alarms in it, Alarm++ does not prompt you for a filename.

There are two new property pages (Sound and Run), replacing the Actions page.

There is a new checkbox on the Run page, used to indicate whether or not you want Alarm++ to run the specified application when the alarm goes off.

Support for right-click and Shift+F10 context menus has been improved.

The help has been improved in certain areas.

There are some cosmetic improvements to the interface.


Version 4.72

The tray icon now changes to visually indicate when no events are pending. Added "minutes" text to Snooze field on Information page. Increased maximum snooze time to 1 day (1440 minutes).


Version 4.71

Minor fixes.


Version 4.70

Enhancements

Alarm++ automatically saves any changes: new alarms, user changes, deleted alarms, events, snoozes, etc. If it is a new, "Untitled" database, Alarm++ prompts the user to select a folder and filename after the first change. The user can cancel the save, but Alarm++ will prompt again after the next change.

The Save.On.Shutdown option has been removed. It is not needed anymore because the alarm database is automatically saved after every change.

Fixes

When deleting multiple alarms at the same time, if the user answers No when prompted to confirm, Alarm++ does not delete some of the other alarms. This problem has been fixed.

If an alarm is snoozing and the user changes the next event time to one which is earlier than the snooze time, the alarm's event will continue to occur until the user presses the Off button. This problem has been fixed.

If an alarm's snooze interval goes beyond the next event, the alarm's event will continue to occur until the user presses the Off button. This problem has been fixed.


Version 4.60

Enhancements

The list of alarms now allows multiple select, delete, copy, cut, paste, and drag/drop of the alarms. Added SelectAll menu command.

Fixes

An obscure bug has been fixed. It occurred in the following case: An alarm has only one event remaining. The event goes off, and the user presses Snooze. The snooze interval expires and the event goes off again. The user presses the Off button. The alarm would have the number of events remaining set to Repeat Forever.


Version 4.52

Fixes

Fixed an error that sometimes crashed Alarm++ when the user entered an invalid registration key.


Version 4.51

Enhancements

Errors resulting from the calendar control not registering properly or from incompatible (old) Microsoft Windows system DLLs are now reported better.

Renamed "Alarm" menu to "Edit".

You can now set the sound for an alarm back to the default beep if you change your mind after selecting a sound file.

New state image for alarms that have more than one event left.

New icon images for alarms to indicate no action, send email, start app, or both.

You can now play the sound that you have selected for an alarm by pressing the Test Sound button on the Actions page of the alarm's property sheet.

There is now a toolbar with Context Help among other useful buttons. The toolbar state is saved when you close the application.

You can now specify if you want mail support or not-and if so, whether you want to be prompted for a mail profile or if you want Alarm to use a specific mail profile each time. (This works on 95 and on NT.)

Fixes

Here's the problem: A user sets an alarm to go off every day for the next 10 days. Then, the user doesn't run the application Alarm for 5 days; when the user finally runs the application, it displays a single message box for the first day and sets the alarm to go off on the next day. It didn't decrement the number of events by 5-it was still 9. In other words, Alarm was only counting the actual notifications, not the number of valid events. This has been corrected-Alarm now correctly decrements the event count.

Sometimes, after the user manually deleted all of the recipients of timed mail, the recipients field would be filled with garbage. This has been fixed.

A Registry entry is now correctly created so that the user can create new alarm databases by right-clicking inside a folder and selecting the "New-Alarm Database" command.


Version 4.10

This update no longer disables certain features in the unregistered version. ALL features of the alarms are enabled. The number of alarms is limited, and you must register the application to be able to create an unlimited number of alarms.


Version 4.01

New icons for on/off states. The radio button could be misleading-it seemed to be clickable, and implied that an alarm was part of a larger group. A checkmark better indicates whether an alarm is active or not.

Changed name of "Effects" property page to "Actions".


Version 4.00

Upgraded to MS Visual C++ 5.0.


Version 3.20

Enhancements

The calendar control on the alarm property pages now uses tooltips to show you what you can click on and what its function is.


Version 3.10

Enhancements

The user can now set an alarm to send mail to any set of mail addressees at a specific time and interval. You can also attach files to the message.

The user can choose to have any changes to the alarm database saved automatically when Windows 95 shuts down. (Usually, the Alarm application prompts the user to save the changes.)

The snooze interval can now range from 1 to 300 minutes (5 hours).

The user can now directly edit the application edit field, rather than just browsing for an application. So you can now launch "applications" such as "www.microsoft.com" or open folders at specific times by entering something like "c:\windows\system".

An alarm's snooze status is now saved in the alarm database. So you can close an alarm database when an alarm is snoozing, and, when you open it later, that alarm will still be snoozing. (Although, the snooze interval may have ended and you will, of course, be notified.)

Alarm now uses the registry for the most-recently-used filelist, not alarm.ini. You can delete the alarm.ini in your Windows directory.

Now, Alarm can open zero-length files. This means that the Windows Shell's New command now works for Alarm Database files.

Fixes

If you open a new alarm file or create a new one while an alarm is snoozing, you are now warned about that. Pressing delete while renaming an alarm "in-place" no longer tries to delete the alarm itself.


Version 3.02

Fixes

The list of events in the Properties dialog "remembers" the time setting if it is repeating by months. If specific weeks of the month are selected, the list of events now selects the appropriate days of the week.


Version 3.01

Fixes

When the user changes the time on an alarm's properties page and returns to the Date page, the list of events is updated with the new time.


Version 3.00

Redesigned and rewritten for Windows 95.

Enhancements

New Windows 95 controls. New Windows 95 help format. New, cleaner user interface which conforms to Windows 95 guidelines. Tray icon keeps the minimized Alarm window out of your way. A tooltip tells you which alarm is next. You can specify an application to run without displaying a message for the event.

Fixes

Advancing an alarm for a specific week of a month now works correctly.


Version 2.30

Enhancements

Dynamic registration-you do not need to wait for our company to mail a new version to you. We will simply provide you (via e-mail, if you wish) with a registration key to "unlock" the extra features. (After we've received the registration fee, of course.)


Version 2.25

Enhancements

Uses Microsoft's 3d controls for edit, static, combobox, listbox, checkbox, and option buttons. Changed event window-default is now Off.


Version 2.24

Enhancements

Sound static control is now right-aligned so the filename is always visible.


Version 2.23

Fixes

Using the full path to an application in the "Message or Program:" field along with parameters works.


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 window 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 window that appears when an alarm goes off. This window 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 associated 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 saving 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 Saving 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.