home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
HAM Radio 3
/
hamradioversion3.0examsandprograms1992.iso
/
qsl
/
qqsl30
/
qqsl.doc
next >
Wrap
Text File
|
1990-09-08
|
64KB
|
1,216 lines
QQSL
"Quick" QSL labels, Version 3.0
September 9, 1990
************************************************
* Copyright (C) 1989-90 by Bill Mullin, AA4M/6 *
* All Rights Reserved *
************************************************
READING THIS DOCUMENT
=====================
Over the years, I've discovered that every software author has
his or her own particular idea of how a "DOC" file should be
formatted. Many of these documents are supposedly formatted for
printing through the use of the DOS "TYPE > PRN" command. In
most of these cases, I've subsequently discovered that the for-
matting was wrong for my particular setup and that I had to
totally reformat the document and then print it again! Rather
than subject you to this nonsense, I've formatted this document
for direct viewing on your monitor. There are two easy ways to
do this:
1) Use Vernon D. Buerg's (N6MG) LIST utility program, or
2) Use the DOS "TYPE" command with the MORE option, i.e.
TYPE QQSL.DOC | MORE
I highly recommend option (1) to be the best of the two alterna-
tives!
If you prefer a printed copy of this document, a minimum of
reformatting with your favorite word processor should be all
that's required. Of course, printing by entering "TYPE > PRN"
will still work, but this isn't a good idea as the printed docu-
ment will have no top or bottom margin, and you'll probably find
that lines have printed directly on the perforations between
pages!
AUTHOR
======
Written in Microsoft QuickC, V2.5 and CXL, V5.2 by:
Bill Mullin - AA4M/6
3042 Larkin Place
San Diego, CA 92123-3026
U.S.A.
INTRODUCTION
============
QQSL does only one thing - it prints labels for QSL cards. But,
it does a nice job, it does it fast, and it has lots of "bells
and whistles" just as a good program should! In creating, de-
signing, and writing QQSL, my first priority was to make it
"quick"! I think you'll find that I succeeded with this. My
second priority was to make QQSL the "Rolls Royce" of the QSL
label programs. In my opinion, I'm not quite there yet, but I'm
getting closer with each release. Maybe when version 4.0 is
completed?!
QQSL 1.0 was originally written for the contester, DXpeditioner,
award hunter, or anyone else who sends a lot of QSL cards.
Version 2.0 was redesigned to also be used by those of us who
send small quantities of QSLs, while still meeting the needs of
the volume user. This was done by having the labels automatical-
ly saved to a file rather than being written directly to continu-
ous-form labels. This means that the normal hassle of loading
label paper into the printer each time QQSL is invoked can be
avoided until the label file reaches a suitable size. Version
3.0 was created by rewriting approximately 90% of the Version 2
code with the emphasis on making the program more "user friendly"
and strengthening the edit routines, without losing any of the
speed of earlier versions. Actually, Version 3.0's enhanced
features are "light years" ahead of earlier versions, as I'm sure
users of Versions 1.0 and 2.0 will agree. Additionally, Version
3.0 is the fastest yet, due to the fact that duplicate informa-
tion from one label is automatically carried forward to the next.
QQSL will produce QSL labels for all ham bands from 1.8 to 440
MHz, and for six amateur modes: AMTOR, CW, FM, Packet, RTTY, or
SSB, and QQSL won't let you enter an invalid band, mode, RS(T),
date, or time! Additionally, QQSL provides you the capability to
customize your labels with a cordial goodbye, rig information,
etc.
I've run all versions of QQSL on a 386/25 with SVGA, an AT with
EGA, an AT with MDA, and an XT with slow CGA, and had no problems
of any nature on these systems. Additionally, with Version 3.0
I've introduced color to the program. For those still using
monochrome monitors, I've built routines into the program to
automatically detect such monitors and interpret the display into
flat, uninteresting monochrome, although I've only done limited
testing in this manner - most of this testing was done by simu-
lating monochrome on my multiscanning monitor (this IS a valid
way to test monochrome). Did that last sentence make any sense?
If you're using a monochrome-only system, you're missing out on a
LOT as QQSL looks GOOD in color, so now you have the excuse to go
purchase that color monitor you've had your eye on <HI!>. On
this subject, should you decide to upgrade to color, don't select
CGA, since its low resolution text is worse than monochrome text!
Additionally, with some CGA monitors you'll most likely see
"snow" when running this program. I have provided you with a
parameter (described later) to eliminate snow, but this will slow
the program down a little. Additionally, some older monochrome
monitors also have a problem with snow, but my parameter also
should help in these cases. So, if you're about to upgrade your
monitor and video card, my recommendation is that you settle for
NO LESS than an EGA monitor with matching video card, and that
you go for VGA if you can afford the extra money.
WHY DID I WRITE QQSL?
=====================
QQSL was originally written for my private use. But, as I worked
on the program, I felt that others would have similar needs, so I
decided to make QQSL available to the public.
My primary need for QQSL is to respond to incoming QSLs from the
DX QSL bureaus. I average approximately 100 cards monthly, and
find that this total increases and decreases along with the
sunspot highs and lows. During the last sunspot high in the late
70's/early 80's, I often had months when I received 300+ QSLs!
Although I no longer get excited about receiving QSL cards, I
feel that one is obligated to respond when he or she receives a
QSL card. To do otherwise is RUDE and does nothing to foster the
goodwill normally generated by ham radio.
Although there are a number of different programs which produce
QSL labels, none of them used a format I cared for. It seemed
that they all used 10 character/inch (char/in) type, thereby
limiting the amount of information which could be printed on the
label and not giving the necessary (in my opinion) added weight
to the call sign. QQSL solved this problem by continually
switching fonts, printing the first line (the call sign) using a
5 char/in font and the remaining lines using a 17 char/in font.
Therefore, the total number of characters which can be printed on
a QQSL label are 219. A LOT of information can be conveyed with
this many characters.
In addition to the lack of multiple fonts, I've noticed that many
other programs require a full computerized log and will only
generate QSLs using information from this file. Although I
normally store most of my log information on a computer, I found
it to be very inconvenient to join various logs together, format
them into whatever format the labeling program in question need-
ed, and then tagging the lines which required a QSL label. It
was much faster for me to type the applicable label using written
logs and/or the QSO information from cards received. I think
that once you discover how fast you can enter label information
using QQSL, you'll agree that there is no advantage to working
from a "data base" of QSO information.
DISCLAIMER
==========
The author assumes no responsibility for the results produced by
QQSL, either to your software, hardware, or storage media. While
I've made every effort to ensure that this software works
properly, I know better than to claim that you will never
experience problems while using it. If you believe you have
found a bug, please report it in as much detail as possible,
including a reproducible sequence of events that leads to the
problem, a complete description of your hardware, DOS version
used, amount of free memory reported by CHKDSK, and a copies of
your CONFIG.SYS and AUTOEXEC.BAT files. See the "Technical
Support" paragraph for more information.
LEARNING QQSL
=============
The best way to learn QQSL is as follows:
1) Scan the documentation! Don't worry if parts don't make
sense, they will later. I've gone to a lot of detail on how to
use the program, probably more than was necessary. Because of
this, studying the documentation at this point in time would
probably cause more confusion than anything else!
2) Copy the extracted files from the QQSL archive into a
single directory or onto a single floppy diskette.
3) Run one or more QQSL practice sessions, entering ficti-
tious QSO information as you proceed. Use ALL possible menu
functions as you practice, and enter erroneous data along with
the good information so that you can see how QQSL reacts. Use
the documentation only when you're stuck!
4) Now, study the documentation carefully from the first
line to the last.
You're now a QQSL "expert"!
GETTING STARTING
================
QQSL will run on an IBM PC or compatible running under MS-2.0 or
greater. Any monitor and display adapter may be used and large
amounts of memory are not required. If you are running QQSL
from a floppy diskette, make sure that the diskette is not
write-protected, but make sure you have a backup copy first.
The following files must all be in the same directory or on the
same floppy diskette from which you run QQSL:
QQSL.EXE
QQSL.INF
SORTF.COM
Actually, the "EXE" and "COM" files can be anywhere in your DOS
PATH, and you then are only required to execute QQSL from the
same directory or diskette which contains QQSL.INF. If you're
asking what a PATH is, then disregard this information and ensure
that the above three files are in the same directory or on the
same floppy diskette as stated.
QQSL has three parameters which can be used as needed:
1. /0 (slash zero): The first parameter is "/0", which is
to be used ONLY if your printer does not automatically put a
"slash" through the zero digits. If this parameter is used and
QQSL detects a zero in label line one (the call sign or the
string of fifteen digits in the test label), it will print the
zero, backspace, and then print a "/" (slash) over the zero.
QQSL will not attempt to slash zeros other than in the first
label line. Note: I've tested this option extensively, and I've
discovered that the backspace-slash combination is NOT the same
as the slashed zero normally produced by dot matrix printers.
It's close, but on my test machines it never quite looked as good
as the default slashed zero provided by printer fonts capable of
such. What's worse, if you use the /0 parameter and your printer
normally defaults to a slashed zero, you may see two slashes!
2. /S (snow removal): If you have an older CGA monitor,
you may see "snow" continually being displayed, which can get
quite annoying. The "/S" parameter will remove this snow, with
the unfortunate side effect that video displays will be showed
down a little. This slowdown is an acceptable alternative to
snow! Note: It is possible to write the program in a manner
which will detect the CGA monitor and automatically remove snow.
I haven't done this because faster CGA video cards will not
display this snow and I didn't think it was fair to slow down
faster monitors. Additionally, not all users will be bothered by
the snow. All-in-all, I felt it was fairer to all if I made this
feature a user option.
3. /N (no sound): The last parameter is the "/N", which is
much simpler to explain than the previous two parameters. "/N"
simply turns off the sound. Use this parameter if the "down
tones" when you make an error or the "up tones" when saving a
label start to become irritating.
To run QQSL with no parameters, simply enter:
QQSL <CR>
To run QQSL with all three parameters, enter:
QQSL /0 /N /S <CR>
Any one, two, or all three parameters in any order may be used.
The only stipulation is that you must separate the parameters
from each other and from the program name by one or more space.
A dash (-) may be used in the place of the slash (/). Addition-
ally, either upper case, lower case, or a combination may be
used.
MENUS
=====
Labels are saved to a file named QQSL.LBL. The first time you
run QQSL (or if you run QQSL after deleting your QQSL.LBL file
with the Delete function), you'll see a menu with the following
functions:
Create label file
Modify QQSL.INF
Quit program
You may use the arrow keys to select the appropriate menu item
and then press <Enter> or you may simply press a key correspond-
ing to the first letter of the desired menu item.
Subsequent runs of QQSL will show this menu:
Add new labels
Count labels
Delete QQSL.LBL
Modify QQSL.INF
Print all labels
Sort labels
Quit program
A description of each of these functions follows.
Create label file (or) Add new labels
=====================================
These functions are essentially the same. The only difference is
that Create will start a new QQSL.LBL file and Add will append
new labels to the existing QQSL.LBL file. You don't need to be
concerned as to whether you need to enter "C" or "A", as the
menuing system has built-in safeguards to prevent the wrong
function from being selected.
You are about to discover that entering label information with
QQSL is FAST, as speed was foremost in my mind during the entire
program development process. This speed will also explain one of
the prime motivations behind my creating Version 3.0, which is
that I felt that re-entering duplicate information was a time-
waster! Therefore, Version 3.0 now saves all label information
from one label to the next - you'll be amazed at how fast you can
create labels!
You don't need to be concerned about whether or not to use capi-
tal letters as QQSL automatically converts all lower case letters
to upper case. Note: You must avoid using the tilde (~) charac-
ter! If you ignore this warning, you'll lose labels! This is
because I'm using this character in the QQSL.LBL file to separate
label lines, take a look at a QQSL.LBL file using your favorite
word processor in (N)on-document mode and you'll see what I mean.
If the lack of this character causes anyone a problem, let me
know and I'll think about using some non-printable "extended"
ASCII character in its place.
The editing keys for the Add/Create function are mostly intuitive
and should be quite easy to master. But, for those "power" users
who might wish to know ALL the possible edit keys, they are as
follows:
EDIT KEYS
=========
Key Action
--- ------
LeftArrow cursor left
RightArrow cursor right
UpArrow cursor up
DownArrow cursor down
Ctrl-LeftArrow word left
Ctrl-RightArrow word right
Tab field right
Shift-Tab field left
Enter process field
Ctrl-Enter process all fields
Home beginning of field
End end of field line / end of field
Ctrl-Home beginning of first field
Ctrl-End end of last field
Ins toggle field insert mode
Del delete character at cursor
BackSpace delete character left
Ctrl-BackSpace delete word left
Ctrl-R restore field to original contents
Ctrl-T delete word right
Ctrl-U delete to end of field
Ctrl-Y delete to end of last field
Esc abort QQSL (but you'll get a chance
to change your mind)
Note that all the above edit keys will work the same with the
Modify function.
The first time you use the Add/Create function, the date will
automatically be initialized to today's date and the time will be
set to 0000 UTC. These can be adjusted as necessary and will not
revert to the initialization settings until you Quit the program
and then restart it.
Add/Create input is as follows:
Call Sign
---------
Enter the full call sign. Although I have never heard a call
sign with more than twelve characters (more on that later), QQSL
will accept up to 15. The letters "A" - "Z", the numbers "1" -
"0", and special characters "/", and "-" are the only valid
characters allowed in this field. You're probably asking your-
self, "Why the dash (-)"? You'll find out later in my section
entitled "Miscellaneous Stuff". Other than the above characters,
call signs are not validated so be sure to "eyeball" each entry
carefully before proceeding to the next field.
SPECIAL NOTE: The Call sign field has one unique difference from
other fields. Rather than describe this difference in great
detail, I'll just summarize it and let you "play" with this field
on your own to gain full understanding. Briefly, after you press
[F6] to save a label, you'll notice that the cursor is now posi-
tioned directly to the right of the last call sign entered rather
than at the beginning of the field as it will be on all other
fields. You now have two choices . . .
(1) Start typing the next call. You'll notice that the old
call sign is automatically blanked and the cursor shifts to the
left, or
(2) Use any of the edit keys described above to modify the
call now in the Call sign field.
QQSL will decide with the FIRST keystroke whether you are enter-
ing a new call or modifying the old. There are a number of
reasons why I set up this field to behave this way. The most
important is that I found touch typists (such as myself) tended
to not notice that they were entering short calls incorrectly
after entering longer calls. For example, if I were to [F6] to
save a label for WA6XYZ and then immediately start typing a label
for KC4B, the Tab or Enter key which I pressed following the "B"
would leave the letters "YZ" behind, thereby creating a label for
KC4BYZ! Two-finger typists will probably never appreciate the
effort I went through to handle the Call sign field in this
manner, but touch-typists will!
MHz
---
QQSL recognizes 1.8, 3.5, 3.8, 7, 10, 14, 18, 21, 24, 28, 50,
144, 220, and 440 as valid entries. Anything else will be reject-
ed.
Mode (A, C, F, P, R, or S)
--------------------------
These letters indicate (A)MTOR, (C)W, (F)M, (P)acket, (R)TTY, and
(S)SB. Enter the appropriate letter and the remainder of the
mode will be automatically displayed. I realize I've left out
the satellite and SSTV modes, but I didn't think there would be
enough demand for these. If there are any users who would like
to see these modes, please let me know.
RS(T)
-----
Any valid RS(T) will be accepted. But, QQSL crosschecks RS(T)
against mode and will generate an error message for inconsistent
reports. A 599 report for an SSB QSO or a 59 for a CW QSO are
examples of such reports which will not be accepted.
Day
---
01 - 31. Invalid days will be rejected.
Month
-----
01 - 12. Invalid months will be rejected. If the day is "31",
QQSL will not accept 02, 04, 06, 09, nor 11. If the day is "30",
QQSL will not accept 02. Note: The month will be converted to
Roman numerals on the label, which will result in a date which is
formatted correctly for any country in the world!
Year
----
45 - 99 are the only valid years at this time. If you have
entered "29" as day and "02" as month, only a leap year will be
accepted. The two-digit year will be preceded with "19" on the
label. If this program (and me) are still around in the year
2000, I'll change this <HI!>.
Time
----
Enter the time in UTC (old GMT). Invalid times will be rejected.
QSL, (P)lease or (T)hanks
-------------------------
"P" or "T" only. Invalid characters will be rejected.
[F6]
----
Press the [F6] key to save the completed label (you do not need
to be at the end of the Add/Create form to press this key). The
bulk of the field edits are performed at this time. You'll get an
error message and "down tones" if there are errors, or you will
get "up tones" if all is OK and the label was saved. Note: After
pressing [F6] to save the label, you'll notice that all fields
are still on the form. This information may be re-used as neces-
sary for the next label!
[F10]
-----
Press the [F10] key to go back to the main menu. Should you
later decide to return to the Add/Create function, all label
information from the last time you used the function will still
be usable.
QQSL was written so that system crashes will not cause you to
lose files! For example, you're an avid contester in W6-land who
is in the process of entering QSL label information for 600 JA
QSL's which just arrived from the bureau. These labels are being
Added to an existing QQSL.LBL file which already contains approx-
imately 200 labels. Suddenly, there's a brief power interrup-
tion! In this situation, normally you would have lost the entire
QQSL.LBL file, including the 200 labels from your previous ses-
sions!! Trust me - these situations in which a computer user
loses all his or her work because of hardware failure are quite
common! Therefore, I have written QQSL in such a manner that it
will never lose more the single label which you are currently
working on, and I have extensively tested this feature! Prove it
to yourself - start a new QQSL.LBL file by entering a few ficti-
tious labels. Then, switch off the computer as you are entering
the information for a new label. After you turn the power back
on, go directly to the Print function and print out the test
labels. You'll see that only the label that you were working on
when you threw the switch was lost! This might seem to be a
minor feature to some of you, but if you have ever lost a couple
of hours of work from a system crash, you'll appreciate the
effort I put forth to install and test this capability!
Count labels
============
This function is self-explanatory. It's a good idea to invoke
the Count function from time to time to see if the label file is
the size that you normally like to print. Additionally, the Sort
function (described below) will not sort an unlimited number of
labels. If you have a LOT of labels in your QQSL.LBL file, this
function will let you know that it is about to exceed the number
of labels that the Sort can handle. Count displays the count
continuously as it counts the labels in the QQSL.LBL file. I set
it up this way just because I thought it looked neat! If you are
counting a small number of labels, this feature won't mean much.
But, if you're counting a lot of labels, it's fun to watch the
numbers spinning!
Delete QQSL.LBL
===============
This function would normally be selected after you have printed
out your current label file. When selecting this function,
you'll see:
Delete QQSL.LBL...are you sure? [y,N]
This prompt is provided in case you've accidentally pressed the
"D" key or in case you might now wish to change your mind. You
may now press "Y" to delete QQSL.LBL or "N" if you wish to keep
the file. TIP: I recommend that you keep a copy of PCTools,
Norton Utilities, or some other utility program which allows
"undeleting" files, and that you know how to use it! Then, if
you delete QQSL.LBL and discover that you need it back for any
reason, immediately stop whatever you're doing and attempt to
recover the deleted file. Note that it is very important to
recover a file as soon as you discover that you need it back, as
DOS will write data over your deleted file sooner or later, at
which time it is no longer possible to undelete it! By the way,
this undeleting program will have many uses beyond QQSL, as I'm
sure you realize!
Tip: Don't delete QQSL.LBL until all the labels have been re-
moved from their backing and are affixed to your QSL cards. This
way, individual labels can be reprinted if they become "messed
up" in any way.
Modify QQSL.INF
===============
INF stands for INformation File. The information which prints on
the last two thirds of the fourth line and all of the fifth line
can be either permanently or temporarily modified by this func-
tion. A sample QQSL.INF file has been delivered with QQSL.
Selecting Modify will allow you to change either line 4 or 5,
both lines, or neither (should you change your mind). Changes
can be either temporary (used for this run only) or permanent
(written to QQSL.INF). Note that changes to QQSL.INF file will
apply only to labels created AFTER the change and that labels
created before Modifying QQSL.INF are unchanged.
The Modify form is very straight-forward, and is actually simpler
to do than describe. Note that all of the edit keys shown above
in the description of the "Create label file (or) Add new labels"
section will also work the same in the Modify function.
The QQSL.INF which came with QQSL contains my personal choices
for use on lines 4 and 5. The first time you use QQSL, you MUST
Save permanent [F6] to the QQSL.INF file. The new information
that you enter is displayed as part of a sample label in order
that you may easily visualize the printed label. If you are not
comfortable with this, Modify lines 4 and 5 and then Create and
print a sample label or two.
NOTE: Lower case letters are NOT converted to upper case for
lines 4 and 5.
Save temporary [F2] will save the modified lines 4 and 5 for use
during this QQSL session only, whereas Save permanent [F6] will
all use of the modified lines 4 and 5 during this session and
will also write the new lines to your QQSL.INF file. Be careful
with Save permanent, if you think you might want to save the old
QQSL.INF file for future use, you should make a backup copy of
QQSL.INF before pressing [F6]. If you type some changes but then
decide you want the label as it was, press either [F10] to return
to the main menu or <Esc> to exit the program BEFORE you press
[F2] or [F6].
NOTE: I have probably made the Modify command sound more compli-
cated than it really is. Play around with it and you'll see that
it's very simple.
Print all labels
================
QQSL starts out this function by printing out a dummy label and
then asking:
Print another? [Y,n]
Use the dummy labels to line up pin feed labels in your printer.
Each time you press Enter or "Y", QQSL will print out another
dummy label. Note that this is also a good time to turn on your
printer's near letter quality (NLQ) capability, if you have it.
Doing so will make the labels look MUCH better. After you have
properly lined up the labels, enter "N" and QQSL will begin
printing labels. A count of the number of labels printed is
displayed on the screen and is continuously updated. This count
will not coincide with the label currently being printed if you
have a print buffer or spooler, but in all cases the end count
will reflect the actual number of labels printed.
The dummy label uses the same printer fonts which will be used
for "live" labels. If you have used the /0 parameter to slash
zeros in the call sign, this slash will also appear in the first
line of the dummy label.
Sort labels
===========
This function will sort the QQSL.LBL file in alphanumeric order
by call sign. Your old QQSL.LBL file will be renamed QQSL.BAK
and saved in the current directory (or floppy diskette). This
backup file is created for the unlikely situation that something
goes wrong during the sort. The only thing I have found that
would cause a problem with the Sort function is if SORTF is not
in the current directory or in the "PATH" as described earlier,
in which case the sort simply will not work. Should this happen,
you'll find that you no longer have a QQSL.LBL file, but the new
QQSL.BAK file can be renamed QQSL.LBL and used for further proc-
essing! Should this happen to you, be sure to correctly install
SORTF before using the Sort function again!
During development, I tested the Sort function on a 640 KB "AT"
clone with no expanded memory and a minimum of TSR's (Terminate
but Stay Resident) programs installed, and I was able to sort
14,000 labels with no trouble. My suggestion though is that you
should consider the maximum sort capability to be 10,000 records,
or less if you don't have the full 640 KB of RAM. Tip: If
you're going to sort 3,000 or more labels, you may as well take a
break as this many labels will take a while to sort, especially
if you have a slow computer!
It's probably a good idea to not use the Sort function if your
files are all stored on floppy diskette. This is because the
Sort creates two additional files, QQSL.TMP and QQSL.BAK, which
are both the same size as QQSL.LBL. Of course QQSL.TMP is delet-
ed before the Sort is finished, but nevertheless the space needs
to be available during the process. Additionally, the files
QQSL.EXE and QQSL.INF must also reside on the same diskette.
All-in-all, as your QQSL.LBL file grows, you may find that there
is no longer space to sort on floppy diskette. I leave it up to
you, but be VERY careful!
Note that neither the U.S. nor the DX "Callbook" is sorted in a
true alphanumeric order, so if you are surprised when the labels
print out in an unfamiliar order, this is the reason. As an
example, the "Callbook" will show these random calls in this
order:
WA2XYZ, N5XYZ, K6ABC, AA7XX . . .
Whereas QQSL will sort the same labels in this order:
AA7XX, K6ABC, N5XYZ, WA2XYZ . . .
The above example is an extreme example of the differences be-
tween an alphanumeric sort vs. the "Callbook" sequence. The
reality of the situation is that the sequence produced by the
Sort function should be quite acceptable to you and is a LOT
better than no sequencing at all! You'll also discover that DX
label sort fits the sequence desired by the various outgoing QSL
bureaus quite well. FYI, one of the enhancements I'm thinking
about for the future is a Sort function which will sort in
"Callbook" sequence. But, my expectations are that this will be
a difficult modification!
* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
This seems an appropriate time for me to give a great big THANK
YOU to Vernon D. Buerg, N6MG for his permission to incorporate
his program SORTF into my QQSL program. Without this, I would
have been forced into writing and debugging my own code to sort
labels, and the resulting sort would have been slower than Vern's
program and probably wouldn't have been able to sort as many
labels! Additionally, QQSL would have been delayed while I
worked on my Sort function. So thanks Vern! And, all you users
be sure to read the SORTF.DOC which accompanies QQSL. You'll see
that SORTF has many applications beyond just sorting QQSL labels
and will be an important addition to your utility library! And,
if you use SORTF, please be sure to register it with Vern.
Details are in the SORTF.DOC file. Note: Vern is probably
better known as the author of the great shareware program, LIST!
* - * - * - * - * - * - * - * - * - * - * - * - * - * - * - * - *
Quit program
============
This function is self-explanatory!
LABEL INFORMATION
=================
QQSL prints on standard 3-1/2" X 15/16", 1-up labels. The first
line of the label (the call sign) is printed using a wide font (5
characters/inch) and the remaining four lines are printed with a
compressed font (17 characters/inch). No other QSL label program
that I've seen uses multiple fonts to print labels! An Epson
compatible dot matrix printer is assumed. I've tested QQSL on
both a Panasonic KXP-1091i and a number of Citizen dot matrix
printers, and it works fine on all. If you're using a non-Epson
compatible printer, give QQSL a try anyway to see what happens -
you won't hurt the printer. If the labels come out "bad", check
the manual to see if the printer can be reconfigured to the Epson
mode through "dip" switch settings.
If you have a Near Letter Quality (NLQ) mode on your printer, use
it. Although NLQ slows the printer down, the labels will look
MUCH better!
The following table illustrates the label's first line, with the
format being determined by the length of the call.
Letters
in call Format
------- ------
1 - 5 *.*..W6XYZ..*.*
6 - 7 *.*.W6XYZ/4.*.*
8 - 9 *..KL7/W6XYZ..*
10 - 11 *.VP2M/WA6XYZ.*
12 - 15 REAL-LONG-CALL!
Periods (.) represent blanks.
The first line (shown above), second line, third line, and first
10 characters of the fourth line are automatically generated by
QQSL. The last 41 characters of the fourth line and all of line
five are composed of the characters from the file QQSL.INF which
must be in the same directory or on the same floppy diskette as
QQSL.EXE. As described earlier, use the Modify function to make
changes to the QQSL.INF file. The sample QQSL.INF accompanying
QQSL is reproduced here in its entirety, between (but not includ-
ing) the lines of asterisks:
*****************************************************************
, 73 de Bill - AA4M/6 Rig: IC-781,
Alpha-78, KT-34A up 17 meters, IBM 386/25, & PK-232
First line maximum is 41 characters.
Second line maximum is 51 characters.
Any characters beyond these, even if these are only spaces, have
the potential to screw up the label. But, any line after the
second is ignored by the program. These areas can be used for
comments (as you can see - Hi!).
HINT: Use QQSL's Modify command rather than your word processor
to change the first two lines in this file - it's much safer!
*****************************************************************
HISTORY
=======
Version 1.0 (10/18/89):
- Initial release.
Version 2.0 (01/25/90):
- QQSL no longer prints each label as it is entered, instead
a file named QQSL.LBL is created on hard disk (or floppy
diskette). This file can be added to, printed, etc., as
necessary.
- The QQSL.INF file can now be modified from within QQSL.
- Labels can be counted before printing.
- Labels can be sorted before printing.
- Labels are counted as they print.
- Three new modes have been added.
- Seven new bands have been added.
- A separate copyright screen has been added.
- The program is now Shareware.
- Advertisement message added to end. You can register QQSL
to make it go away <HI!>.
- The "C" source is no longer included.
- MASSIVE documentation changes were made.
Version 2.1 (Not released to the public):
- SORTF 2.35 replaces SORTF 2.32.
- Fine tuned some of the routines.
Version 3.0 (09/09/90):
- Windowing techniques, bar menus, and input forms, have been
added. QQSL is now a VERY "user-friendly" program.
- Extensive use of colors. QQSL now looks great.
- QQSL wallpaper added to all screens. Thanks to Microsoft
Windows 3.0 for the inspiration!
- Changed QQSL.PIF to QQSL.INF in order to prevent any
confusion when using Microsoft Windows.
- Changed QQSL.LOG to QQSL.LBL to eliminate a naming conflict
within CXL.
- RS(T) no longer limited to 59 or 599.
- Extensive user edit control is now available in the Modify
and the Add/Create functions.
- Modify is easier to understand since a sample label is now
shown as part of function.
- All fields in the Add/Create form remain after label is
saved. This will greatly speed up data entry when input
is grouped logically.
- Data edits are much more thorough than in earlier versions.
- Meaningful sounds added. Parameter included for those who
like a silent computer.
- The <Esc> key will now get you out of just about anything.
Should it ever fail, try Ctrl-C or Ctrl-Break. In an
emergency, the "3-finger salute" should do the job <HI!>.
- Print limited to three labels for unregistered programs.
Sorry, I hate "crippled" programs as much as the next
person. But even though I have fielded hundreds of
questions relation to version 2.0, registrations have
been dismal. This is the only way I have to "fight back"!
- MASSIVE documentation changes (again).
THINGS TO COME
==============
A handy modification would be the ability to automatically deter-
mine that a label is for an SWL report rather than a 2-way QSO.
Although I don't see a lot of SWL cards here on the west coast, I
vividly remember all those SWL cards from the eastern Europeans
and Russians back when I lived in 4-land! If anyone is interest-
ed in this option, a little feedback might be just the thing to
get me started!
Sorting according to the "Callbook" sequence would be a great
enhancement! This may have to wait for a while though as it is a
FAR MORE complex modification than it may appear to the casual
user.
I'd like to be able to totally eliminate the QQSL.INF file by
writing lines 4 and 5 back to the program itself. I'll do this
as soon as I figure out how!
One thing I've noticed about color computer programs is that
everyone likes color but that no one is ever satisfied with the
authors color choices. I'll see what I can do about allowing
user-configurable colors.
If anyone is interested, I'll add mouse support and/or the capa-
bility to print 2-up, 3-up, or even 4-up labels. Let me know!
Other enhancements/revisions/corrections to QQSL will be released
as necessary.
MISCELLANEOUS STUFF
===================
1) My personal QSL card wasn't designed with the idea of
using QQSL labels. But, the card was conveniently arranged in
such a way that the overall card looks good when I put it over
the preprinted QSO information block. On this subject, I recent-
ly received a QSL from an old friend of mine back in "4-Land"
whose call is KC4B. John wanted to show me his new QSL card.
This card had the QSO block on the front, but he had overlaid the
block with a QQSL label, and it looked great! It seems this card
was designed with the idea that a user might like to either fill
out the card himself OR use a label. John went on to tell me
that this QSL was not a custom design, but one of many styles
made with this "dual function" in mind. This QSL card came from
"QSLs by W4MPY" in Monetta, SC. If this kind of QSL interests
you, write for samples to the address from W4MPY advertisements
in the ham publications. While at it, you might write to a few
other QSL printers for samples. My guess is that we'll be seeing
more and more of this kind of QSL in the future, especially if
QQSL gets passed around <HI!>.
2) In early 1990, I had QSOs with two of the longest calls
I have ever heard on the amateur bands! This first call was
KB9BAF/KP2/T, a total of twelve characters. The call belonged to
a technician class amateur operating portable from the American
Virgin Islands. The second was ZB2/HB9DCQ/P, a Swiss amateur
operating portable from Gibraltar. This call also consisted of
twelve characters. If anybody has ever worked a real-life valid
call (not a hypothetical call) longer than either of these, I'd
be interested in hearing about it. By the way, QQSL had no
problems generating labels for either call!
3) During a QQSL test session, I decided to make changes to
the QQSL.LBL file using my word processing (WP) software. Of
course I used (N)on-document mode, as you should if you want to
modify any individual labels with your WP software. If you use
the (D)ocument mode, QQSL will no longer be able to read the
QQSL.LBL file! Anyway, after making changes to only one label, I
found that QQSL would no longer Add to the file. It took a LONG
time for me to figure this one out, but I finally discovered that
my WP software had added some "padding" characters (hex charac-
ters $1A - I think) to the end of the QQSL.LBL file in order to
bring the total number of characters to a multiple of 128. Why
it needed multiples of 128 for a (N)on-document file I have no
idea. Anyway, I changed the WP setup so that it no longer added
these padding characters and I can now edit the file with my WP.
The moral of this story is that you MUST BE SURE to make a backup
copy of your QQSL.LBL file before making any changes with your WP
software, at least until you are confident that your label file
won't be "clobbered" by your WP! For those interested, my WP
software package at that time was WordStar, version 5.5. If
you're using this WP software and can't figure out how to elimi-
nate the padding characters, get in touch with me and I'll be
glad to help.
4) I played around with double-printing the first line of
the label in order to emphasize the call sign. But, I discovered
that various "Epson compatible" printers handled this part of the
program differently (what worked on one was ignored by the
other). After spending an inordinate amount of time on this
potential enhancement, I decided to abandon it rather than re-
lease a program which might not work in a particular user's
environment. This was unfortunate, because when it worked - it
looked good!
5) I mentioned earlier that the character "-" was accept-
able in the Call sign field. The reason for this is that SWL
calls commonly use this character. As stated above, in the
future I may modify the program to automatically format labels
for SWLs. But for now, the following steps will create a label
suitable for SWL confirmation:
A) Enter the QSO information on the Add/Create form just
as if it was 2-way QSO.
B) When you're finished entering all label information,
Quit QQSL and edit the QQSL.LBL file using the (N)ondocument mode
of your favorite word processor. Note: You MUST use (N)ondocu-
ment mode as described in #4 above or you'll clobber the QQSL.LBL
file! If in doubt, make a backup copy of QQSL.LBL before pro-
ceeding.
C) As you view the label file with your word processor,
you'll notice that call signs all line up in a neat column
against the left margin of the QQSL.LBL file, thereby making it
quite easy to locate SWL calls. For each SWL label:
(1) delete the phrase "2-way",
(2) change the word "contact" to "report",
(3) delete the phrase "Your signal was RS(T) 599",
and
(4) DO NOT delete the tilde (~)!
These steps will leave a label which is perfectly suitable for an
SWL confirmation. If all this seems too complex or you aren't
comfortable with these instructions for any reason, run a small
test with only a label or two before taking a chance on using a
large label file!
6) Version 1.0 of QQSL was originally released as free (but
copyrighted) software. I even included the "C" source code for
those of you that wanted to "tinker" with the program. That
version of QQSL represented about 400 lines of source code.
Version 2.0 grew to 1,000 lines of source and Version 3.0 is now
at 1,500! This program has taken me MUCH more effort than I had
originally planned, and for a project that originally began as a
personal learning effort, it has really gotten out of hand!
Those of you who are programmers know what I mean. Because of
this effort, starting with version 2.0, I withheld the source
code and made the program Shareware. If you find that you need
the source for any reason, let me know - we'll discuss it!
7) If you have access to a Price Club, I recommend you
purchase your continuous-form labels there. A box of 5,000 3-
1/2" X 15/16", 1-up labels retails for about $9.00. I've checked
quite a few local retail stores and a few mail order houses and
haven't found any prices better than this. 5,000 labels will
last you a long, long time <HI!>.
8) This paragraph is not directly related to QQSL, but
important enough that I felt I should include it. It is EXTREME-
LY URGENT that you backup your data! If you know this and al-
ready have a suitable backup schedule in place, skip the rest of
this paragraph. But, if you're not in the habit of backing up
your data on a routine basis, you're going to get stung some day,
BAD! If you have a floppy-only system, backing up is as simple
as using the DOS DISKCOPY command. For those using a hard disk,
the least efficient but simplest way is to backup files is with
the DOS COPY command. Next is through the use of the DOS BACKUP
and RESTORE commands. At my office, I personally use and recom-
mend Fastback Plus, of which version 2.10 is the latest. I have
lost the entire contents of my hard disk SIX times over the last
three years, but never lost more than an hour or two of work
thanks to Fastback! I have also used the backup program included
with PCTOOLS 6.0, and can state that I think this program will be
BETTER than Fastback once the authors correct some minor bugs.
But, I can't recommend PCTOOLS backup programs older than Version
6.0 as I have no experience with these. If you find that you
have a LOT of data on a BIG hard disk and that the act of physi-
cally swapping floppy diskettes is forcing you to attend backup
sessions of 20 minutes or more, you're a candidate for a tape
backup! I'm now using a 150 MB tape backup system on my system
at home, and can honestly say that I'd never again backup more
than 20 MB or so to floppy diskettes. Tape is definitely the way
to go if you have a lot of data!
ABOUT SHAREWARE
===============
Shareware distribution gives users a chance to try software
before buying it. If you try a Shareware program and contin-
ue using it, you ARE expected to register!
Copyright laws apply to both Shareware and commercial software,
and the copyright holder retains all rights. Shareware authors
are accomplished programmers, just like commercial authors, and
the programs are of comparable quality. (In both cases, there
are good programs, bad programs, and indifferent programs)! The
main difference is in the method of distribution. The author
specifically grants the right to copy and distribute the soft-
ware, either to all and sundry or to a specific group. For
example, some authors require written permission before a com-
mercial diskette vendor may copy their Shareware.
So, Shareware is a distribution method, not a type of soft-
ware. You should find software that suits your needs and pock-
etbook, whether it's commercial or Shareware. The Shareware
system makes fitting your needs easier, because you can try
before you buy. And because the overhead is low, prices are low
also. Shareware has the ultimate money-back guarantee - if you
don't use the product, you don't pay for it!
REGISTRATION
============
You are granted a license to try this program for a period of one
month. If you continue to use it after the trial period, you
must register by sending the registration form and the fee of
$14.95 (U.S. funds or 30 IRC's) to the author as shown on the
registration form. Prior to registration, you'll find that the
Print function is limited to three labels. Sorry - I hate
"crippled" programs as much as the next person, but even though I
have fielded hundreds of questions relation to version 2.0,
registrations have been dismal! This is the only way I have to
"fight back"!
On the same subject, you may pay MORE than $14.95 if you think
the program is worth it. I know that some of you are laughing,
but please believe me when I say that I won't make a profit on
this program, even if ALL those who register were to pay more
than the suggested amount! The time and effort required to
produce this code and personal expenses for both hardware and
software has been tremendous!
Registration is for life, meaning that all future upgrades will
be covered by a single full registration fee! With registration,
you'll receive a registration number and a 360 KB, 5 1/4"
floppy diskette with a copy of QQSL which is not limited to
printing three labels and which does not print out the 30-second
advertisement when you Quit the program.
Note: Except for the end advertisement and the limited Print
function, the evaluation and registered copies are identical.
REGISTRATION FORM
=================
To register QQSL, please send this form and $14.95 (U.S. funds or
30 IRC's) to:
Bill Mullin - AA4M/6
3042 Larkin Place
San Diego, CA 92123-3026
U.S.A.
NAME: ____________________________________ Call: ____________
ADDRESS: ________________________________________________________
________________________________________________________
Where did you get your copy of QQSL?
( ) CompuServe CIS User ID: _______________________________
( ) BBS (please give name and number): __________________________
( ) Other (please specify): _____________________________________
Which version of QQSL are you using? ____________________________
Comments/Suggestions: ___________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
_________________________________________________________________
Thank you for registering QQSL!
UPGRADES
========
All fully registered users are entitled to free upgrades to the
latest version of QQSL. It can be downloaded from CompuServe's
HAMNET Forum, Library 0 (New Uploads) or Library 6 (Programs). A
search for (KEY)word "QQSL" will find the program, for example:
BRO/DES/KEY:QQSL. Additionally, many of the ham radio oriented
BBS's across the country will have copies of QQSL available for
downloading. The following BBS will always have the latest
version, uploaded directly by me:
RadioSport (619) 279-3921
You can also get the latest version by sending me a formatted 360
KB, 5 1/4" floppy diskette and a postage-paid mailer.
TECHNICAL SUPPORT
=================
If you have any questions or comments about QQSL, good or bad,
write to:
Bill Mullin - AA4M/6
3042 Larkin Place
San Diego, CA 92123-3026
U.S.A.
I can also be reached via EZ-Plex on CompuServe. My user-id is
[72220,2707]. NOTE: If you wish to contact me via CompuServe,
please DO NOT leave mail in the HAMNET Forum. I seldom read
forum mail, as I've discovered this practice becomes habit-
forming and TERRIBLE things happen to my monthly bill <HI!>. I
can also be reached via E-mail to user BILL MULLIN on the Radio-
Sport BBS in San Diego, (619) 279-3921 (US Robotics HST). Addi-
tionally, if you use Interlink Worldwide Electronic Mail, you can
post mail to user BILL MULLIN via the HAM Conference. You may
also call me at my home (619) 292-7227, but please be aware that
if you get my telephone answering machine, I won't call you back.
My intention is not to be rude, it's just that the $14.95 regis-
tration fee won't be adequate to cover expenses if I start making
long distance phone calls. Tip: My telephone recorder answers
on the fourth ring the first call and on the first ring for each
additional call. Normally, you can hang up after the third ring
and not get caught by the machine!
Please include your registration number with all correspondence.
BCNU
====
I hope QQSL fills a need in your ham/computer shack and that you
have as much fun using it as I had writing it! For now
though . . .
73 es gud QQSLing de Bill, AA4M/6