More Print Control Commands

Let’s all read the following “Philosophy” carefully. It is absolutely vital that we understand the concept of the “endless loop” to use any printer for serious business type applications.

A Little Homespun Philosophy

Having discovered the problem, and it is a very real and vital one, let’s analyze the needs of the average user of the Form Feed (FF) command. Typically, he is a businessman sending out a long string of bills. Or, perhaps it’s an organization mailing a stack of letters, or printing address labels. In any case, what happens is repetitive, with perhaps certain places on pre-printed forms filled in by the printer.

This means the printer runs continuously. The program will certainly not stop after each form is printed. The program printing all these forms will be locked in a continuous loop, READing in and processing new information from disk, tape, data lines, or even from the keyboard, then printing it in a specific format on the forms.

Understanding and appreciating that concept is vital to understanding how FF is used.

Now, if we can delay execution of the “extra” Line Feeds caused by sending form control commands, we can effectively forget them. Sort of like taxes. Delay them long enough and they don’t matter.

We learned long ago in our study of Elementary BASIC that a semicolon (;) at the end of a PRINT line temporarily supresses its Line Feed and Carriage Return. But when the program comes to its END, the supressed LF/CR catches up. What do you suppose would happen if we put our PRINT CHR$ (12) Form Feed command into the continuous loop along with the regular print state- ments? You got it!

NOTE: The supressed LF/CR’s don’t just keep adding up and dump out at the END, spilling all over the floor. Only 1 of them can hang over our head, awaiting disposition.

Charge!

Now we can modify our resident program so it can’t END without human intervention:

49 GOT0 20

and RUN. Forget about the paper! If you have to fuss, worry about the medfly.

27