Reminder

  “Call me back in 10 minutes.” “You have a meeting at 10h30.” “You should check on the garden-watering every half hour.” “Every 5 minutes, the pancakes need to be either flipped, or taken from the pan and new ones put in.”

  Our lives are driven by time, but one can forget. This is especially true when at the computer, as one can easily get ‘lost in the box.’ How to cope?

  As a learning exercise, using Visual Basic 6, bøB has written a program to help. It calls attention to itself, by using the computer bell, at an appropriate time, whether it be entered as ‘time-from-now’ or ‘time-of-day,’ or on a recycling-timer basis.

  The program, Reminder_RwcS.exe (124K, running under the Windows platform), is available for download, as is the source code.

  If in trying to run it you receive errors, such as missing a DLLs, you may also need one or more of the following to upgrade your system:


  The system will complain if one or more of these files is needed. The following was first written, assuming that your operating system is Win'95, and is in installed at C:\Windows – but it might be Win'07 at D:\WINNT. Make changes as appropriate.

  The following links are designed leave this window open (if your browser supports it), without you having to use the right-click>Open in new window command.

DCOMxx.exe     (Microsoft site, where DCOM95.exe and DCOM98.exe were, at one time)
MSVBVM60.dll     (Milori.com, where you used to be able to find the file)
MSSTDFMT.dll     Version 6.00.8450 (for Win'95) (Download from this server)
MSSTDFMT.dll     Version 6.00.8804 (for Win'07-64) (Download from this server)

Screen Shots

  Here is a couple of screen-shots of the program, running. An early version of the HELP information follows:

image

HELP

  This program is designed, on being started, to beep and display a message. After that, it will wait a period of time, and then commence regular beeping. The message, the wait period, and the beep rate are adjustable (by command-line parameters and/or .INI file information), and are adjustable at Run-Time.

  With each beep, the title toggles between Reminder_RwcS and text from the Message.
 

  There are three classes of ‘Special Message’ which access additional functions.

  The vertical scrollbar adjusts the beeping frequency. Beside the base of the scrollbar is a box showing the setting of the bar. The default is 20, in a suggested range of 1 to 32.

  The next box over is a counter, which may be seen to increase from 0.1 to the value of the scrollbar. On reaching the scrollbar value, it will reset to 0.1. Since the counting rate, as well as the maximum count, is dependent on the scrollbar setting, the adjustment is roughly logarithmic.

  Another box at the bottom shows in white on red, the total time elapsed since beeping commenced − or, when Deferred Onset is implemented, shows in black on green, how soon beeping is to commence. This value is updated with each zero-crossing of the counter. Beeping occurs when this data is updated.
 

  The ‘Save New Settings’ button will (if allowed) re-write the Message portion of the .INI file with the current text in the message box. Any line-break characters will be converted to spaces before writing. If the Additional Control Area (discussed below) is open, additional information is written. The Slider Values (Minimum, Maximum, Setting) will be written. If Start-Delay is implemented, or if the delay is set to a specific time, it will be written. If write-permission is denied, a message advises of the problem, and the message to have been saved is preserved.

 
  Above the slider is a button to open the Additional Control Area, wherein the slider settings may be altered digitally. The same button will close the Additional Control Area. With this area open, (as previously noted) the ‘Save New Settings’ button will also write these current values to the .INI file.

  With the Additional Control Area open, one may also access a button labelled INI. This will try to edit the current .INI file, using NotePad, or whatever [[Drive:\]path\]editor is noted at the INI_Edit= option in the INI file. (Yes, this can be a catch-22 situation.)

 
  There are four possible sources for the settings of this program: Default; .INI file; Command Line Parameters; Run-Time changes.

Options for the .INI File:

  If you wish, you may delete the [HELP] . . . section of this file. You may also make changes and annotations to it. The [LeaveThisLine] must stay if .INI information is to be used, as must the identifier for any parameter being used. Data after the equals sign in each line of the [LeaveThisLine] section may be altered. Between the section headers of [LeaveThisLine] and [HELP], items may be shuffled.

  The text following Message=, up to the first line-break, will be displayed when the program is run.

  The value on the BeepIntervalSet= line (allowable value of 1 to 999, default 20) governs the beep interval.

  Values of BeepIntervalMax= and BeepIntervalMin= (1 to 999; Default-Min=1 and -Max=32) set the range of the slider.

  One of the Values StartDelaySec=, StartDelayMin=, StartDelayHrs= and StartDelayDay= (defaults of zero), or StartAtTimeOf= (default of ##h##), may be specified. The commencement of beeping will be delayed by the specified duration in seconds, minutes, hours or days, or will be delayed until the specified time. If multiple settings are made, StartAtTimeOf= will have precedence over any of the others. If StartAtTimeOf= is not specified, or is at its default value, the non-zero setting with the longest time-base has precedence.

  INI_Edit= is available to set the [[Drive:\]path\]editor to use for editing the INI file.
 

Options for the Command Line:

Command Line arguments may be used to control the program behaviour (message, timing, .INI [path\]name). Parameters not available from the Command Line are sought in the .INI file (of default name, if none was specified). Parameters not available there either, are set to default.
 

Allowable Command Line Arguments are:

[/?]

[[/t1=Timing1] [/t2=Timing2] [/t3=Timing3] or [/t=Timing]] and [[/ss=StartTimeDeferral in seconds] or [/sm=StartTimeDeferral in minutes] or [/sh=StartTimeDeferral in hours] or [/sd=StartTimeDeferral in days] or [/sa=StartTimeAt]] and [[/m=Message] or /f=File]]
 

Options at Run-Time:

With the program running, one may also make changes. The message may be re-written. The Beeping rate may be altered by moving the slider. A button above the slider may be used to open an Additional Control Area where settings for the Delayed Onset and all slider values are available. Enter Delayed Onset data as digits followed by the units (Seconds, Second, seconds, second, Sec, Secs, sec, secs, S, s; Minutes, etc.; Hours, etc.; Days, etc.). StartDelay has a maximum value of 32767 minutes (~3weeks). StartDelay may also be specified as a specific time, up to 24 hours in the future, in the format ##h## or ##h##m.

The ‘Save New Settings’ will write the current message to the .INI file. If the Additional Control Area is open, the Beep-Rate Control settings will be written as set, and if Onset is Delayed, the Onset Delay will be written as set. If there are no changes to be saved, this option may not be available.

Illegal entries in the Additional Control Area will be highlighted in red. By closing and re-opening the area, one may reset the slider values to the latest acceptable values. If the Initiate Delay is in error, it will be reset to 15 seconds.

The latest version of this program may be available at www.wendygamble.com/RwcS/reminder/. Bugs and ideas for Upgrade may be submitted to Robert@WendyGamble.com.


 Robert’s Home Page  Pleased To Be Of Service, RwcS