Pro/File 2068 Filing System: An Outstanding Value

Authors

Publication

Pub Details

Date

Pages

See all articles from SUM v3 n5

When Tom Woods released PRO/FILE 2068 so long ago, it appeared to be quite a file system if you could figure out how to use all of it’s features from the meager instructions included with the program. We were all promised that a comprehensive manual was being compiled and would be shipped to all who ordered P/F as soon as it was available. So we waited, and we waited. Finally, after almost a year had gone by, it came! – it was worth the wait!

The program itself was a sleeping giant waiting for someone to master its power and complexities. The manual is an in- depth tutorial on its use, and disassembly. enhancements.

The manual describes the program as being like an “index card” file system with each screen of data (record or file) being a single card. Once the data is put in each record, you can order them alphabetically or numerically and call up any record of your choice just by entering the name in that record – as with the card file. P/F goes it one better by being able to pull up a record by any piece of information in that record.

For example: Suppose you have a mailing list with names and addresses and you want to bring up a record that had the word “NEW” in it but you can’t remember where the word appeared in the address. You can simply enter the word “NEW” and P/F will go and look for any occurance of the word “NEW” and display it on the screen. It may bring it up as being in the name: l. NEWTON, or in the address: 112 VINEWOOD AVENUE, or in the city/state line such as: NEW YORK, NY 10009. I must note here that it is better to stay in caps mode so that there will be no mistake between “new”, “New”, and “NEW”. P/F sees these all as different words.

The records are pulled up lightning fast, and once pulled up, you can change them, print them, or call up the next record with the same search command. Search commands can also be mixed so that you can ask for more than one parameter to be true before a record is displayed by separating each search command by the token “AND”. In the previous example, suppose that we want to display all people living on “VINEWOOD” and also living in “NEW YORK”. We would enter “VINEWOOD AND NEW YORK” in response to the SEARCH COMMAND? “C” prompt.

The main menu displays several parameters such as the number of bytes open (starts with 28000), the file name, the line in which ordering takes place, and the printer format (which lines are sent to the printer and in what order). The bottom of the screen contains the menu: Type “A”to add files, SAVE or LOAD for SAVEing and LOAding of files, AUTO for ordering the files and DEFP which allows you to alter the printer format.

Choosing “A” gives a blank screen with a blinking cursor in the top left corner and a sub-menu at the bottom. You can now enter anything you like in the 15 line by 32 column space provided. The arrow keys allow you to start anywhere you like and the sub-menu gives you commands to delete and insert lines and COPY to your printer. Also, you can edit existing files from this menu. You must remember to place the same type of information on the same line in each record so that the order command can always order the correct data.

Once you enter a file, you will notice there are spaces between the end of your data and the end of your line. Most databases would see these spaces as data and save it as part of the file along with the rest of the data in that file. That wastes a lot of valuable space. In P/F, those extra spaces are ignored. This of course allows much more data to be saved as compared to say, VU-FILE.

The manual goes into great detail on each function available and numerous examples are given to help you understand what is going on. The manual even explains how the program works in a step by step analysis of both the BASIC and machine code programming. Also included are numerous enhancements to make the program more useful.

Enhancements includes Saving a back up copy, adding verification, how to change a file name, how to clear your files, adding an audible tick to your keystrokes, saving paper by not PRINTing blank lines, ordering by more (or less) than the first five characters, disable auto-repeat in add/edit mode, go directly to PRINT from the edit mode without going through the main menu, go from edit to next entry without going to the the main menu, Autosearch improvement, block delete to purge specified files, and block sort to rearrange data.

Personally, I would have liked to have seen all these improvements included with the original, but I can understand how all these improvements would take away from the storage capabilities of 28000 bytes (or characters). A definite must for me are the “Go from edit to next entry without going to the main menu” and the “Autosearch improvement” enhancements.

Use of a “big” printer requires that you enter the code for your interface. Included is code for the Aerco, Tasman, and all Byte-Back interfaces. Also included is a “TALLY” routine which allows you to perform math functions and tabulation on data stored in files.

The only drawback that I could find is the speed at which it orders. As fast as the program finds things, I had hoped that the ordering would be at least as fast. With about 400 names and addresses in each file, it took about 30 minutes to order by Zip Code and print out. Otherwise, I was very impressed with the friendliness of the program, its storage capabilities, and the way it handles files. Of course there are always improvements that you would like to add, and the manual’s explanation greatly aids you in any such endeavor.

We had considered finding a new program to handle our SUM mailing list which would store more names and addresses. The data we had was stored in A$ in a matrix format (200,25,5) and P/F uses d$(28000). From the manual, I was able to determine that each file in P/F was separated by an asterisk, and each line was separated by a character code 1. With a short little program, I was able to convert my data over to d$ and load it into P/F. You must make sure that d$ is the first variable to be dimensioned. I now have all of our list on P/F and love it! We needed something along these lines to help update our mailing list and to order by zip code, which is required for bulk mailing.

We needed a few enhancements of our own to make it fit our needs a little closer. The first thing I added was the go from “edit” to next entry without going to the main menu and the autosearch improvement given in the manual. I found that it didn’t work just right so I added or changed the following lines:

 5015 LET Y$=INKEY$
5016 IF Y$=" STOP " OR Y$=" STEP " THEN ON ERR RESET : GO TO 6000
5020 FLASH 0: PRINT AT 1,C; SCREEN$ (1,c): BEEP .0003,34: IF CODE y$<16 THEN GO TO 5100+CODE y$

Note the BEEP command in the above line. This works much better than the enhancement given in the manual. Also, remove the FOR-NEXT loop at the end of line 5030. I don’t know why its there, but it slows things down a bit. I also added the go directly to PRINT enhancement. One of my own enhancements is the go from ADD a file to ADD another file without going to the main menu”. To do this, add or change the following lines:

    1 LET j=0
15 IF j=1 THEN GO TO 5000
5016 IF Y$=" STOP " OR Y$="NOT " OR Y$=" STEP " THEN ON ERR RE SET : GO TO 6000
6025 IF Y$="NOT " THEN LET J=1

When you are through adding one file and wish to add another, enter the token: “NOT ” and you are immediately given a new file to fill instead of going through the main menu first. This really saves time when you are adding a lot of new names to a mailing list.

For our application, we need to have only current subscribers print out on our mailing labels. To do this, I use the sixth line in the file as the date line which holds the expiration date of each subscription. 8512 means that December of this year is the last issue that will be received. To incorporate this into P/F, we need the current month and year to be entered and compared to the current file to be printed. Also, printer code must be entered to use a large printer. The following lines were added or changed:

     1 LET j=0: POKE 26703, 187: POKE 26704,248: INPUT "Enter today's date (yymm): "m$
2 POKE 23658,8
7206 IF E$ (4, 1) <>X(1) THEN GO TO 7208
7207 IF E$ (4,1 TO 3) =X THEN GO TO 7210
7208 IF E$(6,1) =" " THEN GO TO 7230
7209 IF VAL E$(6,1 TO 4) <VAL M$ THEN GO TO 7230

When ordering of the zip codes is called, the program now checks to make sure that each name is up to date before it is printed. We now have a very usable program with enough power and storage to handle us no matter how big we get!

PRO/FILE 2068 is available from Thomas Woods, P. D. Box 64, Jeffersn, NH 03583; 603/586-7734. Price is $29.95 + shipping. Phone orders are accepted with credit card.

Products

 

Downloadable Media

 

Image Gallery

Source Code

Note: Type-in program listings on this website use ZMAKEBAS notation for graphics characters.

Scroll to Top