home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
CP/M
/
CPM_CDROM.iso
/
simtel
/
sigm
/
vols000
/
vol085
/
signs.doc
< prev
next >
Wrap
Text File
|
1984-04-29
|
3KB
|
60 lines
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