Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-07 - decus/20-0169/lblhlp.rno
There is 1 other file named lblhlp.rno in the archive. Click here to see a list.
.PROGRAM
      SUBROUTINE LBLHLP(ITTY,MESAGE)
C     RENBR(/HELP MESSAGES FOR LABELS PROGRAM)/M1000
C
C     DONALD BARTH, YALE SCHOOL OF MANAGEMENT
C
C     THE FORMAT STATEMENTS IN THIS ROUTINE WERE PRODUCED
C     BY THE FORMAT PROGRAM WHICH WAS WRITTEN BY THE
C     CURRENT AUTHOR AND WHICH IS AVAILABLE FROM THE DECUS
C     LIBRARY.
.RIGHT MARGIN 80.USE '.OUTPUT WIDTH 59.LENGTH 10.LEADING.TRAILING
.PROGRAM
C
C     ******************************************
C     *                                        *
C     *  MENU ITEMS IDENTIFIED BY A THROUGH Z  *
C     *                                        *
C     ******************************************
C
C     ASTERISK
.BEGIN.PREFACE       IF(MESAGE.EQ. 1)WRITE(ITTY,$)
Type the identification code of any address which is to bear an asterisk
(*) at the upper right corner.  This option is active only if the input
file is defined in at sign (@) format.  The identification code is
the sequence of characters which are defined on the line starting with
an at sign and the letter K.  The label can be marked with an asterisk
even if the identification code is not itself copied into the label.
.SKIP
Include either the upper case (capital) or the lower case (small) form
of one of the alphabetic letters A through Z where either form of the
letter is to be allowed.  Include a percent sign (%) in the code where
any single character is to be allowed.  Include an asterisk at the
right end of the code if any sequence of characters is to be allowed
starting at that point.  Typing A%C* would mark all labels having codes
such as AAC..., ABC..., ACC.._.  etc_.  regardless of case.
.SKIP
To deselect a previously selected code, just press the RETURN key again.
.PROGRAM
C
C     BOXES
.BEGIN.PREFACE       IF(MESAGE.EQ. 2)WRITE(ITTY,$)
Several rows of label outlines can be generated before the first
addresses in each output file to be used for alignment of the paper
in the terminal or printer.  Type the number of rows of empty boxes
which are desired.
.PROGRAM
C
C     COLUMNS
.BEGIN.PREFACE       IF(MESAGE.EQ. 3)WRITE(ITTY,$)
The addresses can be arranged in a single column, or in 2 to 4 parallel
columns.  If 3 columns of labels are selected here, then the first
3 addresses would be placed on the first row of 3 labels, and the fourth
address would be on the left label in the second row.
.PROGRAM
C
C     DETACH BOTTOM LINE AND ZIP CODE
.BEGIN.PREFACE       IF(MESAGE.EQ. 4)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT -3
Y##to separate the city-state-zip line from the rest of the address
by an extra blank line and to shift the zip code slightly to the right.
.INDENT -3
N##to have the city-state-zip line be contiguous with the rest of the
address and to have the zip code be just to the right of the state.
.LEFT MARGIN 0
.PROGRAM
C
C     EXTRA COPIES
.BEGIN.PREFACE       IF(MESAGE.EQ. 5)WRITE(ITTY,$)
Type the number of labels onto which each address is to be printed.
If you want each address to be printed onto 2 labels, then you would
type 2 here.  The duplicate copies of the addresses are printed on
adjacent labels.  If you want 1 complete set of labels to be followed
by a second complete set, then you should either process the input
file twice, or run this program twice.
.PROGRAM
C
C     GUTTERS
.BEGIN.PREFACE       IF(MESAGE.EQ. 7)WRITE(ITTY,$)
Type the number of columns of characters which are to be left blank
between adjacent labels to allow for horizontal misalignment of the
label stock in the terminal or printer.  You would type 4 here if you
wanted 2 columns to be left blank at the right edge of each label and
2 more columns to be left blank at the left edge of the adjacent label.
The label width specified elsewhere in inches must include these blank
columns.
.PROGRAM
C
C     HEIGHT
.BEGIN.PREFACE       IF(MESAGE.EQ. 8)WRITE(ITTY,$)
Type the distance between the tops of successive labels.  You would
type 1.25 if labels are 1 and 1/4 inch high
.PROGRAM
C
C     INITIAL CODE LINE
.BEGIN.PREFACE       IF(MESAGE.EQ. 9)WRITE(ITTY,$)
The code specified in the address file by a line starting with an at
sign followed immediately by the letter K can be typed on a separate
line above the rest of the address.  This code can be included only
if the input file is in at sign format.  Inclusion of this code on
the label is independent of the marking of an asterisk at the upper
right corner of addresses having particular codes.  Type
.LEFT MARGIN 3.INDENT -3
Y##to include codes on the top line of each label
.INDENT -3
N##to exclude codes
.LEFT MARGIN 0
.PROGRAM
C
C     LINES PER INCH
.BEGIN.PREFACE       IF(MESAGE.EQ.12)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT -3
6##if the labels will be typed at the usual 6 lines per inch vertically.
.INDENT -3
8##if the terminal or printer is adjusted for 8 lines per inch.
.LEFT MARGIN 0
.PROGRAM
C
C     MAXIMUN NUMBER OF ROWS OF LABELS
.BEGIN.PREFACE       IF(MESAGE.EQ.13)WRITE(ITTY,$)
Type the maximum number of rows of labels which can appear in a single
output file.  A new output file will be begun after this many rows
have been written to the current output file.  If the file starts with
10 rows of boxes, and if there are 3 parallel columns of labels, then
selecting 1000 rows here would give a maximum of 3*(1000-10) or 2970
labels actually bearing addresses.
.PROGRAM
C
C     OFFSET
.BEGIN.PREFACE       IF(MESAGE.EQ.15)WRITE(ITTY,$)
Type the number of spaces which are to be inserted to the left of the
addresses in the leftmost column of labels.  Unlike the spaces in the
gutter between adjacent labels, the spaces inserted to the left of
the addresses in the leftmost column of labels should not be included
in the width of the labels stated in inches elsewhere.
.PROGRAM
C
C     PITCH
.BEGIN.PREFACE       IF(MESAGE.EQ.16)WRITE(ITTY,$)
Type the number of characters which will be typed per inch.
.LEFT MARGIN 3.INDENT -3
10#for PICA pitch of 10 characters per inch horizontally.
.INDENT -3
12#for ELITE pitch of 12 characters per inch horizonally.
.LEFT MARGIN 0
.PROGRAM
C
C     SEPARATE THE TYPES OF ADDRESSES
.BEGIN.PREFACE       IF(MESAGE.EQ.19)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT -3
Y##to scan the input file 3 times, producing first the labels which
have CAMPUS MAIL on last line, then the labels which have neither CAMPUS
MAIL nor zip code on the last line, and finally the labels which have
a zip code on the last line
.INDENT -3
N##to produce labels exactly in the order specified in the file
.LEFT MARGIN 0
.PROGRAM
C
C     TAB CHARACTERS
.BEGIN.PREFACE       IF(MESAGE.EQ.20)WRITE(ITTY,$)
This program can convert multiple spaces to tab characters to save
transmission time to the terminal or printer and/or to save disk space
if the labels are being written to an output file.  The tab character
is a non-printing character which causes the next printing character
to appear to the right of the next integral multiple of 8 column
positions.  Type
.LEFT MARGIN 3.INDENT -3
Y##if multiple spaces are to be converted to tab characters.
.INDENT -3
N##if multiple spaces are not to be converted to tab characters.  This
should be used if either the operating system or the output device
does not support the tab character.
.LEFT MARGIN 0
.PROGRAM
C
C     UPPER CASE CHARACTERS ONLY
.BEGIN.PREFACE       IF(MESAGE.EQ.21)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT -3
Y##to produce labels in which all lower case alphabetic letters have
been converted to capitals
.INDENT -3
N##to keep all alphabetic letters in their original cases
.LEFT MARGIN 0
.PROGRAM
C
C     WIDTH OF LABELS
.BEGIN.PREFACE       IF(MESAGE.EQ.23)WRITE(ITTY,$)
Type the distance in inches between left edges of adjacent labels.
This distance must include any blank gutter between the labels.  You
would type 3.5 if the labels were 3 and 1/2 inch wide.
.PROGRAM
C
C     ********************
C     *                  *
C     *  OTHER MESSAGES  *
C     *                  *
C     ********************
C
C     IDENTIFY PROGRAM
.BEGIN.PREFACE       IF(MESAGE.EQ.27)WRITE(ITTY,$)
LABEL (05/83)
.BREAK
This program reads an address file in which each line starts with an
at sign (@) or in which previously formatted addresses are separated
by lines starting with periods.  A file is produced containing parallel
columns of addresses which can be typed onto labels on fanfold paper.
.SKIP
.PROGRAM
C
C     ASK FOR DIMENSION DEFAULT
.BEGIN.PREFACE       IF(MESAGE.EQ.28)WRITE(ITTY,$)
Type one of following numbers to set intial dimensions you then modify
.NOFILL
1  for 1 column  of 4     by 1 1/2 labels at 10 pitch and 6 lines/inch
2  for 4 columns of 3 3/8 by 1     labels at 12 pitch and 8 lines/inch
.SKIP
.FILL
.BEGIN.PREFACE       IF(MESAGE.EQ.29)WRITE(ITTY,$)
Default label dimensions are selected by the following numbers
.LEFT MARGIN 3.INDENT-3
1##selects single column of labels 4 inches wide by 1.5 inches high
to be printed at 10 characters per inch and 6 lines per inch
.INDENT-3
2##selects 4 parallel columns of labels 3 3/8 inches wide by 1 inch
high to be printed at 12 characters per inch and 8 lines per inch
.LEFT MARGIN 0
.PROGRAM
C
C     ASK IF MENU ITEMS ARE ALL CORRECT
.BEGIN.PREFACE       IF(MESAGE.EQ.30)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT-3
Y##if all of the above items are correct
.INDENT -3
N##if you still want to change any of these items
.LEFT MARGIN 0
.PROGRAM
C
C      UNKNOWN MENU ITEM
.BEGIN.PREFACE       IF(MESAGE.EQ.31)WRITE(ITTY,$)
To change any item in the above list, type the letter which appears
to the left of the item.  You can type the new value or the YES or
NO decision either to the right of the letter or on the next line.
Press _?  and then the RETURN key to list all of the current values.
Press only the RETURN key if all of the items shown above are correct.
.PROGRAM
C
C     ASK IF BLANK LINE APPEARED AFTER PREVIOUS ANSWER
.BEGIN.PREFACE       IF(MESAGE.EQ.32)WRITE(ITTY,$)
The answer to this question is used to keep track of the number of
lines which have been displayed on the terminal.  Answer
.LEFT MARGIN 3.INDENT -3
Y##if a blank line appeared between the last answer which you typed
and this question.  The dialog between you and the program will have
been mostly double spaced.
.INDENT -3
N##if a blank line did not appear between the last answer which you
typed and this question.  The dialog between you and the program will
have been mostly single spaced.
.LEFT MARGIN 0
.PROGRAM
C
C     ASK IF WORDS CAN BE ABBREVIATED IN LONG LINES
.BEGIN.PREFACE       IF(MESAGE.EQ.33)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT -3
Y##if some words in long lines can be abbreviated or deleted to shorten
the lines.  This program will ask for the name of the file which defines
the abbreviations or words to be deleted.
.INDENT -3
N##if no words are to be abbreviated or deleted in long lines.
.LEFT MARGIN 0
.PROGRAM
C
C     TELL USER TO INSERT LABELS INTO TERMINAL
.BEGIN.PREFACE       IF(MESAGE.EQ.34)WRITE(ITTY,$)
Insert labels on fanfold paper so that bottom of a row of labels is
under printhead.  Press the RETURN key when paper is properly aligned,
or type a single letter and press RETURN for a target row of labels,
or type a person's name and press RETURN to start at that person.
.PROGRAM
C
C     ASK FOR WORD OR PHRASE IN FIRST ADDRESS
.BEGIN.PREFACE       IF(MESAGE.EQ.35)WRITE(ITTY,$)
Type a word or a phrase which will be found first in the first address
which is to be included on the labels.  Addresses which appear before
the first appearance of this word or phrase will be discarded.  You
must type more than just a single character.  Be sure to include all
punctuation marks which appear between the words if you type a phrase.
The cases of the alphabetic letters A through Z are ignored.  Merely
press the RETURN key to produce all labels.
.BEGIN.PREFACE       IF(MESAGE.EQ.37)WRITE(ITTY,$)
Type a word or a phrase which will be found first in the first address
which is to be included on the labels.  Addresses which appear before
the first appearance of this word or phrase will be discarded.  Be
sure to include all punctuation marks which appear between the words
if you type a phrase.  The cases of the alphabetic letters A through
Z are ignored.  You can type just a single printing character to produce
a row of target labels for use in aligning the paper.  Merely press
the RETURN key to produce all labels.

.PROGRAM
C
C     ASK IF MORE LABELS ARE TO BE PROCESSED
.BEGIN.PREFACE       IF(MESAGE.EQ.36)WRITE(ITTY,$)
Type
.LEFT MARGIN 3.INDENT -3
Y##to append additional labels to current output file
.INDENT -3
N##to terminate construction of current output file
.LEFT MARGIN 0
.PROGRAM
C
C     FILE OUTPUT
.BEGIN.PREFACE       IF(MESAGE.EQ.38)WRITE(ITTY,$)
This program can type the labels to the controlling terminal, or can
write these labels to an output file.  Type
.LEFT MARGIN 3.INDENT -3
Y##if the labels are to be written to an output file.  The labels will
not be written directly to the terminal.
.INDENT-3
N##if the labels are not to be written to an output file.  The labels
will be written directly to the terminal instead.
.LEFT MARGIN 0
.PROGRAM
      RETURN
      END
.END OF FILE