November 1, 1999

By Karen Kenworthy

IN THIS ISSUE

"The only program ever finished, is one no one uses."

Countdown Timer Returns!

Just in time for the holidays, an old friend comes home. Many of you may remember the original Countdown Timer. Originally written for a friend about to undergo a major operation, the little program sat on your screen and counted down the days, hours, minutes and seconds until any big event. When the event arrived, the Countdown Timer beeped, and displayed the word "Done".

OK, it was a bit dull. But it wasn't long before Countdown Timer II appeared. This big brother of the original Countdown Timer knew several more tricks. It stilled displayed the time remaining until the big event, updated every second. But when the countdown reached zero, it could send an e-mail message or play a tune. With the help of Microsoft's Agent characters (my favorite is Peedy, the talking parrot), the new timer could even speak and dance!

But, as they say, time doesn't stand still. And neither does the Countdown Timer. Debuting today is version 2.5, which resolves a few nagging problems, and adds some oft requested features.

Time After Time

As I mentioned earlier, the original inspiration for the Countdown Timer was a friend undergoing surgery. Naturally, I hoped the big event wouldn't reoccur, and thankfully, it hasn't. But many people do use the Countdown Timer to track recurring events such as birthdays, monthly report due days, anniversaries, weekly appointments, and more.

Until now, you had to enter each recurring event several times, once for each occurrence. So, for example, an event that happens every month had to be entered twelve times each year. But the new Countdown Timer automatically reschedules recurring events.

When the event is entered, just tell the Timer how often it repeats. Events can repeat every minute, hour, day, week or year. Or you can specify intervals of up to 999 minutes, hours, days, weeks or years. When an appointed time arrives, you're alerted by e-mail, .WAV file, talking parrot, etc. as before. But now, the next occurrence of a repeating event will also be automatically added to the timer.

Y6K

With Y2K on everyone's mind, you'll be happy to hear that the new Countdown Timer is fully Y2K compliant. Not being content with just Y2K support, I've also anticipated the next big crisis and made the Timer Y3K compatible. In fact, the new Timer will work correctly at least until the year 6,000. That right, it's Y6K compatible! I would've checked it for Y7K compatibility, but I ran out of time. Maybe by next week . . .

The new Countdown Timer also supports locale-specific date and time formats. This means that you can enter dates and times with the same punctuation and ordering you are most comfortable with. If you live where dates are customarily represented as yyyy-mm-dd, no problem. Just enter them that way when creating a Timer event. The Timer also understands 24-hour, or military, time if your Windows locale settings call for that format.

When -displaying- dates and times, the new Timer gives you full control. First, right-click anywhere on the Timer's main window. Then select "Options" from the context menu that appears. You'll see an Options dialog offering all common date and time orderings, and an assortment of date and time separator characters. As you make your selections, the on- screen date and time sample reflects your choices. Once you click the dialog's OK button, all dates and time displayed by the Timer are reformatted to suit your tastes.

Bug Swatting

Countdown Timer II v2.5 also fixes a pesky "Error 53" bug that afflicted some users. To explain the problem, I'm going to put on my programmer's beanie for a moment. So those who are easily frightened or squeamish, please look away.

As it turns out, you can't run a program that includes the MS Agent ActiveX Control, if the MS Agent Server isn't installed. That's true even if the program detects the absence of the Server, and avoids activating any Agent features. The mere presence of the Control, without the Server, causes the program to display "Error 53" (file not found) and abort.

Fortunately, programs don't need the Agent ActiveX control. A program can create Agent objects directly. If that fails, because the Agent Server isn't installed, the program can continue without its Agent features. That's exactly what the new Countdown Timer does.

OK, it's safe to come back. Now we're talking about NT. Previous versions of the timer had amnesia when running under Windows NT. Each time you started the timer, it displayed a blank window. All the events you entered during earlier invocations were forgotten.

Now, that problem's been fixed too. As I mentioned last week, it was caused by a typo in one of Microsoft's Windows API declarations, which I foolishly used without question. Changing the data type of one of the parameters passed during the API call allowed the Timer to remember events under NT, as it always had under Windows 9x.

Oops! Sorry about that! I called everyone back too soon. Please forgive that last bit of programmer-speak. I won't use that kind language any more this week. I promise!

In fact, we're almost done. All that remains is to tell you that the new Countdown Timer II is available at https://www.karenware.com/powertools/ptcount2. As always, the program is free. And that stuff programmers use to make changes (see, I didn't say "source code") is available too. All I ask is don't be late! :)