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
1000 FOR N=1 TO O
1001 PRINT
1002 PRINT "PARAGR. ";N
1003 IF C$(N)(1 TO 2)=" " THEN PRINT
1004 IF C$(N)(1 TO 2)=" " THEN GOTO 1500
1016 LET A$=C$(N)
1020 IF LEN A$>32 THEN GOTO 1035
1025 PRINT A$
1030 GOTO 1016
1035 LET C=0
1040 IF C=32 THEN GOTO 1065
1045 LET B$=A$(32-C)
1050 IF A$(33-C)=" " OR B$="," OR B$="." OR B$=":" OR B$=";" OR B$="?" OR B$=CHR$ 11 THEN GOTO 1070
1055 LET C=C+1
1060 GOTO 1040
1065 LET C=0
1070 IF A$( TO 32-C)<=" " THEN GOTO 1087
1072 PRINT A$( TO 32-C)
1075 LET A$=A$(33-C TO )
1080 IF A$(1)=" " THEN LET A$=A$(2 TO )
1085 GOTO 1020
1090 NEXT N
1092 FAST
1093 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"
1094 INPUT I
1095 CLS
1096 IF I=0 THEN GOTO 1207
1097 IF I=1 THEN LET N=N-1
1098 IF I=1 THEN GOTO 250
1099 IF I=2 THEN GOTO 1105
1100 IF I>2 THEN GOTO 10
1102 STOP
1140 GOTO 10
1207 CLS
1210 PRINT AT 10,2;"ENTER NO. OF PARAGRAPH YOU WISH TO CHANGE"
1211 INPUT N
1212 CLS
1213 IF N>O THEN GOTO 10
1214 PRINT AT 6,0;"PARAGR. ";N;": ";C$(N)
1215 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."
1216 PRINT AT 19,7;"""4""INSERT PARAGR.";AT 20,7;"""5""CONT.TO TYPE LETTER";AT 21,7;"""6""FOR RETURN"
1217 INPUT I
1218 IF I=0 THEN LET N=N-1
1219 IF I=1 THEN LET N=N+1
1220 IF I<=1 THEN GOTO 1212
1222 IF I=2 THEN GOTO 1232
1223 IF I=3 THEN GOTO 1550
1224 IF I=4 THEN GOTO 1580
1225 IF I=5 THEN LET N=O
1226 IF I=5 THEN CLS
1227 IF I=5 THEN GOTO 250
1228 IF I>5 THEN GOTO 10
1232 PRINT AT 15,2;" ";AT 16,2;" ";AT 17,7;" ";AT 18,7;" "
1233 PRINT AT 19,2;" ";AT 20,7;" ";AT 21,7;" "
1234 PRINT AT 12,2;"TYPE PARAGRAPH ";N;AT 18,0;"% "
1235 INPUT C$(N)
1240 CLS
1250 GOTO 1212
1500 LET A$=C$(N)(3 TO )
1510 GOTO 1020
1550 FOR N=N TO O
1555 LET C$(N)=C$(N+1)
1560 NEXT N
1565 LET O=O-1
1570 GOTO 1212
1580 LET O=O+1
1582 FOR N=O TO N STEP -1
1585 LET C$(N+1)=C$(N)
1590 NEXT N
1595 LET N=N+1
1600 CLS
1605 GOTO 1234
1670 GOTO 1212
2000 STOP
2227 PRINT AT 6,4;M;AT 8,4;F$(M)
2228 PRINT TAB 4;G$(M)
2229 PRINT TAB 4;E$(M)
2230 PRINT TAB 4;S$(M)
2231 PRINT TAB 4;J$(M)
2235 RETURN
3002 FOR M=1 TO L
3005 LPRINT AT 1,0;F$(M)
3010 LPRINT AT 2,0;G$(M)
3011 LPRINT AT 3,0;E$(M)
3012 LPRINT AT 4,0;S$(M)
3013 LPRINT
3014 LPRINT AT 6,22;D$
3015 LPRINT
3016 IF H$(1 TO 3)=" " THEN GOTO 3018
3017 LPRINT "RE.: ";H$
3018 LPRINT
3020 LPRINT J$(M)
3025 LPRINT
3100 FOR N=1 TO O
3102 IF C$(N)(1 TO 2)=" " THEN LPRINT
3104 IF C$(N)(1 TO 2)=" " THEN GOTO 3500
3116 LET A$=C$(N)
3120 IF LEN A$>32 THEN GOTO 3135
3125 LPRINT A$
3130 GOTO 3116
3135 LET C=0
3140 IF C=32 THEN GOTO 3165
3145 LET B$=A$(32-C)
3150 IF A$(33-C)=" " OR B$="," OR B$="." OR B$=":" OR B$=";" OR B$="?" OR B$=CHR$ 11 THEN GOTO 3170
3155 LET C=C+1
3160 GOTO 3140
3165 LET C=0
3170 IF A$( TO 32-C)<=" " THEN GOTO 3187
3172 LPRINT A$( TO 32-C)
3175 LET A$=A$(33-C TO )
3180 IF A$(1)=" " THEN LET A$=A$(2 TO )
3185 GOTO 3120
3190 NEXT N
3192 LPRINT
3193 LPRINT
3194 LPRINT
3195 LPRINT
3196 LPRINT
3205 IF M=L THEN GOTO 10
3220 NEXT M
3230 GOTO 10
3500 LET A$=C$(N)(3 TO )
3510 GOTO 3120
4010 CLS
4015 FOR M=1 TO L
4020 LPRINT F$(M)
4025 LPRINT G$(M)
4030 LPRINT E$(M)
4032 LPRINT S$(M)
4035 LPRINT
4040 LPRINT
4045 LPRINT
4050 IF M=L THEN GOTO 10
4055 NEXT M
5005 PRINT AT 10,0;"ENTER"" CONT "" TO SAVE ON TAPE"
5010 STOP
5015 SAVE "LETTERTYP%E"
5020 GOTO 10