Classic Computer Magazine Archive COMPUTE! ISSUE 38 / JULY 1983 / PAGE 242

TI Mailing List

Doug Hapeman

This program can be used for developing small mailing lists, for families or for organizations. There are ten options, including printing a single label or an entire alphabetized mailing list. For the TI-99/4A.

Have you ever kept a file of addresses on index cards, hoping to organize them someday in an orderly fashion? It sounds simple, but in practice you know how difficult it is to organize and update a paper-based filing system. "TI Mailing List" offers you an easy method of creating, maintaining, and utilizing a mailing list file.

Without any programming experience you can keep an up-to-date, well-organized file. The program will prompt you step-by-step through the entry of names, addresses, and phone numbers. Then, with a few simple keystrokes, you can update your file, print lists in two different modes, or save your file on a storage device. It's that easy.

TI Mailing List is designed specifically as a family mailing list, but is flexible enough to accommodate a number of applications. The program will store last names, first names, children's names, addresses, and phone numbers.

The program is written in a Canadian format, that is, Province and Postal Code. However, the format can be easily adjusted to the American system as you type in the program.

Program Environment

The program is set up for 45 entries. After 45 entries you will be given the message *DATA FILE IS FULL*. This feature will prevent your program from crashing with a MEMORY FULL error message. If you have more than 45 addresses to enter, you may easily divide your list into two or more files – for example: (A - L) and (M - Z).

When you RUN the program, the initial title screen appears. The next display permits you to initialize the printer. Be sure to enter the proper name and spelling of the device you're using, because an improper name will cause the program to break when you attempt to address the device later in the program.

Ten Options

Once the computer "environment" is established, you are taken to the Main Index. Here you will discover ten options:

  1. View Names List
  2. Search For a Name
  3. Add Names
  4. Change Names
  5. Delete Names
  6. Alphabetize List
  7. Save Data File
  8. Load Data File
  9. Print Labels/List
  10. Finish Session

Of course, to create a mail list you would first choose option 3 (Add Names). The other options will enable you to update, maintain, and utilize an existing file. The program will guide you step-by-step through the procedure for each option. There are many helpful features, such as the Search, Change, and Delete. You can also enter names and addresses in any order, and then, by choosing the Alphabetize option, have the computer sort them for you.

The Data File

The program is written to both save and load data files for either cassette or disk storage. When you choose either the Save or Load option, you will be given any further step-by-step instructions.

Print Options

The program offers you two print options – one for mailing labels, and the other for the mailing list.

The Print Labels option will print the first name, followed by the last name, and then the address on lines two and three. For example:

John Doe
1234 Street Address
City Province Postal Code

The Print Mailing List option will print the last name first, followed by the first name and children's names, with the address on line two, and the phone number on line three. For example:

Doe, John Mary Joe/Sally
1234 Street Address City Province Postal Code (p)-444/4456

Line spacing between addresses is flexible via a minor program change. If you wish to alter the line spacing, program lines 497 (labels) and 517 (list) may be adjusted by either increasing or decreasing the number of colons (:) at the end of each line. Each colon represents one line space. For example:

#497 PRINT #2 : TAB(5);NA$(I);"    ";LN$(I) :
       TAB(5);AD$(I):TAB(5);CP$(I);"    ";PC$(I):::: (Add or delete colons here.)

In the Print Labels option, you may wish to print two labels per line instead of one. If so, you should adjust the line listing as follows:

(Chg) #487 FOR I = 1 to N STEP 2
(Chg) #497 PRINT #2 : TAB(5);NA$(I);" ";LN$(I);
TAB(45);NA$(I+1);" ";LN$(I + 1):TAB(5);
AD$(I);TAB(45);AD$(I+1)
(Add) #498 PRINT #2 : TAB(5);CP$(I);" ";PC$(I);
TAB(45);CP$(I+1);" ";PC$(I +1)::::

The Search option permits the printing of a single mailing label. After finding the name you are seeking, the display asks if you would like a mailing label printed. If yes, the program branches to the print routine and then returns to the search option.

TI Mailing List Program Structure

Line Nos.

1-21 REMs and computer environment.
23-47 Main loop, main index.
49-73 Subroutine to view names.
75-109 Subroutine to search for a name.
111-181 Subroutine to add names.
183-285 Subroutine to change data.
287-331 Subroutine to delete names.
333-423 Subroutine to alphabetize list.
425-441 Subroutine to save data.
443-471 Subroutine to load data.
473-521 Subroutine to print.
523-533 Subroutine to finish session.