Source Code
5 REM "LETTERTYPE" 16-203, <C> M.SIEDER,1983
10 CLS
17 LET M=L
19 LET N=O
25 PRINT AT 2,5;"L E T T E R T Y P E"
27 PRINT
30 PRINT AT 4,0;"ENTER LEAD NO. FOR OPERATION"
32 PRINT AT 6,2;"0) CLEAR"
33 PRINT AT 7,2;"1) INPUT OF ADDRESSES"
34 PRINT AT 8,2;"2) INPUT OF LETTER"
35 PRINT AT 9,2;"3) REVIEW OF LETTER"
39 PRINT AT 10,2;"4) CHANGE PARAGRAPH"
40 PRINT AT 11,2;"5) LPRINT LETTERS"
41 PRINT AT 12,2;"6) LPRINT LABELS"
42 PRINT AT 13,2;"7) SAVE ON TAPE"
45 INPUT I
50 CLS
55 IF I=NOT PI THEN GOTO 100
60 IF I=1 THEN GOTO 160
65 IF I=2 THEN GOTO 244
70 IF I=3 THEN GOTO 800
75 IF I=4 THEN GOTO 1200
80 IF I=5 THEN GOTO 3000
85 IF I=6 THEN GOTO 4000
90 IF I=7 THEN GOTO 5000
95 IF I>7 THEN GOTO 10
105 DIM A$(160)
110 DIM B$(40)
115 DIM C$(40,160)
120 DIM D$(10)
122 DIM E$(10,30)
124 DIM F$(10,30)
126 DIM G$(10,30)
128 DIM H$(30)
130 DIM I$(15)
132 DIM J$(10,20)
135 DIM N(40)
137 DIM M(10)
138 LET L=NOT PI
139 LET M=NOT PI
140 LET N=1
141 DIM L(1)
142 DIM O(1)
145 LET O=1
146 DIM S$(10,30)
150 GOTO 10
160 PRINT AT 8,0;"ENTER ""1"" FOR NEW ADDRESSES";AT 9,6;"""2"" FOR ADDITIONAL ADDR."
163 INPUT I
164 CLS
165 IF I=1 THEN GOTO 190
167 IF I=2 THEN GOTO 206
168 IF I>2 THEN GOTO 10
190 LET L=NOT PI
191 LET M=NOT PI
202 PRINT AT 10,2;"ENTER DATE OF LETTER"
204 INPUT D$
206 CLS
207 LET M=M+1
208 PRINT AT 7,0;"NO.:";M;AT 8,0;"TYPE AND ENTER 1ST LINE OF ADDR."
209 INPUT F$(M)
210 CLS
211 PRINT AT 7,0;"NO.:";M;AT 8,0;"TYPE AND ENTER 2ND LINE OF ADDR."
212 INPUT G$(M)
213 CLS
214 PRINT AT 7,0;"NO.:";M;AT 8,0;"TYPE AND ENTER 3RD LINE OF ADDR."
215 INPUT E$(M)
216 CLS
217 PRINT AT 7,0;"NO.:";M;AT 8,0;"TYPE AND ENTER 4TH LINE OF ADDR."
218 INPUT S$(M)
219 CLS
224 PRINT AT 10,0;"TYPE AND ENTER SALUTATION:";M
225 INPUT J$(M)
226 CLS
227 GOSUB 2005
232 PRINT AT 19,10;"ENTER""0""FOR ERROR";AT 20,15;"""1""FOR NEXT ADDR.";AT 21,15;"""2""FOR RETURN"
234 INPUT I
236 CLS
237 IF I=0 THEN LET M=M-1
238 IF I=0 THEN GOTO 206
239 LET L=M
240 IF L=10 THEN GOTO 500
242 IF I=1 THEN GOTO 206
243 IF I>1 THEN GOTO 10
244 PRINT AT 8,2;"TYPE AND ENTER SUBJECT"
245 INPUT H$
247 CLS
250 IF N=1 THEN GOTO 252
251 PRINT AT 2,0;"LAST PARAGRAPH";AT 3,0;C$(N-1)
252 PRINT AT 10,0;"TYPE AND ENTER PARAGRAPH NO.:";N
255 PRINT AT 18,0;"% "
260 INPUT C$(N)
262 PRINT AT 19,10;"ENTER""0""FOR ERROR"
263 PRINT AT 20,15;"""1""FOR CONTINUE"
264 PRINT AT 21,15;"""2""FOR RETURN"
265 INPUT I
266 IF I=0 THEN GOTO 247
267 IF I>=1 THEN LET N=N+1
268 IF I>=1 THEN LET O=N
269 IF I=1 THEN GOTO 280
270 IF I>1 THEN GOTO 10
282 LET O=N
285 IF N=41 THEN GOTO 500
300 GOTO 247
500 PRINT AT 10,5;"FULL LETTER PAD"
505 PAUSE 50
510 GOTO 10
800 FOR M=1 TO L
801 PRINT AT 1,0;"REVIEW OF ADDRESS NO.: ";M
802 PRINT "--------------------------------"
805 GOSUB 2005
825 PAUSE 200
830 CLS
835 NEXT M
840 CLS
913 PRINT AT 6,22;D$
916 IF H$(1 TO 3)=" " THEN GOTO 918
917 PRINT AT 6,0;"RE.: ";H$
918 PRINT
920 PRINT J$(1)
925 PRINT
\n1000 FOR N=1 TO O
\n1001 PRINT
\n1002 PRINT "PARAGR. ";N
\n1003 IF C$(N)(1 TO 2)=" " THEN PRINT
\n1004 IF C$(N)(1 TO 2)=" " THEN GOTO 1500
\n1016 LET A$=C$(N)
\n1020 IF LEN A$>32 THEN GOTO 1035
\n1025 PRINT A$
\n1030 GOTO 1016
\n1035 LET C=0
\n1040 IF C=32 THEN GOTO 1065
\n1045 LET B$=A$(32-C)
\n1050 IF A$(33-C)=" " OR B$="," OR B$="." OR B$=":" OR B$=";" OR B$="?" OR B$=CHR$ 11 THEN GOTO 1070
\n1055 LET C=C+1
\n1060 GOTO 1040
\n1065 LET C=0
\n1070 IF A$( TO 32-C)<=" " THEN GOTO 1087
\n1072 PRINT A$( TO 32-C)
\n1075 LET A$=A$(33-C TO )
\n1080 IF A$(1)=" " THEN LET A$=A$(2 TO )
\n1085 GOTO 1020
\n1090 NEXT N
\n1092 FAST
\n1093 PRINT AT 18,10;"ENTER""0""CHANGE PARAGR.";AT 19,15;"""1""TO CONT.TYPING";AT 20,15;"""2""TO CONT.REVIEW";AT 21,15;"""3""TO RETURN"
\n1094 INPUT I
\n1095 CLS
\n1096 IF I=0 THEN GOTO 1207
\n1097 IF I=1 THEN LET N=N-1
\n1098 IF I=1 THEN GOTO 250
\n1099 IF I=2 THEN GOTO 1105
\n1100 IF I>2 THEN GOTO 10
\n1102 STOP
\n1140 GOTO 10
\n1207 CLS
\n1210 PRINT AT 10,2;"ENTER NO. OF PARAGRAPH YOU WISH TO CHANGE"
\n1211 INPUT N
\n1212 CLS
\n1213 IF N>O THEN GOTO 10
\n1214 PRINT AT 6,0;"PARAGR. ";N;": ";C$(N)
\n1215 PRINT AT 15,2;"ENTER""0""FOR PREV. PARAGR.";AT 16,7;"""1""FOR NEXT PARAGR.";AT 17,7;"""2""FOR CORRECTION";AT 18,7;"""3""DELETE PARAGR."
\n1216 PRINT AT 19,7;"""4""INSERT PARAGR.";AT 20,7;"""5""CONT.TO TYPE LETTER";AT 21,7;"""6""FOR RETURN"
\n1217 INPUT I
\n1218 IF I=0 THEN LET N=N-1
\n1219 IF I=1 THEN LET N=N+1
\n1220 IF I<=1 THEN GOTO 1212
\n1222 IF I=2 THEN GOTO 1232
\n1223 IF I=3 THEN GOTO 1550
\n1224 IF I=4 THEN GOTO 1580
\n1225 IF I=5 THEN LET N=O
\n1226 IF I=5 THEN CLS
\n1227 IF I=5 THEN GOTO 250
\n1228 IF I>5 THEN GOTO 10
\n1232 PRINT AT 15,2;" ";AT 16,2;" ";AT 17,7;" ";AT 18,7;" "
\n1233 PRINT AT 19,2;" ";AT 20,7;" ";AT 21,7;" "
\n1234 PRINT AT 12,2;"TYPE PARAGRAPH ";N;AT 18,0;"% "
\n1235 INPUT C$(N)
\n1240 CLS
\n1250 GOTO 1212
\n1500 LET A$=C$(N)(3 TO )
\n1510 GOTO 1020
\n1550 FOR N=N TO O
\n1555 LET C$(N)=C$(N+1)
\n1560 NEXT N
\n1565 LET O=O-1
\n1570 GOTO 1212
\n1580 LET O=O+1
\n1582 FOR N=O TO N STEP -1
\n1585 LET C$(N+1)=C$(N)
\n1590 NEXT N
\n1595 LET N=N+1
\n1600 CLS
\n1605 GOTO 1234
\n1670 GOTO 1212
\n2000 STOP
\n2227 PRINT AT 6,4;M;AT 8,4;F$(M)
\n2228 PRINT TAB 4;G$(M)
\n2229 PRINT TAB 4;E$(M)
\n2230 PRINT TAB 4;S$(M)
\n2231 PRINT TAB 4;J$(M)
\n2235 RETURN
\n3002 FOR M=1 TO L
\n3005 LPRINT AT 1,0;F$(M)
\n3010 LPRINT AT 2,0;G$(M)
\n3011 LPRINT AT 3,0;E$(M)
\n3012 LPRINT AT 4,0;S$(M)
\n3013 LPRINT
\n3014 LPRINT AT 6,22;D$
\n3015 LPRINT
\n3016 IF H$(1 TO 3)=" " THEN GOTO 3018
\n3017 LPRINT "RE.: ";H$
\n3018 LPRINT
\n3020 LPRINT J$(M)
\n3025 LPRINT
\n3100 FOR N=1 TO O
\n3102 IF C$(N)(1 TO 2)=" " THEN LPRINT
\n3104 IF C$(N)(1 TO 2)=" " THEN GOTO 3500
\n3116 LET A$=C$(N)
\n3120 IF LEN A$>32 THEN GOTO 3135
\n3125 LPRINT A$
\n3130 GOTO 3116
\n3135 LET C=0
\n3140 IF C=32 THEN GOTO 3165
\n3145 LET B$=A$(32-C)
\n3150 IF A$(33-C)=" " OR B$="," OR B$="." OR B$=":" OR B$=";" OR B$="?" OR B$=CHR$ 11 THEN GOTO 3170
\n3155 LET C=C+1
\n3160 GOTO 3140
\n3165 LET C=0
\n3170 IF A$( TO 32-C)<=" " THEN GOTO 3187
\n3172 LPRINT A$( TO 32-C)
\n3175 LET A$=A$(33-C TO )
\n3180 IF A$(1)=" " THEN LET A$=A$(2 TO )
\n3185 GOTO 3120
\n3190 NEXT N
\n3192 LPRINT
\n3193 LPRINT
\n3194 LPRINT
\n3195 LPRINT
\n3196 LPRINT
\n3205 IF M=L THEN GOTO 10
\n3220 NEXT M
\n3230 GOTO 10
\n3500 LET A$=C$(N)(3 TO )
\n3510 GOTO 3120
\n4010 CLS
\n4015 FOR M=1 TO L
\n4020 LPRINT F$(M)
\n4025 LPRINT G$(M)
\n4030 LPRINT E$(M)
\n4032 LPRINT S$(M)
\n4035 LPRINT
\n4040 LPRINT
\n4045 LPRINT
\n4050 IF M=L THEN GOTO 10
\n4055 NEXT M
\n5005 PRINT AT 10,0;"ENTER"" CONT "" TO SAVE ON TAPE"
\n5010 STOP
\n5015 SAVE "LETTERTYP%E"
\n5020 GOTO 10