home *** CD-ROM | disk | FTP | other *** search
- SIGNS
-
- As structured, SIGNS prints a string of seven letters in large format - 10
- x 7 normal characters. Each string of seven letters is a total of 82 x 7
- characters in size. This includes two spaces between each letter, but does
- not include two line feeds between each string. "stat lst: = tty:" will
- cause the letters to be printed on the console; expect the last two columns
- of the last letter to wrap(or truncate, depending on the console). Size
- can be trimmed by shortening the arrays to 6 letters, or by cutting the
- space between letters to 1.
-
- The UCASE function traps all illegal letters, and turns lower case into
- upper. As presently written, only upper case letters and blanks are
- formatted.
-
- Since all BASIC language variables are legal in Pascal, the names were not
- changed.
-
- Filling the Z array presented a problem. Initially I had planned to do it
- thus:
- mult := 1; {declared as integer}
- for a := 5 downto 1 do
- begin
- z[a] := mult;
- mult := mult * 10;
- end;
- This resulted in a run-time multiplication error. I've brought it to
- Ithaca's attention. In the meantime, the brute force method works, tho it
- certainly is not as elegant.
-
- The most difficult part of converting this program from BASIC was filling
- the array containing the character font -- L. In BASIC this is done within
- the program using a series of DATA statements; for which there is no analog
- in Pascal. Here is how the font is stored, should you wish to alter or add
- to it. Each line in the "font.dat" file consists of a string of 8
- characters:
- Char ASCII (val-64) Binary
- _ 95 31 11111
- P 80 16 10000
- P 80 16 10000
- ^ 94 30 11110
- P 80 16 10000
- P 80 16 10000
- P 80 16 10000
- f -- label, not used by the program
- The above is the representation of the letter "F". Only printable
- characters can be used as part of the font string, as my text editor
- filters the control characters(for starters). For that reason, the program
- uses the upper case series and converts to the numbers needed using the
- (val-64) function. If SIGNS is used as a subroutine in another program,
- suggest that array L be declared globally. Also remove procedure SETARRAY
- from the nest and make it part of program initialization. That way
- "font.dat" will only be called once.
-
- Improvements and comments welcome:
- Rex A Buddenberg
- 1910 Ash Street
- North Bend, Or 97459
- h)503/756-2180
-