Okay, so the current version is 1.3.1 or so... I added a minor version increment for multiple timers, and another for export/import ability, and a revision increment just now for another few decision statement changes after I had uploaded the original 1.3. :P Downloadable as a compressed exe here (29K) or uncompressed over here (66K). The VB6 runtime files are still here if anyone needs them.

Changes... well, as I already said, multiple timers... ten of them to be exact as selectable by the slider bar in the options dialog. Apply and OK saves the settings for the current timer to the registry using the format I previously outlined. Default still dumps the defaults for the reason I made it in the first place into the boxes, so there's examples of valid data. I should make Default dump in "Now" plus a day or something so if anyone is actually using it 68 years from 12/13/2001, the default isn't invalid. Export dumps the settings from the registry to the file 'medlircd.dat', or if there are no registry settings, it dumps the defaults for all timers. The edit button tries to open notepad.exe in the windir with the medlircd.dat file, if it doesn't work for anyone, let me know. Import reads in all data from the file and dumps back to the registry. If the file exists on startup, it reads all settings from the file. The reg structure now has 5 string settings off each Timer_x key off the MedlirCD key. The Options key is still there and currently only holds one setting called Timer, which is the active timer. I also cleaned up the forms a little... made the Configure and Exit buttons the same size, and resized and centered the labels. Cleaned up some variables, made a few private that were global public before. Totally got rid of some...

Dim dateNow As Date
dateNow = Now

... was a little redundant. :P Did the whole reset thing... when it hits zero, the Configure button becomes a Reset button. Changed some things from multiple numbered control or vars to contral and variable arrays which made it so I could take a six case statement and condense it down to a single If... Else... in a few places. Threw in a ton of Trim()'s on things so there weren't extraneous spaces. Removed double spaces from things as well. Error checking on the calculations! Before, if there was say a minute and 15 seconds left you would see "1 minute, 15 seconds" and as it counted down it would go below 60 seconds left, but it would still display "1 minute" until you got down to 30 seconds because 31 or greater / 60 was a fraction and so VBwas rounding it up. So there's some checking to see if the values are less than what they're being divided by now. Simplified a few other if statements... turned them into elseif's so I wasn't re-evaluating the same thing repeatedly. Changed how the error handling was done. Before, if there was an error in one of the data field, it was still writing all the others. Changed it so that all the error generation is done first, and the successful save is done inside the case statement along with the error messages... i.e. 0 is successful, do all saving, 1 is an error so report it instead of saving, etc.

Overall, I'm fairly pleased with myself right now. :P

So anyway, anyone who tries, let me know if you find a bug. Undecided on a few thingsso suggestions would be helpful... particularly... after a timer goes off, and you click the reset button, should it just turn everything off as it does now, or should it automatically open the Options dialog so you can change timers or edit the current one? When you export settings, and it pops up the sucessful message, should that have a question "Do you want to edit it now?" And open it up if you click yes, and just drop back to the options dialog if you say no? If a timer goes off while you have it minimized to the systray, should it open, activate and flash the form window? There's probably some others too. Looking for opinions.


Err, you've never actually explained what it is? Just a fancy countdown timer, or?


Yep, that's all.


works fine for me.


Don't call NOTEPAD.EXE directly. Make the file 'medlircd.txt' or 'medlircd.ini' (so that it gets a default file association with Notepad) and call the ShellExecute function. That way, if people have altered their file associations to use a different editor than Notepad, their own editor will be called. The ShellExecute function works by executing the data file, instead of the program, and leaves it up to the windows shell to find the appropriate application to run. You could always check for failures and fall back to running Notepad directly if ShellExecute fails.

Private Const SW_SHOW = 5
Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As Long

Private Sub Command1_Click()
Dim lResult As Long
lResult = ShellExecute(Form1.hwnd, "open", "mytestfile.txt", vbNull, vbNull, SW_SHOW)
If lResult <= 32 Then
MsgBox ("Error Opening File!")
End If
End Sub


It's unclear from the config dialog what the slider is for, or that there are multiple timers supported.

Also, I noticed that the tab-order on the configuration dialog is completely out of whack. Try using the TAB key to move around instead of the mouse, and you'll see what I mean.

As for your questions:

Reset Button: Make it so Reset just turns everything off. If you want to add a quick button to configure, label it "Configure" or something. Or add "Off" and make "Reset" go to configure.

Export: Leave the message as "Export complete" or similar, and make two buttons "Ok" and "Edit"

Minimized & Popping Up: Make it an option.


Somehow, LJ never emailed me to let me know about this response. :P

That's a good idea for the editing, will do. Suggestions on how to indicate what it's for? I could slap a label above it, "Choose your timer:" or something. :P

The tab order was noticed and fixed long ago, just never released I don't think. :P I do use the keyboard and tab, alt+tab, and all the other shortcuts often for opening and closing things, and moving around. :)

I think since this was posted I did make Config turn to Reset and Reset turns everything off.

Export will do.

And Min and Popup I think I've done since then too and released.

Thanks for the feedback. I noticed I have a rounding bug currently in place, that's my first thing to do right now. :P





Bill 
Morgan 
Jason 
Melanie 
Josh 
Theo 
Justin 
00101101 
Chris 
Lynn 
Bryon