home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Hacker Chronicles 2
/
HACKER2.BIN
/
187.LOGGER.DOC
< prev
next >
Wrap
Text File
|
1988-03-14
|
29KB
|
661 lines
The KD2MT Logger
Version 1.50
Public Domain by
David Myers
Box 9861
Duke Station
Durham, NC 27706
--- The KD2MT Logger ---
INTRODUCTION
Being a ham, and having a computer, I thought I'd
computerize my QSO logging. This is not a contester's
logger, although it can be used as one. This is a general
purpose computerized implementation of a standard ham's
logbook, based on the ARRL logbook. Although there is
something nice about a handwritten log, if your handwriting
is like mine, you'll appreciate having your printer do the
writing. You don't have to have a printer, though.
I decided to make the Logger store its data on a disk,
rather than in memory, like most database programs. This
would allow a very large log, and some ham friends of mine
have logs of 4000+ Q's. A log that size could run into
storage problems if it were kept in memory. This means
access to large amounts of contacts is slower on a floppy
disk based system. I have a hard disk, but have tried the
program on a PC with floppy disks and found that the
performance is not too bad.
I've tested the Logger with over 12,000 QSO's logged.
That's a data file over 1 megabyte in size.
An option for using the program on a floppy system or
hard disk system is to store the Logger's data in a RAM
disk, which gives very fast performance. I highly recommend
that you use a RAM disk if you have a floppy disk system.
More on that later.
If you have any comments about the Logger, you can
write to me at the above address. Don't send any money, as
I am just releasing this for fun, and not for any other
reason.
CONFIGURATION
The Logger disk or ARChive, whichever you received,
includes a file called LOGGER.CNF, the Logger's
configuration file. This is a text file containing the
following:
"KD2MT","",""
"Your callsign","Path to LOGGER.DAT","Path to temporary
storage"
Using an ASCII editor such as EDLIN, replace the first
string in quotes with your callsign, so it will appear on
the title screen and on printed copies of your log. (The
information in LOGGER.CNF must appear on the first line of
the file, in quotes, separated by commas. The second line
is there as a reminder, and the Logger ignores it.)
Fill the second set of quotes with the path name for
the file LOGGER.DAT, the Logger's data file.
----- page 2 -----
--- The KD2MT Logger ---
____________________________________________________________
NOTE: LOGGER.DAT is the file that contains your logbook
entries. It is created by the Logger after you've entered
your first entries and used the save file command. It is
not included in the ARChive or on the disk.
____________________________________________________________
Empty quotes mean that the file is in the default
directory. Example entries are:
"B:"
"C:\LOGGER\DATA\"
"D:\"
The string in the third set of quotes tells the Logger
where to write the file LOGGER.TMP. The Logger uses this
temporary file when it makes changes or additions to the
log. This file is copied to LOGGER.DAT when you use the
SAVE DATA FILE command.
Also, the LOGGER tries to back up LOGGER.TMP when a
sort is performed. It tries to use the same drive
LOGGER.TMP is on. If there is not enough space, you cannot
sort.
This allows you to have LOGGER.EXE, LOGGER.DAT, and
LOGGER.TMP in different directories, or on different drives.
(LOGGER.CNF and LOGGER.PRT must be in the default
directory.) Better yet, it allows you to tell the Logger to
put the temporary file in a RAM disk. The path name entry
should contain the drive letter of the RAM disk (followed by
a colon, of course). This will provide the fastest access
to the data.
If you use a RAM disk, it must be large enough to hold
a file the size of LOGGER.DAT (107 bytes per log entry).
Three times this size would be best.
The file LOGGER.TMP is erased when the Logger is
terminated.
____________________________________________________________
NOTE: Refer to your DOS manual for information on setting
up a RAM disk. On many systems, it will consist of adding
the line:
DEVICE = \pathname\VDISK.SYS size
to the file CONFIG.SYS, which resides in the root directory
of the disk you boot your computer from. The "pathname" is
the path to the file VDISK.SYS (RAMDISK.SYS on some
systems), and "size" is the size of the RAM disk in
kilobytes. 100 might be a good value for "size". After you
have added this line to CONFIG.SYS, you'll have to re-boot
your machine for the RAM disk to be set up.
____________________________________________________________
----- page 3 -----
--- The KD2MT Logger ---
____________________________________________________________
NOTE FOR MONOCHROME MONITOR USERS: The Logger uses many
windows with various background colors. These might not
look so good on your monitor, especially if you have a color
card, but a monochrome monitor. If this is the case, the
first thing you should do when you start the Logger is to
hold down the Alt key and type C. This toggles on and off
the background colors, and changes some of the other colors
around to make the Logger function better on monochrome
systems. If you have a monochrome card, the Logger will
automatically detect it, and set the colors correctly.
____________________________________________________________
To set up the Logger to work with your printer, run the
included program LOGPRT. Choose the printer that operates
closest to yours. Hopefully, one will work. There aren't a
heck of a lot yet, but it's growing. You can keep trying
other printers by re-running LOGPRT.
LOGPRT creates the file LOGGER.PRT, which contains the
printer codes the Logger needs to send its output correctly
to a printer. LOGGER.PRT, like LOGGER.CNF, should reside in
the same directory as LOGGER.EXE (or at least the default
(startup) directory). Once you are done with LOGPRT, you
can move it to another disk.
LOGGING YOUR CONTACTS
For each "record", or entry, in your log, the Logger
stores 12 "fields", or items. They are adapted from the
standard ARRL log, and their maximum lengths have been
chosen to allow each entry to fit on a single (compressed)
line when the log is printed.
The items are:
o The callsign of the station worked (max 6 characters)
o The date of the contact in the form MM-DD-YY (8)
o The frequency of the contact (8)
o The mode of the contact (3)
o The RST report you sent to the other station (5)
o The RST report sent to you by the other station (5)
o The starting time of the contact in the form HH:MM (5)
o The CHECK of the contact, which is either the ending
time of the contact, or a contest serial number,
or some other special exchange (5)
o The name of the operator worked (10)
o The QTH of the station worked (20)
o A comment field, for anything you like (30)
o QSL status: The suggested use of this field would be to
enter an "S" if you have sent a QSL to the
station, an "R" if you have received a QSL from
the station, or an "SR" for both (2)
----- page 4 -----
--- The KD2MT Logger ---
In addition, each contact is given a number used for
referring to the contact in the log, but this number is
assigned by the program, and does not appear on the log
printout.
USING THE LOGGER
... is easy. The ten function keys initiate all of the
functions you use to maintain your log.
The options are:
F1 ... Add new log entries
F2 ... Edit a past entry
F3 ... Search for an entry
F4 ... Print log or labels
F5 ... List entries by number
F6 ... Delete an entry
F7 ... Data file status
F8 ... Sort entries
F9 ... Save data file
F10 .. Terminate program
These are pretty self explanatory. Some embellishment:
F1 (Add New Entries) - The names of the 12 fields appear,
and prompts at the bottom of the window remind you what
to enter. The input routine limits how long each entry
can be in accordance with the maximum character lengths
of each field given above. Some fields provide default
values, which you can easily type over if you don't
want them (for example, "59" automatically appears for
RST SENT). If you wish to replicate the information
you entered in that field for the previous entry you
made, type ^R (type R while holding down the Ctrl key).
You can use the arrow keys to get around while
entering data. When you get to the bottom of the
entries, or hit ESCape, you are prompted for one of
four actions. Hitting return adds the entry to the
log, and begins entry of another contact. "L", for
"last", adds the entry to the log and terminates the
Add New Entry window. "R", for "re-enter", lets you
re-enter the contact before you save it, in case you've
made a mistake. Hitting ESCape does not save the
entry, and cancels the Add New Entry window.
F2 (Edit) - Given an entry number, displays and allows you
to change the data for that contact. Works very much
like F1 (Add New Entries). Hitting <Page Down> will
jump to the next entry in the log without saving the
current one. Similarly, <Page Up> jumps backwards. ^L
prints a label (see F4 (Print)).
----- page 5 -----
--- The KD2MT Logger ---
F3 (Search) - You can search for entries in your logbook by
callsign, mode, frequency, or date. You will be asked
to select on of these options after you hit F3. Then,
you enter the value to search for. You can use a '?'
(question mark) to represent a wildcard search value.
For example, searching by date for "??-??-88" will pull
up all of your log entries for 1988. You will be shown
a summary of contact information for each entry that
matches the search, along with the QSO number for the
entry. You can use F2 (Edit) to see more information
on an individual contact.
F4 (Print) - You can output a listing of your log either
directly to the printer, or to the file LOGGER.LOG.
You are given the choice when you hit F4. You are then
also asked which page the printing is to begin on.
The use of printing the log to a file is that if
it is long, you can print it later, perhaps using the
DOS print spooler PRINT.COM. Note that the file
contains the necessary printer codes the Logger uses
to toggle printer effects. You could also send the
file to the printer by using the command COPY
LOGGER.LOG PRN.
The file is created on the same drive or directory
from which the Logger was started (the default). Make
sure there is enough space, as the file can get quite
big.
You can also print out labels for a range of
entries. Then, just affix the labels to your QSL cards
to save yourself some writing. Label printing is
designed to work on standard 5-line, 40-column, 1-
across labels. The Logger can also handle different
numbers of lines per label, down to 2 and up to huge.
Depending on the number of lines per label you set, the
Logger will print out the QSO information for the
chosen range of entries in either a 2, 3, or 4 line
format. If you want to print a label for a single
entry, enter that entry number as both the starting and
ending numbers of the range.
You can also print out a quick label from Edit
(F2) by hitting ^L whenever you would normally enter
input. Any changes you might have made to the entry
are saved before the label is printed. If you are
using labels with spacings different than the default,
use the regular (F4) label printing method for the
first label you print.
F5 (List by Number) - Each contact entered into your log is
assigned a sequential entry number. This provides a
quick way to access a specific entry in the log. List
by Numbers shows you sequentially all of the contacts
in the log, but shows you only the entry number, the
callsign, and the date of the contact. This gives you
----- page 6 -----
--- The KD2MT Logger ---
a quick review of the log, and by using F2 (Edit), you
can see the complete entry for a given contact number.
Note that the numbers are always sequential, from
1 to the number of entries in the log. The number for
a given entry may change after sorting the log, or
after deleting an entry with a lower number.
F7 (Data File Status) - Quickly shows you how many entries
there are in your log, the size of the file
LOGGER.TMP, and the amount of space free on the drive
where LOGGER.TMP is located. This is handy to see if
you are filling up your disk as you add entries.
Typing a "?" at the main menu gives you simple help
screens. Typing Alt-S at the main menu puts you in DOS
until you use the DOS "EXIT" command. Typing Alt-C toggles
the background colors on and off for monochrome monitor
users.
____________________________________________________________
NOTE: In order for the Shell To DOS to work, the file
COMMAND.COM must be available.
____________________________________________________________
____________________________________________________________
*** Remember to use the F9 SAVE DATA FILE command if you
make any changes to the log which you would like to keep.
By the same token, you can mess around with your log as much
as you want without worrying about messing it up permanently
as long as you don't use F9. ***
____________________________________________________________
Also, the ESCAPE key is always available to get you out
of any function.
SORTING
The Logger is intended to store your log entries in
chronological order. Under most circumstances, you won't
use the F3 Sort command, which sorts your entries into that
order, or can sort them by callsign, mode, or frequency.
You just put your entries in as you work stations, and you
end up with a log in chronological order, just as it should
be. However, you may end up with a few entries out of
order. You could have put them in wrong, or forgotten one,
or you might just want to convert your paper logs over to
the computer a few months at a time, going back in time. If
this is the case, it's simple to sort them back into
chronological order.
In order for the chronological sort to be done
correctly, you must have all TIME entries in the form HH:MM,
and all DATE entries in the form MM-DD-YY. The input
routines prompt you to enter the information in these
formats, so you won't forget.
----- page 7 -----
--- The KD2MT Logger ---
The sort routine needs some extra disk space on the
path where LOGGER.TMP has been stored. Given these, the
sort is pretty efficient. The more entries that are out of
order, the quicker it gets. The maximum number of entries
you can sort depends on both free memory and disk space. My
machine has 640k of memory and a hard disk, and I have
sorted a data file containing more than 12000 entries while
testing the Logger.
If either not enough memory or disk space is available,
the Logger cannot sort.
Note that whenever you re-sort the log, the entry
numbers for each entry may change.
____________________________________________________________
*** Remember, the results of sorting are not permanent until
you use F9. ***
____________________________________________________________
POP-UP WINDOWS
My thanks to Dave Evers for making some great pop-up
window routines public domain. I've since modified them a
few times, but they were a great starting point.
You'll find in many cases that by hitting successive
function keys, you can have windows pop up over each other.
This is especially useful if you are paging through the
numbered listing of your entries, and you want to examine a
particular entry in more detail without losing your place in
the listing. Just hit F2 (Edit) from within the F5 (List by
Numbers) routine, and the EDIT ENTRY window pops right up.
When you exit the EDIT function, you are back where you came
from.
Exceptions: No windows will pop over EDIT ENTRY or ADD
NEW ENTRY (except TERMINATE, F10). Also, no window will pop
up over another window that is waiting for input (as opposed
to just waiting for a key hit).
HAVE FUN
The best way to learn the Logger is to play around with
it. I hope somebody finds a real use for it (besides me).
Please write to me with your comments on the program.
73,
Dave
KD2MT
----- page 8 -----
--- The KD2MT Logger ---
____________________________________________________________
LOGGER VERSION HISTORY
(For those interested in such things...)
I have been working on the Logger in various forms for
about two and a half years. It started out in interpreted
BASIC, and has since become much more powerful. I reached
version 5.00 when I decided to release the Logger to the
public domain. For release, I started the numbering over
with 1.00.
Version 1.00 released in June of 1987.
Version 1.10 released in July of 1987. Window colors
altered, and windows cleaned up. Major internal
restructuring caused 1.10 to be smaller than 1.00. Little
fixes here and there. Use of Up and Down keys added to EDIT
and ADD routines.
Version 1.11 released 10 days after 1.10. I had
disabled error trapping while developing 1.10, and I forgot
to re-enable it when I finally compiled it! What a dummy!
Version 1.20 released in August of 1987. A new sort!
Previously, only a disk-based sort was implemented. After a
good book on the Quicksort algorithm, this new routine was
added. Also, the status routine now also displays available
disk space on the path for LOGGER.TMP. Use of the Home and
End keys added to input routine. Monochrome monitor support
added. Fixed bug in print routine prompt. Support for over
10,000 QSO's added (previous limit was 9999).
Version 1.30 released in October of 1987. Who was I
kidding with the disk-based sort? It really was only there
because it worked fine on my original versions of the
Logger, which all used a RAM disk. In this version, I have
removed it completely. The sorting limit is set at 8000
entries, due to my stingy compiler. Also, a few little bugs
are worked out.
Multiple printer support added. Previous versions did
not use the file LOGGER.PRT. Also, ability to print to a
file added.
Version 1.40 released in November of 1987. Limited
release. Performance enhancements. Screen writes greatly
speeded up. Windows snap up faster. The sorted file write
after sorting is also about twice as fast.
Also, you no longer need COMMAND.COM on the disk with
LOGGER.EXE. It was necessary before, although I didn't
realize it. You do need COMMAND if you shell out, and when
you terminate the Logger. And the backup and save of the
data file will be faster if COMMAND is present.
----- page 9 -----
--- The KD2MT Logger ---
Automatic detection of mono card implemented. Page Up
and Page Down keys added to edit routine. Search by date
added. There was a little bug where if you hit ESCape after
entering information into a box, it would be treated as if
you hit enter. Fixed.
Use of Ins and Del keys added to input routine. Added
the introductory screen.
Version 1.41 released in December of 1987. The first
window in the logbook printing routine was unreadable on
some monochrome monitors. It should be OK now.
WB8VGE wrote in with suggestions, and a couple have
been added. If you enter a character in the frequency
field, rather than only digits and a decimal point, the
Logger will "blip" at you as a warning. The data will be
accepted if you leave it that way, though. This only occurs
in Add New Entries. Also, the ^R key was added to the Add
New Entries routine.
Version 1.50 released in February of 1988. Complete
cosmetic makeover. Every window looks a little sleeker now
(in my opinion). Sorting improved with the addition of sort
by call, mode, and frequency. Search by mode and frequency
added. Can abort a search with <ESC>. Previous sorting
limit of 8000 entries done away with. Label printing added.
Automatic <ENTER> added after ^R.
NOTE: PRT printer files are slightly different with
this version, and the Logger may not print correctly with
old PRT files. Be sure to regenerate your PRT file with
LOGPRT (now version 2.00).
----- page 10 -----