Contents of the IDCLOG.DOC file
Documentation for IDCLOG.COM
Written by Gary Conway
Infinity Design Concepts, Inc.
1052 Parkway Drive
Louisville, Kentucky 40217
IDCLOG.EXE and its associated files are ShareWare programs. The shareware
concept allows you, the end user, to use the program and decide whether or
not it has value to you. If you find that it does and continue to use it,
then you are obligated to register your copy.
All materials and files associated with this program are copyrighted 1986,88
by Infinity Design Concepts, Inc. and may not be used in commercial endeavors
or as a sales aid without the expressed written consent of the author.
If you like this program and find that it has value to you, then you may send
$25.00 to the above address. This will put you on our mailing list which means
that you will recieve notices of all new IDC products as well as how to
recieve phone help from our private lines.
IDCLOG.EXE is a memory resident time logging facility. It is useful to those
of you who do work for customers and need a way of tracking the time without
making 4000 notes. The program can be called up from within any other program
and the time can be logged on or off or paused. It is a very intelligent
TSR in that it checks with DOS before performing any operations. There are
times when DOS should not be interrupted, such as during a disk read/write.
All too many TSR programs ignore this fact and consequently cause serious
problems. IDCLOG intercepts 10 of the DOS interrupts. In almost all cases,
IDCLOG allows the original interrupt handler to execute its functions first,
deferring IDCLOG functions until the resident handler has finished. In the
case of function 1 of Int 21h (used when COMMAND.COM is waiting for input),
this is a must and is all too often overlooked by TSR programs. Another
major error found in TSR's is the fact that many of them try to make use
of Int 21h functions 01h thru 0Ch. This is not acceptable, since these
functions are non-reentrant and use the IOstack of DOS. They can be forced
(and are) to use the auxillary DOS stack, but this is also not acceptable
since they also use buffering schemes that are definitely not reentrant.
At any point, when the main window menu is called up, the data file
IDCLOG.BIN can be written out to an ASCII text file. The program will write
all of the data available to this text file (IDCLOG.TXT), which can then
be edited with your favorite word processor. The format for the binary file
is also given in this documentation for those of you who would like to create
some other program that deals with the data more appropriately for your
NOTE: all data files are written to the root directory on the drive
that IDCLOG was called up from.
Loading the program:
Load IDCLOG by simply typing IDCLOG at the dos prompt. Once the
program is loaded, messages are issued with version information etc. This
program intercepts the Int 9 function of DOS and checks for the ALT - ENTER
key sequence. When the program is first loaded, it determines the character-
isitics of the environment that it will operating in, such as color or mono
and which drive is the default. IDCLOG reads the default drive when it is
loaded and uses this drive for all reading and writing.
Activating the program:
ALT-ENTER will activate the IDCLOG program. Note that IDCLOG
checks the current activity of DOS and determines whether or not
it is safe to interrupt the operation. If,for example, DOS is
writing to disk, then IDCLOG will not interrupt this operation
until DOS is finished.
The first thing that must be done is to Initialize the log files,
option F5 from the mainmenu. This option will create or truncate the data
files on the disk. Any previous data will be lost, so be forewarned! If this
initializing step is not performed, then no log data can be written at logoff.
The log files are created in the root directory on the default drive.
The F1 option from the mainmenu, starts the time logging operation.
The next time the mainmenu is called up, the F1 line will be highlighted,
denoting that time is being logged.
The F2 option will stop the time logging and write the data to the
IDCLOG.BIN file. If the logged time has crossed midnight, the time will still
be counted accurately. Since DOS does not increment the date at midnight
rollover, IDCLOG performs this function and updates the DOS date clock.
The month and year are also incremented as necessary. The only potential
problem here is if you are logged on from Februrary 28 to Februrary 29 in
leap year. The program will not handle this case. Why not ? I just couldn't
justify the effort involved in handling this very special case! The logged time
will be correct, the only problem is that the finish date will read 03/01/xx
instead of 02/29/xx.
When logging off, you will be shown the current customers one at a time.
You may thumb through the list with the arrow keys. There are three other
option available also. If you respond "N", then you will be asked for the new
customers name. The name entered is checked against the customer file to see
if it already exists, if it does, then a NEW client name entry is not made.
If it doesn't exist, then the new name is added to the customer file. If you
respond "D" then the customer name shown in the window is deleted from the
customer file. The desired customer is selected with the ENTER key.
The F3 option is a pause toggle, that is the first time it is called,
it pauses the logging of time and the second it resumes the time log. The total
logged time reflects the pause time by subtracting the total paused time from
the total logged time. The logging operation may be paused as many times as
desired. When the Pause feature is active, that selection will be highlighted
the next time the menu window is called up.
Writing ASCII text file:
The F4 option will take all of the data in the IDCLOG.BIN file and
write it in ASCII with carriage returns and line feeds to IDCLOG.TXT. This
file can then be edited to produce any desired format.
This file holds the Users name and Company data. The total length
of this file is always 40 bytes.
User Name20 bytes ASCII
Company20 bytes ASCII
This file holds the time/date data for each log on log off. It is
keyed on the Client name field.
Client Name20 ASCII
Start Year2 Binary Word format Lo/Hi
End Year2Binary Word Format Lo/Hi
This file holds all of the customer names. It is used when making
new log entries. When logging off, this file is searched showing
each client in the file and allowing the user to thumb through
the records with the arrow keys.