Classic Computer Magazine Archive ANTIC VOL. 7, NO. 9 / JANUARY 1989

Mighty Lister

Mighty Mailer becomes an inventory database

By Philip Bate, Ph.D.

Mighty Lister is a short patch that converts Antic's popular 1987 Mighty Mailer software into a fast, powerful inventory database. This BASIC program works on all 8-bit Atari computers of any memory size, with disk drive.

Need a program for a specialized job? Your Antic Magazine files probably have programs that are at least close to what you want. Or maybe there are a few good machine language subroutines in these files that you could incorporate into a simple BASIC program that you write to do the job.

I needed a program to keep track of an inventory of spare parts along with where they were stored, plus a video tape inventory to find recordings quickly. I looked at several databases ranging from the very versatile but somewhat complex Antic Data-X (Super Disk Bonus, May 1988), right down to the simplest filing programs. They were either too complicated and time-consuming, or too simple with slow recall.

But as the author of Mighty Mailer (Antic, September 1987), I thought I might be able to re-write it for what I wanted. Mighty Mailer has a fast random access subroutine in machine language and a simple I/O subroutine. Both of these would be necessary for what I wanted.

The first step was to LIST the program file to a word processor and make a printout. I then went over it to see what needed changing for conversion into an inventory control database. I was surprised to find that I could even use Mighty Mailer without changing it at all, because it already operates as a database. But, since I had several new jobs for the program, I decided to modify it into a separate listing.

Mighty Mailer has now become a very fast inventory program, with the same lightning recovery speed as the original mailing-list printer. Mighty Lister can be used to inventory almost anything – from the contents of record albums or video tapes to spare parts in a specific part of a warehouse.

I use Mighty Lister to inventory all the spare parts carried aboard a world cruising yacht, cross-referencing each spare part with its exact location on the yacht. Using Mighty Lister, I can scroll by item, by part number or by partial description. I can also list out all the spares stored in the forward starboard hatch, etc.

Mighty Lister is not just an inventory program. It's a fast and simple database for use in standard recordkeeping tasks. How often do you need a very complex database, instead of one that just makes it easy to keep track of office furniture or warehouse inventory, or even home uses like music cassettes or video tapes?


Owners of this month's Antic Disk will find the complete Mighty Lister available as LISTER.BAS.

If you already have Mighty Mailer but do not own this month's Antic Disk, you can just type a short patch and merge it into your original listing. Do this by typing Listing I, LISTRMOD.LST, check it with TYPO II and LIST it to disk under the filename "D:LISTRMOD.LST". LOAD your original Mighty Mailer program and ENTER "D:LISTRMOD.LST". Be sure to SAVE the merged file back to disk as "D:LISTER.BAS."

We also published Mighty Lister as a standalone type-in listing in this issue. Type Listing 2, LISTER.BAS, check it with TYPO II and SAVE a copy before you RUN it. If you have trouble typing the special characters in lines 70-84, don't type them in. Instead, type in Listing 3, check it with TYPO II and SAVE a copy. When you RUN Listing 2, it creates these hard-to-type lines and stores them in a file called LINES.LST.

To merge the two programs, LOAD "D.LISTER.BAS" and then ENTER "D:LINES.LST". Remember to SAVE the completed program before you RUN it.

The modification process was not too difficult. Many of the changes are simply cosmetic. Title changes for items such as names/addresses are self explanatory when compared to the original listing. I didn't bother to change the REMs, which purists will probably want to do.

However, there are a few modifications that need explanation. I like a title page, so I added lines 33 and 36. Since this is now an inventory program, a routine is needed to print listings from any specific locator. For example, suppose I want to find out the contents of Bin 4 in the warehouse. I want to enter that storage identifier and print all items found in that location. This was simple because the subroutines were pretty much in place akeady. I just had to add lines 282, 284 and 286.


One other significant modification was required. The Search Subroutine at lines 1150-1200 was designed for names and addresses on a mailing list, so it "jumps" backwards 30 spaces after finding the locator match, and then looks forward from that point to find the "next" double carriage return at the beginning of the desired entry. The following double carriage return is the end of the desired entry. This cute backjumping trick lets you find a complete name/address entry in any portion of the entry.

But, for an inventory list with short entries, this means that the wrong entry could be printed. So, I changed line 1160 so that the "jump" backwards is only 10 characters. If your entries are very short, you might wish to shorten that jump even further by changing the number after the "-" sign in that line.

Mighty Lister is just as simple to use as Mighty Mailer was. Any entry is limited to 255 characters – letters, numbers, or symbols. Press the [RETURN] key twice to separate entries. Otherwise, if you just follow the menu choices you should be able to operate Mighty Lister without problems. If you need more detailed instructions, see the original Mighty Mailer article on pages 30-32 of the September 1987 Antic.

The important principle here is that two seemingly different applications were really very similar. Look at program listings to try figuring what they really do logically This could give you ideas of how to use them in completely different applications. Mighty Mailer is only superficially a mailing program, it is actually a mini database program structured for mailings. When you examine the logical structure of "old" programs this way, you might find many exciting "new" uses for them.

Philip Bate is an orthmolecular psychologist at Cape Kennedy, Florida.