-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathA04_Toelichting_3b.bc2
495 lines (494 loc) · 18.5 KB
/
A04_Toelichting_3b.bc2
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
1000 GOSUB3200:GOTO20:REM IHHR/TOEL.3B
1010 N1$="INTEGRALE HUISHOUD-REKENING"
1020 N2$="TOELICHTING NO.3B"
1030 IFA=0 THENGOSUB3500
1040 IFKK>1 THENDIMN$(NR)
1050 IFPT=5 THENGOSUB9200
1060 GOTO4000
1800 REM PRINT-ROUTINE
1810 REM -------------
1820 IFPT=5 THEN1850
1830 IFKK=1 THENL$=RT$+L$
1840 PRINTL$:L$="":GOTO1870
1850 SR$=RT$+L$:GOSUB350:GOSUB360
1860 SR$="":L$=""
1870 RR=RR+1:IFRR=AR THENRR=0:GOTO1890
1880 RETURN
1890 IFPT=5 THENGOSUB9500:GOTO1920
1900 GOSUB3150:IFKK>1 THENGOSUB9600:RETURN
1910 GOSUB7200:RETURN
1920 IFKK=1 THENGOSUB7200
1930 RETURN
2000 REM AFMETINGEN SCHERM
2010 REM -----------------
2020 FORK=1 TO3:GOSUB250:NEXTK
2030 PRINT:PRINT"Scherm-grootte:"
2040 PRINT"---------------":GOSUB250
2050 PRINT"Aantal karakters op een regel: ";:INPUTSB
2060 IFSB<30 THENSB=30
2070 GOSUB250
2080 PRINT"Aantal regels op het scherm : ";:INPUTSH
2090 IFSH<16 THENGOSUB2600:GOTO2070
2100 AR=SH-4:RETURN
2600 GOSUB250:PRINT"Tenminste 16 regels!":RETURN
3000 GOSUB100:PRINT" INTEGRALE HUISHOUD-REKENING"
3010 PRINT" ---------------------------"
3020 PRINT" TOELICHTING NO.3B"
3030 PRINT" -----------------":RETURN
3100 GOSUB250:PRINT:PRINT"Druk een toets in ...";
3110 GOSUB210:PRINT:RETURN
3150 GOSUB250:HO=RT:VE=SH-1
3155 IFPT=5 THENHO=3
3160 GOSUB110:PRINT"Druk een toets in ...";
3170 GOSUB210:PRINT:RETURN
3200 RESTORE:READN$:SH=16:GOSUB3000:GOSUB15000
3205 GOSUB3000:PT=0
3210 PRINT"In dit programma is een tekst-"
3220 PRINT"verwerker ingebouwd.":PRINT
3230 PRINT"De min. regellengte is 30 kar."
3240 PRINT"Met 64 of meer karakters op"
3250 PRINT"een regel kunt U de tekst"
3260 PRINT"krijgen in meer kolommen.":PRINT
3270 PRINT"Zowel op het scherm als op een"
3280 PRINT"printer.":GOSUB3100:GOSUB3000
3290 PRINT"Er wordt dan eerst per blad"
3300 PRINT"een bestand aangemaakt dat"
3310 PRINT"daarna wordt geprint.":PRINT
3320 PRINT"Na uw antwoorden wordt de"
3330 PRINT"variabelen-ruimte ingesteld en"
3340 PRINT"later, zo nodig, de DIM-"
3350 PRINT"statements.":PRINT:PRINT:GOSUB3100
3360 GOSUB3000:PRINT"Met: ** CLEAR A:GOTO 1010 **"
3370 PRINT"op regel 20 moet U de vragen"
3380 PRINT"nog eens beantwoorden.":PRINT
3390 PRINT"Als U problemen hebt met de"
3400 PRINT"variabelen-ruimte, verhoog dan"
3410 PRINT"het getal 200 in REGEL 3870."
3420 PRINT:PRINT:PRINT:GOSUB3100
3500 GOSUB3000:PRINT:PRINT"Wat wilt U?":PRINT
3510 PRINT" 1=VIDEO-PRINTS (op scherm)":PRINT
3520 PRINT" 2=PRINT-OUTS (met printer)":PRINT
3530 GOSUB250:PRINT"Uw keuze: ";
3540 GOSUB210:PRINTIN$:W=VAL(IN$)
3550 IF(W<1) OR(W>2) THEN3500
3560 PT=0:RT=0:SH=16:IFW=2 THENPT=5
3570 IFPT=0 THENGOSUB2000
3580 IFPT=5 THENGOSUB9000:GOTO3630
3590 S=INT(SB/32):IFS>1 THEN3670
3600 KK=1:RL=SB-1:IFRL<30 THENRL=30
3610 IFRL>50 THENRL=50:RT=INT((SB-RL)/2)
3620 GOTO3850
3630 S=INT(BB/32):IFS>1 THEN3670
3640 KK=1:RL=BB
3650 IFRL>50 THENRL=50:RT=INT((BB-RL)/2)
3660 GOTO3850
3670 IFS>9 THENS=9
3680 GOSUB250:HO=0:VE=18:GOSUB110
3690 PRINT"De tekst kunt U krijgen in"
3700 PRINT" ** ";S;" kolommen **":PRINT
3710 GOSUB250:PRINT"Hoeveel kolommen wilt U? ";
3720 GOSUB210:PRINTIN$:KK=VAL(IN$)
3730 IF(KK<1) OR(KK>S) THEN3680
3740 IFKK>1 THEN3780
3750 RL=50:IFPT=0 THENRT=INT((SB-RL)/2)
3760 IFPT=5 THENRT=INT((BB-RL)/2)
3770 GOTO3850
3780 RT=2:IFPT=5 THEN3820
3790 RL=INT((SB-1-(KK-1)*RT)/KK)
3800 IFRL>50 THENRL=50
3810 RT=INT((SB-1-KK*RL)/(KK-1)):GOTO3850
3820 RL=INT((BB-(KK+1)*RT)/KK)
3825 IFRL<30 THENRL=30:RT=2:GOTO3850
3830 IFRL>50 THENRL=50
3840 RT=INT((BB-KK*RL)/(KK+1))
3850 NR=KK*AR:REM DIM-STATEMENTS
3860 A=NR*(RL+3):REM VAR.RUIMTE
3870 A=A+200:REM EXTRA
3880 PG=15170+1000:IFKK>1 THENPG=PG+A
3890 CN=0:CT=3:SR=PG/1000:GOSUB310
3900 GOSUB3000:FORK=1 TO3:GOSUB250:NEXTK
3910 PRINT:PRINT"Hiervoor moet uw computer"
3920 PRINT:PRINT"tenminste: ";SR$;"KB zijn."
3930 PRINT:PRINT"Accoord? (J/N): ";
3940 GOSUB210:PRINTIN$
3950 IF(IN$="J") OR(IN$="j") THENRETURN
3960 GOTO3500
4000 REM TEKSTVERWERKER
4010 REM --------------
4020 N=0:E=0:BL=0:RR=0:T=0:UV=1
4030 LL=KK*RL+(KK-1)*RT
4040 RT$="":RW$=""
4050 LR$=" "
4055 LR$=LR$+LR$
4060 LS$="-------------------------"
4065 LS$=LS$+LS$
4070 LR$=LEFT$(LR$,RL):LS$=LEFT$(LS$,RL)
4080 IFLEN(RT$)<RT THENRT$=RT$+" ":GOTO4080
4200 RESTORE:REM START
4210 REM ---------------
4215 READT$:T$=""
4220 IFKK>1 THENGOSUB9600:GOTO4250
4230 IFPT=5 THENGOSUB9700
4240 GOSUB7200
4250 L$=RW$:RW$="":F$=""
4260 IFLEN(L$)>=2*RL THEN4400
4270 IFRIGHT$(L$,3)="999" THEN4400
4280 READWD$:L$=L$+" "+WD$:WD$=""
4290 IFLEN(L$)<2*RL THEN4270
4400 IFLEFT$(L$,1)=" " THENGOSUB4600
4410 IFL$="999" THENL$=LS$:E=1:GOTO6000
4420 FL=0:FORI=1 TOLEN(L$):IFFL=1 THEN4440
4430 IFMID$(L$,I,1)=" " THENGOSUB4700
4440 NEXTI:FL=0:GOTO4250
4600 L$=RIGHT$(L$,LEN(L$)-1):RETURN
4610 L$=LEFT$(L$,LEN(L$)-1):RETURN
4700 REM SPECIALE CONDITIES
4710 REM ------------------
4720 LL$=LEFT$(L$,I-1)
4730 RL$=RIGHT$(L$,LEN(L$)-I)
4740 IFRIGHT$(LL$,3)="***" THENL$=LR$:GOTO5000
4750 IFRIGHT$(LL$,3)="---" THENL$=LS$:GOTO5000
4760 IFLEFT$(L$,1)="<" THENF$="<":GOTO5040
4770 IFLEFT$(L$,1)="&" THENF$="&":GOTO5040
4780 IFRIGHT$(LL$,1)="." THEN5010
4790 IFRIGHT$(LL$,1)=":" THEN5010
4800 IFRIGHT$(LL$,1)="!" THEN5010
4810 IFLEN(LL$)>RL THEN5180
4820 RETURN
5000 GOSUB6000:RW$=RL$:FL=1:RETURN
5010 IFLEN(LL$)>RL THENGOSUB5130:GOTO5030
5020 L$=LL$:GOTO5000
5030 L$=LL$:GOSUB5400:GOSUB6000:LL$=RS$:GOTO5010
5040 F=0:FORJ=2 TOLEN(L$):IFF=1 THEN5070
5050 IF(MID$(L$,J,1)=">") AND(F$="<") THENP=J:F=1
5060 IF(MID$(L$,J,1)="&") AND(F$="&") THENP=J:F=1
5070 NEXTJ:F=0:RL$=RIGHT$(L$,LEN(L$)-P-1)
5080 L$=LEFT$(L$,P):GOSUB4600:GOSUB4610
5090 IFF$="&" THENF$="":GOTO5000
5100 F$="":L=LEN(L$):X$=LEFT$(LS$,L)
5110 L=INT((RL-L)/2):L$=LEFT$(LR$,L)+L$
5120 GOSUB6000:L$=LEFT$(LR$,L)+X$:GOTO5000
5130 F=0:L=LEN(LL$)
5140 FORJ=L TO1 STEP-1:IFF=1 THEN5160
5150 IF(MID$(LL$,J,1)=" ") AND(J<=RL) THENP=J:F=1
5160 NEXTJ:F=0:RS$=RIGHT$(LL$,LEN(LL$)-P)
5170 LL$=LEFT$(LL$,P-1):RETURN
5180 GOSUB5130:L$=LL$:GOSUB5400:GOSUB6000
5190 RW$=RS$+" "+RL$:FL=1:RETURN
5400 REM UITVULLEN
5410 REM ---------
5420 IFLEFT$(L$,1)=" " THENGOSUB4600:GOTO5420
5430 IFRIGHT$(L$,1)=" " THENGOSUB4610:GOTO5430
5440 IFRIGHT$(L$,1)="." THENRETURN
5450 V=RL-LEN(L$):IFV=0 THENRETURN
5460 AW=0:FORJ=1 TOLEN(L$)
5470 IFMID$(L$,J,1)=" " THENAW=AW+1
5480 NEXTJ:SP=0:A$=""
5490 IFUV>0 THENUV=-1:GOTO5600
5500 IFUV<0 THENUV=1:GOTO5700
5600 REM UITVULLEN VANAF LINKS
5610 REM ---------------------
5620 FORJ=1 TOLEN(L$)
5630 Z$=MID$(L$,J,1)
5640 IFZ$=" " THENGOSUB5800
5650 A$=A$+Z$:NEXTJ:L$=A$:RETURN
5700 REM UITVULLEN VANAF RECHTS
5710 REM ----------------------
5720 FORJ=LEN(L$) TO1 STEP-1
5730 Z$=MID$(L$,J,1)
5740 IFZ$=" " THENGOSUB5800
5750 A$=Z$+A$:NEXTJ:L$=A$:RETURN
5800 REM UITVUL-ROUTINE
5810 REM --------------
5820 IFV=0 THENRETURN
5830 SP=INT(V/AW)
5840 IF(SP*AW)<>V THENSP=SP+1
5850 IFSP=0 THENZ$=" "
5860 IFSP=1 THENZ$=" "
5870 IFSP>1 THENGOSUB5890
5880 V=V-SP:AW=AW-1:RETURN
5890 FORK=1 TOSP:Z$=Z$+" ":NEXTK:RETURN
6000 REM BESTAND AANMAKEN
6010 REM ----------------
6020 IFKK=1 THENGOSUB1800:GOTO6120
6030 IFLEN(L$)<RL THENL$=L$+" ":GOTO6030
6040 N=N+1:N$(N)=L$:L$=""
6050 IFE=1 THENNR=N
6060 HO=2:VE=INT(SH/2):GOSUB110
6070 PRINT"Totaal ";NR;" regels":VO=VE
6080 VE=VO+2:GOSUB110
6090 PRINT"Nu regel: ";N
6100 IFN=NR THENN=0:GOSUB6200
6110 RETURN
6120 IF(E=1) AND(PT=0) THENGOSUB3150
6130 IFE=1 THEN10000
6140 RETURN
6200 REM BESTAND PRINTEN
6210 REM ---------------
6220 SP=INT(NR/KK)
6230 IF(SP*KK)<>NR THENSP=SP+1
6240 GOSUB7200:FORI=1 TOSP:L$=""
6250 FORJ=0 TOKK-1:LP=I+J*SP
6260 IFLP>NR THENL$=L$+LR$:GOTO6280
6270 L$=L$+N$(LP)+RT$
6280 NEXTJ:L$=LEFT$(L$,LEN(L$)-RT)
6290 GOSUB1800:NEXTI
6300 IF(PT=0) AND(E=1) THENGOSUB3150
6310 IFE=1 THEN10000
6320 RETURN
7200 REM KOPPEN
7210 REM ------
7220 BL=BL+1:IFPT=5 THEN7290
7230 GOSUB100:L1=LEN(N2$):IFL1>(LL-14) THEN7370
7240 L2=INT((LL-L1)/2):L=LL-L1-L2:SR=BL
7250 GOSUB300:IFLEN(SR$)<2 THENSR$=" "+SR$
7260 L$="BL."+SR$:GOSUB7840:L$=N2$+L$:L=LL
7270 GOSUB7840:GOSUB7600:L$=LEFT$(LS$,L1):L=L1+L2
7280 GOSUB7840:GOSUB7600:RETURN
7290 L$=RIGHT$(NP$,LEN(NP$)-8)+", "+DT$
7300 L=LL-LEN(NN$):GOSUB7840
7310 L$=NN$+L$:GOSUB7600
7320 L$=NA$:GOSUB7600:SR=BL:GOSUB300
7330 L$="blad: "+SR$:L=LL-LEN(NP$):GOSUB7840
7340 L$=NP$+L$:GOSUB7600:IFKK=1 THENGOSUB7600
7350 L$=N1$:GOSUB7400:L$=N2$:GOSUB7400
7360 GOSUB7600:RETURN
7370 L$=N2$:GOSUB7400:RETURN
7400 REM CENTREER-ROUTINE
7410 REM ----------------
7420 L1=LEN(L$):L2=(LL-L1)/2:L=L1+L2
7430 GOSUB7840:GOSUB7600:L=L1:GOSUB7860
7440 L=L1+L2:GOSUB7840:GOSUB7600:RETURN
7600 REM KOP PRINTEN
7610 REM -----------
7620 IFPT=5 THEN7650
7630 IFKK=1 THENL$=RT$+L$
7640 PRINTL$:L$="":RETURN
7650 SR$=RT$+L$:GOSUB350:GOSUB360
7660 SR$="":L$="":RETURN
7800 REM OP LENGTE BRENGEN
7810 REM -----------------
7820 IFLEN(L$)<L THENL$=L$+" ":GOTO7820
7830 RETURN
7840 IFLEN(L$)<L THENL$=" "+L$:GOTO7840
7850 RETURN
7860 IFLEN(L$)<L THENL$=L$+"-":GOTO7860
7870 RETURN
9000 REM AFMETINGEN BLAD
9010 REM ---------------
9020 FORK=1 TO3:GOSUB250:NEXTK
9030 PRINT:PRINT"Blad-grootte:"
9040 PRINT"-------------":GOSUB250
9050 PRINT"Aantal karakters op een regel: ";:INPUTBB
9060 IFBB<30 THENBB=30
9070 GOSUB250
9080 PRINT"Aantal regels op een blad : ";:INPUTBH
9090 IFBH<16 THENGOSUB2600:GOTO9070
9100 AR=BH-8:RETURN
9200 GOSUB3000:GOSUB250:HO=0:VE=6:GOSUB110
9210 PRINT"Hebt U een printer? (J/N): ";
9220 GOSUB210:PRINTIN$
9230 IF(IN$="N") OR(IN$="n") THEN10000
9240 FORK=1 TO3:GOSUB250:NEXTK:HO=5:VE=INT(SH/2)
9250 GOSUB110:PRINT"Zet deze dan nu aan!"
9260 GOSUB3100:GOSUB3000:HO=9:VE=5
9270 GOSUB110:PRINT"BRIEFHOOFD"
9280 GOSUB250:HO=0:VE=8:GOSUB110
9290 PRINT"Uw naam (+voorl.):":INPUTNN$
9300 IFNN$="" THEN9280
9310 GOSUB250:VE=11:GOSUB110
9320 PRINT"Uw adres ........:":INPUTNA$
9330 IFNA$="" THEN9310
9340 GOSUB250:VE=14:GOSUB110
9350 PRINT"Postcode+Woonpl. :":INPUTNP$
9360 IFNP$="" THEN9340
9370 GOSUB250:VE=18:GOSUB110
9380 PRINT"Datum vandaag (voluit):":INPUTDT$
9390 IFDT$="" THEN9370
9400 RETURN
9500 GOSUB3000:GOSUB250
9510 HO=10:VE=INT(SH/3):GOSUB110:PRINT"U kunt nu"
9520 HO=8:VE=VE+2:GOSUB110:PRINT"een nieuw blad"
9530 HO=10:VE=VE+2:GOSUB110:PRINT"instellen!"
9540 GOSUB3150
9550 IFKK=1 THEN9700
9600 GOSUB3000:GOSUB250
9610 HO=6:VE=INT(SH/3):GOSUB110
9620 PRINT"Bestand formeren":RETURN
9700 GOSUB3000:GOSUB250
9710 HO=8:VE=INT(SH/2):GOSUB110
9720 PRINT"Ik ben bezig!":RETURN
10000 GOSUB3000:FORI=1 TO3:GOSUB250:NEXTI
10010 HO=4:VE=SH/2:GOSUB110
10020 PRINT"Tot de volgende keer!"
10030 END
15000 X$="":GOSUB250:HO=2:VE=INT(SH/2):GOSUB110
15010 PRINT"Uw code: ";:FORI=1 TOLEN(N$)
15020 GOSUB210:X$=X$+IN$:NEXTI:PRINT
15030 IFX$=N$ THENRETURN
15040 GOTO10000
25000 DATA"1234"
25010 DATA"<INLEES-/WEGSCHRIJF-ROUTINES> <voor> <BESTANDEN"
25020 DATA"OP CASSETTE> *** <Voor-Informatie> Laat uw"
25030 DATA"routines voorafgaan door informatie als: ***"
25040 DATA"&Doe best.cassette in recorder& &Rewind de"
25050 DATA"tape& &Zet teller op xxx& &Geef naam bestand:"
25060 DATA"INPUT T$& *** Of de"
25070 DATA"instructies die voor uw systeem van toepassing"
25080 DATA"zijn. --- *** In Toelichting no.1 vindt U een"
25090 DATA"tabel 'Wat? - Waar?'. Hieronder volgen de"
25100 DATA"routines voor sub.1. De routines voor sub.2"
25110 DATA"zijn hieruit op eenvoudige wijze af"
25120 DATA"te leiden. Bij sub.3 is sprake van een"
25130 DATA"numerieke array - deze behoeft niet te worden"
25140 DATA"geconverteerd, maar kan rechtstreeks worden"
25150 DATA"weggeschreven, resp ingelezen! --- ***"
25160 DATA"<APPLE - EX.SORCERER - P2000T> De vraag - moet"
25170 DATA"U een bestand numeriek opslaan? - MOET U"
25180 DATA"beantwoorden met J(a). *** Om een string-array"
25190 DATA"op te slaan op CASSETTE moet elk karakter uit"
25200 DATA"iedere string worden geconverteerd naar een"
25210 DATA"numerieke variabele. *** Tel uit je winst!"
25220 DATA"*** Een post is MAXIMAAL 45 karakters. In het"
25230 DATA"geheugen van uw computer neemt dat 45+3=48"
25240 DATA"bytes in beslag. Ieder karakter geconverteerd"
25250 DATA"naar een numerieke variabele betekent EXTRA:"
25260 DATA"& bij APPLE : 45*5=225 bytes& & bij P2000T:"
25270 DATA"45*4=180 bytes& Van Ex.Sorcerer zijn geen"
25280 DATA"gegevens bekend. *** Per post dus TOTAAL"
25290 DATA"273 resp 228 bytes. *** Dat is te gek, zult U"
25300 DATA"zeggen! Ook mijn idee. Daar moeten we iets"
25310 DATA"aan doen! *** Het Basicode Protocol staat"
25320 DATA"getallen van 6 cijfers toe. Daar houden we ons"
25330 DATA"aan! De ASCII-code van HOOFDLETTERS is bij"
25340 DATA"deze computers twee cijfers (65-90). We nemen"
25350 DATA"steeds 3 ASCII-codes, maken hiervan string-"
25360 DATA"variabelen, tellen deze op (bijv 656667) en"
25370 DATA"nemen van het resultaat de VAL. Als U ook"
25380 DATA"KLEINE LETTERS wilt gebruiken (ASCII- code"
25390 DATA"97-122) kunt U twee ASCII-codes samen nemen."
25400 DATA"(we bepalen ons hier tot drie ASCII-codes van"
25410 DATA"HOOFDLETTERS). Per post wordt het dan:"
25420 DATA"(45/3+1)*5+48=128 bytes resp 112 bytes. ***"
25430 DATA"Met deze methode is in de DIM-statements"
25440 DATA"rekening gehouden! *** Het kan nog korter!"
25450 DATA"De voorwaarde hiervoor is dat uw computer"
25460 DATA"INTEGER variabelen kent. Een bijkomend"
25470 DATA"voordeel bij deze methode is, dat U nu"
25480 DATA"ook KLEINE LETTERS kunt gebruiken. In alle"
25490 DATA"programma's moet nu iets worden gewijzigd! ***"
25500 DATA"Per post wordt het nu: &((45+1)/2+1)*2+48=96"
25510 DATA"bytes& zowel voor APPLE als P2000T. ---"
25520 DATA"Hierna volgen twee sets routines. Aan U de"
25530 DATA"keus! --- *** Gebruikers van P2000T, opgelet!"
25540 DATA"In MACH.AFH.ROUTINES staat een vraagteken."
25550 DATA"Vervang dat door een apestaartje, ook wel"
25560 DATA"ad-teken genoemd. --- ---"
25570 DATA"<3 ASCII's IN EEN NUM.VAR.>"
25580 DATA"<INLEZEN> &20100 zie mach.afh.routines& &20110"
25590 DATA"N=A(0,0)& &20120 FOR I=1 TO N& &20125 Z$=''''"
25600 DATA"(leeg)& &20130 FOR M=1 TO A(I,0)& &20140"
25610 DATA"SR=A(I,M):GOSUB300&"
25620 DATA"&20150 A1=VAL(MID$(SR$,1,2))&"
25630 DATA"&20160 A2=VAL(MID$(SR$,3,2))&"
25640 DATA"&20170 A3=VAL(MID$(SR$,5,2))&"
25650 DATA"&20180 Z$=Z$+CHR$(A1)+CHR$(A2)&"
25660 DATA"&20185 Z$=Z$+CHR$(A3)&"
25670 DATA"&20190 PRINTI;'' '';Z$&"
25680 DATA"&20200 NEXT M&"
25690 DATA"&20210 IFRIGHT$(Z$,1)='' ''& & THEN 20300&"
25700 DATA"&20220 N$(I)=Z$:NEXTI&"
25710 DATA"&20230 GOSUB270:GOTO20600 ??&"
25720 DATA"&20300 Z$=LEFT$(Z$,LEN(Z$)-1)&"
25730 DATA"&20310 GOTO20210& --- <WEGSCHRIJVEN>"
25740 DATA"&21100 FOR I=1 TO N& &21105 Z$=N$(I)&"
25750 DATA"&21110 L=LEN(Z$)& &21120 IF(L<>3*INT(L/3))&"
25760 DATA"& THEN 21300& &21130 A(I,0)=L/3:M=0&"
25770 DATA"&21140 FOR K=1 TO L STEP 3&"
25780 DATA"&21150 A1=ASC(MID$(Z$,K,1))&"
25790 DATA"&21160 SR=A1:GOSUB300:A1$=SR$&"
25800 DATA"&21170 A2=ASC(MID$(Z$,K+1,1))&"
25810 DATA"&21180 SR=A2:GOSUB300:A2$=SR$&"
25820 DATA"&21190 A3=ASC(MID$(Z$,K+2,1))&"
25830 DATA"&21200 SR=A3:GOSUB300:A3$=SR$&"
25840 DATA"&21210 M=M+1& &21215 A(I,M)=VAL(A1$+A2$+A3$)&"
25850 DATA"&21220 PRINTI;'' '';A(I,M)&"
25860 DATA"&21230 NEXTK:NEXTI:A(0,0)=N&"
25870 DATA"&21240 zie mach.afh.routines&"
25880 DATA"&21250 GOSUB270:GOTO21600 ??&"
25890 DATA"&21300 Z$=Z$+'' '':GOTO21110& ---"
25900 DATA"<MACH.AFH.ROUTINES> --- &Inlezen (20100):& ***"
25910 DATA"APPLE/ITT-2020: & RECALL A& *** EX.SORCERER:"
25920 DATA"&20100 GOSUB21400& &20102 CLOAD*1A&"
25930 DATA"&20104 GOSUB21500& *** P2000T: &CLOAD*A?T$&"
25940 DATA"--- &Wegschrijven (21240):& *** APPLE/ITT-2020:"
25950 DATA"& STORE A& *** EX.SORCERER: &21235 GOSUB21400&"
25960 DATA"&21240 CSAVE*1A& &21245 GOSUB21500& *** P2000T:"
25970 DATA"&CSAVE*A?T$& --- EX.SORCERER toe te voegen:"
25980 DATA"&21400 REM BAUDRATE 1200-->300&"
25990 DATA"&21410 BR=256*PEEK(-4095)&"
26000 DATA"&21415 BR=BR+PEEK(-4096)&"
26010 DATA"&21420 IF BR>32767 THEN& & BR=BR-65536&"
26020 DATA"&21430 POKE BR-49,0& &21440 RETURN& ***"
26030 DATA"&21500 REM BAUDRATE 300-->1200&"
26040 DATA"&21510 BR=256*PEEK(-4095)&"
26050 DATA"&21515 BR=BR+PEEK(-4096)&"
26060 DATA"&21520 IF BR>32767 THEN& & BR=BR-65536&"
26070 DATA"&21530 POKE BR-49,64& &21540 RETURN& --- ---"
26080 DATA"<2 ASCII's IN EEN INT.VAR.> Alle programma's"
26090 DATA"moeten hiervoor op een plaats worden gewijzigd."
26100 DATA"In de regels 1000-1200 staat 'ergens':"
26110 DATA"&IF CR=1 THEN DIM A(NR,15)& *** Wijzig die"
26120 DATA"regel in: &IF CR=1 THEN DIM A%(NR,23)& ---"
26130 DATA"<INLEZEN> &20100 zie mach.afh.routines&"
26140 DATA"&20110 N=A%(0,0)& &20120 FOR I=1 TO N&"
26150 DATA"&20125 Z$='''' (leeg)& &20130 FOR M=1 TO"
26160 DATA"A%(I,0)& &20140 A%=INT(A%(I,M)/256)& &20150"
26170 DATA"B%=A%(I,M)-256*A%& &20160 Z$=Z$+CHR$(A%)"
26180 DATA"+CHR$(B%)& &20170 PRINTI;'' '';Z$:NEXT M&"
26190 DATA"&20180 IF RIGHT$(Z$,1)='' ''& & THEN"
26200 DATA"20300& &20190 N$(I)=Z$:NEXTI& &20200 GOSUB270:"
26210 DATA"GOTO20600 ??& &20300 Z$=LEFT$(Z$,LEN(Z$)-1)&"
26220 DATA"&20310 GOTO20180& --- <WEGSCHRIJVEN>"
26230 DATA"&21100 FOR I=1 TO N& &21105 Z$=N$(I)& &21110"
26240 DATA"L=LEN(Z$)& &21120 IF(L<>2*INT(L/2))&"
26250 DATA"& THEN 21300& &21130 A%(I,0)=L/2:M=0&"
26260 DATA"&21140 FOR K=1 TO L STEP 2&"
26270 DATA"&21150 A%=ASC(MID$(Z$,K,1))&"
26280 DATA"&21160 B%=ASC(MID$(Z$,K+1,1))&"
26290 DATA"&21170 M=M+1:A%(I,M)=256*A%+B%& &21180"
26300 DATA"PRINTI;'' '';A%(I,M)& &21190 NEXTK:NEXTI:"
26310 DATA"A%(0,0)=N& &21200 zie mach.afh.routines&"
26320 DATA"&21210 GOSUB270:GOTO21600 ??&"
26330 DATA"&21300 Z$=Z$+'' '':GOTO21110& ---"
26340 DATA"<MACH.AFH.ROUTINES> --- &Inlezen (20100):&"
26350 DATA"*** APPLE/ITT-2020: & RECALL A%& ***"
26360 DATA"EX.SORCERER: &20100 GOSUB21400& &20102"
26370 DATA"CLOAD*1A%& &20104 GOSUB21500& *** P2000T:"
26380 DATA"&CLOAD*A%?T$& --- &Wegschrijven (21200):& ***"
26390 DATA"APPLE/ITT-2020: & STORE A%& ***"
26400 DATA"EX.SORCERER: &21195 GOSUB21400& &21200"
26410 DATA"CSAVE*1A%& &21205 GOSUB21500& *** P2000T:"
26420 DATA"&CSAVE*A%?T$& --- EX.SORCERER toe te voegen:"
26430 DATA"zie routines hierboven om de BAUDRATE te"
26440 DATA"wijzigen. ***"
29990 DATA"999"
30000 REM
30010 REM HOBBYSCOOP-BASICODE2
30020 REM * *
30030 REM * INT.HH-REKENING *
30040 REM * TOELICHTING-3B *
30050 REM *
30060 REM P INGEZONDEN DOOR
30070 REM O 1
30080 REM S B.P.M.RINTJEMA 2
30090 REM T TUINSTRAAT 13 0
30100 REM B 5802 AD VENRAY 0
30110 REM U
30120 REM S EIGEN ONTWERP *
30130 REM FEB.84/ITT-2020 *
30140 REM * NOV.84/APPLE IIE *
30150 REM * *
30160 REM **** HILVERSUM *****
30170 REM
30180 REM COPYRIGHT NOS - HILVERSUM