-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathB04_Universeel_print_progr.bc2
515 lines (514 loc) · 17.6 KB
/
B04_Universeel_print_progr.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
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
1000 GOSUB3500:GOTO20:REM UNI-PP-PROGRAMMA
1010 N1$="INTEGRALE HUISHOUD-REKENING"
1020 N2$="UNIVERSEEL PRINT/PRINTER-PROGRAMMA"
1030 GOSUB3500:GOSUB3600
1040 DIMN$(NR)
1050 IFCR=1 THENDIMA(NR,15)
1060 DIMS$(9)
1200 CN=2:CT=9
1800 GOSUB9000:GOTO3800
2150 GOSUB100:N$=N1$:VE=0:GOSUB3000
2160 N$=N2$:VE=2:GOSUB3000:RETURN
2170 GOSUB100:N$=N4$:VE=0:GOSUB3000
2180 N$=N3$:VE=2:GOSUB3000:RETURN
2200 REM DATUM CONTROLE+CONVERSIE
2210 IFLEN(L$)<>6 THENM=1:GOTO2530
2220 DD=VAL(LEFT$(L$,2))
2230 IF(DD<1) OR(DD>31) THENM=1:GOTO2530
2240 MM=VAL(MID$(L$,3,2))
2250 IF(MM<1) OR(MM>12) THENM=1:GOTO2530
2260 IF(MM=2) AND(DD>29) THENM=1:GOTO2530
2270 IF(MM=4) AND(DD>30) THENM=1:GOTO2530
2280 IF(MM=6) AND(DD>30) THENM=1:GOTO2530
2290 IF(MM=9) AND(DD>30) THENM=1:GOTO2530
2300 IF(MM=11) AND(DD>30) THENM=1:GOTO2530
2310 JJ=VAL(RIGHT$(L$,2))
2320 IF(JJ<70) THENM=1:GOTO2540
2330 IF((JJ/4)<>INT(JJ/4)) THEN2370
2340 SS=365*JJ+DD:IFMM<3 THEN2360
2350 SS=SS-INT(MM*.4+2.3):JJ=JJ+1
2360 SS=SS+INT(MM*31+((JJ-1)/4)):RETURN
2370 IF(MM=2) AND(DD=29) THENM=1:GOTO2530
2380 GOTO2340
2500 REM FOUTMELDINGEN
2510 GOSUB250
2520 PRINT"Ook dit gegeven hoort er bij!":GOTO2700
2530 GOSUB250:PRINT"Datum niet correct!":GOTO2700
2540 GOSUB250
2550 PRINT"Graag een datum na '010170'":GOTO2700
2700 REM CORRECTIE
2710 FORK=1 TO1000:NEXTK:HO=0:GOSUB110:GOSUB2740
2720 VE=VE+1:GOSUB110:GOSUB2740
2730 VE=VE+1:GOSUB110:GOSUB2740:RETURN
2740 PRINT" "
2750 RETURN
3000 REM KOPPEN CENTREREN
3010 X$="---------------------------------------"
3020 X=LEN(N$):HO=INT((40-X)/2):X$=LEFT$(X$,X)
3030 GOSUB110:PRINTN$
3040 VE=VE+1:GOSUB110:PRINTX$:RETURN
3050 REM STREEP ER ONDER
3060 X$="---------------------------------------"
3070 X$=LEFT$(X$,L):IFM=5 THENM=0:RETURN
3080 PRINTX$:RETURN
3100 GOSUB250:HO=0:VE=23:GOSUB110
3110 PRINT"Druk een toets in ...";
3120 GOSUB210:PRINT:RETURN
3200 REM SALDO TUSSENVOEGEN
3210 M1$=LEFT$(N$(I),26)
3220 M2$=RIGHT$(N$(I),LEN(N$(I))-26)
3230 RETURN
3300 REM STRING N$(I) UITEEN 2E X
3310 M1$=MID$(L$,1,6)
3320 M2$=MID$(L$,7,4)
3330 M3$=MID$(L$,11,4)
3340 M4$=MID$(L$,15,1)
3350 M5$=MID$(L$,16,2)
3360 M6$=MID$(L$,18,9)
3370 M7$=MID$(L$,27,9)
3380 M8$=RIGHT$(L$,LEN(L$)-35)
3390 RETURN
3500 REM BEREKENING 'A' IN 'CLEAR A'
3510 RESTORE:READNR
3520 A=(54+3)*NR:REM POSTEN
3530 A=A+100:REM SPIL S$(9)
3540 RETURN
3600 READN$:GOSUB100:GOSUB15000
3610 GOSUB100:N$="INTEGRALE HUISHOUD-REKENING":VE=0
3620 GOSUB3000:GOSUB250:HO=3:VE=14:GOSUB110
3630 PRINT"Moet U een bestand !! NUMERIEK !!"
3640 VE=16:GOSUB110:PRINT"opslaan? (J/N): ";
3650 GOSUB210:PRINT:GOSUB23000
3660 CR=0:IFIN$="J" THENCR=1
3670 RETURN
3800 REM INITIALISEREN
3810 N=0:A=0:P=0:FL=0
3820 T=0:T1=0:TT$=""
4000 GOSUB2150:PRINT
4010 PRINT:PRINT" 1=Video-prints (op scherm)"
4020 PRINT:PRINT" 2=Print-outs (met printer)"
4030 PRINT:PRINT
4040 GOSUB250:PRINT"Uw keuze: ";:GOSUB210:PRINTIN$
4050 W=VAL(IN$):IF(W<1) OR(W>2) THEN4000
4060 ONW GOTO4400,7000
4100 FORI=1 TO3:GOSUB250:NEXTI:HO=0:VE=21
4110 GOSUB110:GOSUB2740:HO=8:GOSUB110
4120 PRINT"Geen dubbele kenmerken!":GOSUB3100
4130 RETURN
4200 FORI=1 TO3:GOSUB250:NEXTI:HO=0:VE=21
4210 GOSUB110:GOSUB2740:VE=20:GOSUB110
4220 PRINT"U gaf op: ";X1;" kar. op een regel."
4230 PRINT" ";RL;" kar. is te lang!":GOSUB3100
4240 RETURN
4300 REM DATA OMWISSELEN
4310 L$=D1$:D1$=D2$:D2$=L$:L$=""
4320 L=D1:D1=D2:D2=L:RETURN
4330 PRINT:PRINT"Tenminste 30 karakters!"
4340 GOSUB3100:RETURN
4350 PRINT:PRINT"Tenminste 15 regels!"
4360 GOSUB3100:RETURN
4370 PRINT:PRINT"Tenminste 20 regels!"
4380 GOSUB3100:RETURN
4400 N3$="Video-Prints":N4$=N2$:PT=0
4410 GOSUB2170:GOSUB250:HO=5:VE=5:GOSUB110
4420 PRINT"De tekst stelt U zelf samen!":PRINT
4430 PRINT"Aantal karakters op een regel : ";:INPUTX1
4440 IFX1<30 THENGOSUB4330:GOTO4410
4450 PRINT"Aantal regels op uw scherm/blad: ";:INPUTX2
4460 IF(PT=0) AND(X2<15) THENGOSUB4350:GOTO4410
4470 IF(PT=5) AND(X2<20) THENGOSUB4370:GOTO4410
4480 PRINT:PRINT"U kiest welke kenmerken moeten worden"
4490 PRINT"geprint.":PRINT
4500 PRINT"Met 1 spatie tussen de kenmerken en"
4510 PRINT"aan het einde is rekening gehouden.":PRINT
4520 PRINT"De tekst wordt in kolommen samenge-"
4530 PRINT"voegd.":PRINT
4540 PRINT"De kolommen worden gelijkmatig over"
4550 PRINT"het scherm/blad verdeeld.":GOSUB3100
4600 GOSUB2170:PRINT
4610 PRINT" 1=Datum .....................: 7 kar."
4620 PRINT" 2=Crediet-dagen .............: 5 kar."
4630 PRINT" 3=Bank-Afrekeningnummer .....: 5 kar."
4640 PRINT" 4=Chequenummer ..............: 5 kar."
4650 PRINT" 5=Plan-Prioriteit ...........: 2 kar."
4660 PRINT" 6=Teken (van boek) ..........: 2 kar."
4670 PRINT" 7=Rubrieknummer .............: 3 kar."
4680 PRINT" 8=Inkomsten/Uitgaven/Saldo ..: 30 kar."
4690 PRINT" 9=Omschrijving ..............: 20 kar."
4700 GOSUB250:PRINT:PRINT"Hoeveel kenmerken wilt U? ";
4710 GOSUB210:PRINTIN$:SK=VAL(IN$)
4720 IFSK<1 THEN4600
4800 L=39:GOSUB3050:K$=""
4810 PRINT"Nu de volgorde van links naar rechts:"
4820 TH=19:TC=(40-4*SK+1)/2-1
4830 FORI=1 TOSK:IFFL=1 THEN4920
4840 GOSUB250:HO=0:VE=21:GOSUB110
4850 PRINT"Kenmerk No.";I;": ";:GOSUB210:PRINTIN$
4860 S$(I)=IN$:S$=IN$
4870 IFVAL(S$)<1 THENFL=1:GOTO4920
4880 GOSUB110:GOSUB2740
4890 IFLEN(S$)<3 THENS$=" "+S$:GOTO4890
4900 K$=K$+S$:HO=TC:VE=TH:GOSUB110
4910 PRINTK$:K$=K$+"-"
4920 NEXTI:IFFL=1 THENFL=0:GOTO4600
4930 K$=LEFT$(K$,LEN(K$)-1):GOTO4940
4940 IFSK=1 THEN5000
4950 FORI=1 TOSK-1:IFFL=1 THEN4990
4960 FORJ=I+1 TOSK
4970 IFS$(I)=S$(J) THENFL=1
4980 NEXTJ
4990 NEXTI:IFFL=1 THENFL=0:GOSUB4100:GOTO4600
5000 RL=0:L1$="":FORI=1 TOSK:S$=S$(I)
5010 GOSUB8000:RL=RL+W:L1$=L1$+W$:NEXTI
5020 IFRL>X1 THENGOSUB4200:GOTO4400
5100 L$="":L=RL:GOSUB8700:LR$=L$:L$=""
5110 S=INT(X1/RL)
5120 L$="":L=RL-1:GOSUB8740:L2$=L$+" ":L$=""
5130 IFS=1 THENKK=1:GOSUB2170:GOTO5400
5200 GOSUB2170:PRINT:GOSUB250
5210 PRINT"Met ";X1;" karakters op een regel":PRINT
5220 PRINT"kunt U de lijst krijgen in:":PRINT
5230 PRINT"maximaal ";S;" kolommen.":PRINT
5240 GOSUB250:PRINT"Hoeveel kolommen wilt U (1-";S;"): ";
5250 INPUTIN$:KK=VAL(IN$)
5260 IF(KK<1) OR(KK>S) THEN5200
5400 RT$="":RT=INT((X1-RL*KK)/(KK+1))
5410 IFLEN(RT$)<RT THENRT$=RT$+" ":GOTO5410
5420 LL=KK*RL+(KK-1)*RT-1
5430 IFLL=X1 THENLL=LL-1
5500 L=39:HO=0:VE=12:GOSUB110:GOSUB3050
5510 PRINT:PRINT"Nu de lengte van de lijst:"
5520 GOSUB250:HO=0:VE=16:GOSUB110
5530 PRINT"vanaf welke datum (DDMMJJ): ";
5540 INPUTD1$:L$=D1$:GOSUB2200
5550 IFM=1 THENM=0:GOTO5520
5560 D1=SS:BL=0:RR=0:BS$=""
5570 GOSUB250:HO=0:VE=18:GOSUB110
5580 PRINT"t/m welke datum (DDMMJJ): ";
5590 INPUTD2$:L$=D2$:GOSUB2200
5600 IFM=1 THENM=0:GOTO5570
5610 D2=SS:IFD1>D2 THENGOSUB4310
5800 REM BESTAND INLEZEN
5810 GOSUB20000:IFN=0 THEN10000
5820 P=0:Q=0:R=0:LR=0:RR=0
5830 L$=LEFT$(N$(N),6):GOSUB2200:D3=SS
5840 GOSUB2170:GOSUB250:PRINT
5850 PRINT"Even geduld svp ..."
5900 REM OVERBODIG DEEL BESTAND AFVOEREN
5910 FORI=1 TON:M6$=MID$(N$(I),18,9)
5920 L$=LEFT$(N$(I),6):GOSUB2200
5930 IFSS<D1 THENGOSUB5970
5940 IFSS<=D2 THENQ=I
5950 IFSS>D2 THENN$(I)=""
5960 NEXTI:GOTO5980
5970 SI=SI-VAL(M6$):P=I:N$(I)="":RETURN
5980 IFP>=N THEN6640
5990 IF(P=0) AND(Q=0) THEN6640
6000 IF(P<>0) AND(Q<>0) THENP=P+1
6010 IF(P=0) AND(Q<>0) THENP=1
6020 N=Q:SR=SI:GOSUB310:IFBS$="" THENBS$=SR$
6030 L$="Begin-saldo: FL. "+BS$
6040 GOSUB250:HO=7:VE=14:GOSUB110:PRINTL$:L$=""
6100 REM SALDO PER POST TUSSENVOEGEN
6110 FORI=P TOQ:M6$=MID$(N$(I),18,9)
6120 SI=SI-VAL(M6$):SR=SI:GOSUB310
6130 GOSUB3200:N$(I)=M1$+SR$+M2$:NEXTI
6140 IFPT=5 THENGOSUB7400
6200 REM INSTELLEN MAAND
6210 FORI=P TOQ-1:IFFL=1 THEN6250
6220 MM$=MID$(N$(I),3,2):JJ$=MID$(N$(I),5,2)
6230 M9$=MID$(N$(I+1),3,2):IFMM$=M9$ THEN6250
6240 R=I:FL=1
6250 NEXTI:FL=0:IFR=0 THENR=Q
6300 REM BLAD-INDELING
6310 IFPT=0 THENV=X2-10:GOSUB7300:GOSUB7600
6320 IFPT=5 THENV=X2-16
6330 SP=INT((R-P+1)/KK)
6340 IF(SP*KK)<>(R-P+1) THENSP=SP+1
6350 IFSP<V THENV=SP
6360 IFV<SP THENSP=V
6370 D=P+V-1:IFPT=5 THENGOSUB6950
6400 REM KERN V/H PROGRAMMA
6410 FORI=P TOD:T$=""
6420 FORJ=0 TOKK-1
6430 LP=I+J*SP
6440 IFLP>R THENT$=T$+LR$:LR=LR+1:GOTO6490
6450 FORK=1 TOSK
6460 L$=N$(LP):GOSUB3300
6470 S$=S$(K):GOSUB8200:T$=T$+W$
6480 NEXTK:T$=T$+RT$
6490 NEXTJ:T$=RT$+T$:L$=T$:T$="":GOSUB8800
6500 NEXTI:L$=L4$:GOSUB8800
6510 P=LP-LR+1:LR=0:IFP>Q THEN6600
6520 IF(P>R) AND(PT=0) THENGOSUB3100:R=0:GOTO6210
6530 IFP>R THENR=0:GOTO6210
6540 IFPT=0 THENGOSUB3100
6550 GOTO6310
6600 IFPT=0 THENGOSUB3100
6610 L$=N$(R):GOSUB3300:L$=M1$:GOSUB2200
6620 ES$=M7$:GOSUB6800:IFD2>D3 THEN6900
6630 IFPT=5 THENGOSUB7800
6640 GOSUB2170:FORI=1 TO3:GOSUB250:NEXTI
6650 PRINT:PRINT"Categorie-en:":L=13:GOSUB3050
6660 PRINT" -Kasboek":PRINT" -Bankrek/Finplan"
6670 PRINT" -Chequeboek":PRINT" -Integraal bestand"
6680 N$="Dit was: "+TT$:VE=12:GOSUB3000:PRINT
6690 GOSUB250:PRINT"Wilt U nu de categorie wijzigen?"
6700 PRINT"Uiteraard met dezelfde instel-gegevens!":PRINT
6710 PRINT" (J/N): ";:GOSUB210:PRINT:GOSUB23000
6720 IFIN$="J" THEN6740
6730 GOTO10000
6740 T1=0:TT$="":SI$="":BS$="":BL=0:RR=0
6750 GOTO5810
6800 FORI=1 TON:N$(I)="":NEXTI:N=0
6810 RETURN
6900 IFPT=5 THENFL=5:GOSUB7700
6910 GOSUB2170:FORI=1 TO3
6920 GOSUB250:NEXTI:HO=0:VE=12:GOSUB110
6930 PRINT"U moet nu het volgende bestand inlezen."
6940 GOSUB3100:GOTO5810
6950 IF(X2-RR)>(D-P+8) THEN6970
6960 GOSUB7700:RR=0:GOSUB7400
6970 GOSUB8500:GOSUB7600:RETURN
7000 N3$="Print-outs":N4$=N2$:PT=5
7010 GOSUB2170:GOSUB250:HO=5:VE=8:GOSUB110
7020 PRINT"Hebt U een printer? (J/N): ";
7030 GOSUB210:PRINT:GOSUB23000
7040 IFIN$="N" THEN4000
7050 FORI=1 TO3:GOSUB250:NEXTI:HO=8:VE=12
7060 GOSUB110:PRINT"Zet deze dan nu aan!"
7070 GOSUB3100:GOSUB2170
7080 N$="BRIEFHOOFD":VE=6:GOSUB3000
7090 GOSUB250:HO=0:VE=9:GOSUB110
7100 PRINT"Uw naam (+voorl.): ";:INPUTNN$
7110 IFNN$="" THENGOSUB2510:GOTO7090
7120 GOSUB250:HO=0:VE=11:GOSUB110
7130 PRINT"Adres ...........: ";:INPUTNA$
7140 IFNA$="" THENGOSUB2510:GOTO7120
7150 GOSUB250:HO=0:VE=13:GOSUB110
7160 PRINT"Postcode+Woonpl. : ";:INPUTNP$
7170 IFNP$="" THENGOSUB2510:GOTO7150
7180 GOSUB250:HO=0:VE=19:GOSUB110
7190 PRINT"Datum vandaag (voluit):":INPUTDT$
7200 IFDT$="" THENGOSUB2510:GOTO7180
7210 GOTO4410
7300 BL=BL+1:SR=BL:GOSUB300
7310 GOSUB100:L$="Blad:"+SR$:L=LL
7320 GOSUB8720:L$=RT$+L$:GOSUB8800
7330 GOSUB8800:GOSUB8500:RETURN
7400 L$=RIGHT$(NP$,LEN(NP$)-8)+", "+DT$
7410 L=LL-LEN(NN$):GOSUB8720
7420 L$=RT$+NN$+L$:GOSUB8800
7430 L$=RT$+NA$:GOSUB8800
7440 BL=BL+1:SR=BL:GOSUB300
7450 L$="Blad: "+SR$:L=LL-LEN(NP$):GOSUB8720
7460 L$=RT$+NP$+L$:GOSUB8800
7470 L$=N1$:GOSUB8900:L$=TT$:GOSUB8900
7480 L$="van "+D1$+" t/m "+D2$:FL=5:GOSUB8900
7490 GOSUB8000:RETURN
7600 FORI=1 TOKK:L$=L$+L2$+RT$:NEXTI
7610 L$=RT$+L$:L4$=L$:GOSUB8800
7620 FORI=1 TOKK:L$=L$+L1$+RT$:NEXTI
7630 L$=RT$+L$:GOSUB8800
7640 L$=L4$:GOSUB8800:RETURN
7700 GOSUB2170:FORI=1 TO3:GOSUB250:NEXTI
7710 HO=0:VE=12:GOSUB110
7720 PRINT"U kunt nu een blad wisselen!"
7730 GOSUB3100:IFFL=5 THENFL=0:RETURN
7740 GOSUB2170:FORI=1 TO3:GOSUB250:NEXTI:HO=13
7750 VE=12:GOSUB110:PRINT"Ik ben bezig!":RETURN
7800 BS$="Begin-saldo: FL. "+BS$
7810 ES$="Eind- saldo: FL. "+ES$
7820 IFX1>60 THEN7850
7830 L$=RT$+BS$:GOSUB8800:L$=RT$+ES$:GOSUB8800
7840 RETURN
7850 L$=ES$:L=LL-LEN(BS$):GOSUB8720:
7860 L$=RT$+BS$+L$:GOSUB8800:RETURN
8000 IFS$="1" THENW=7:W$="Datum"
8010 IFS$="2" THENW=5:W$="CrDg"
8020 IFS$="3" THENW=5:W$="BAfr"
8030 IFS$="4" THENW=5:W$="Chno"
8040 IFS$="5" THENW=2:W$="P"
8050 IFS$="6" THENW=2:W$="T"
8060 IFS$="7" THENW=3:W$="RB"
8070 IFS$="8" THENW=30:GOSUB8110
8080 IFS$="9" THENW=20:W$="Omschrijving"
8090 IFLEN(W$)<W THENW$=W$+" ":GOTO8090
8100 RETURN
8110 W$="Inkomsten Uitgaven Saldo "
8120 RETURN
8200 IFS$="1" THENW=7:W$=M1$
8210 IFS$="2" THENW=5:W$=" ":GOSUB8310
8220 IFS$="3" THENW=5:W$=" ":GOSUB8330
8230 IFS$="4" THENW=5:W$=" ":GOSUB8350
8240 IFS$="5" THENW=2:W$=" ":GOSUB8380
8250 IFS$="6" THENW=2:W$=M4$
8260 IFS$="7" THENW=3:W$=M5$
8270 IFS$="8" THENW=30:GOSUB8400
8280 IFS$="9" THENW=20:W$=M8$:GOSUB8440
8290 IFLEN(W$)<W THENW$=W$+" ":GOTO8290
8300 RETURN
8310 IF(M4$="0") OR(M4$="1") THENW$=M2$
8320 RETURN
8330 IF(M4$="1") OR(M4$="2") THENW$=M3$
8340 RETURN
8350 IF(M4$="0") THENW$=M3$
8360 IF(M4$="1") THENW$=LEFT$(M8$,4)
8370 RETURN
8380 IF(M4$="4") THENW$=RIGHT$(M3$,1)
8390 RETURN
8400 IFVAL(M6$)<0 THEN8420
8410 W$=" "+M6$+" "+M7$:RETURN
8420 SR=-VAL(M6$):GOSUB310:M6$=SR$
8430 W$=M6$+" "+M7$:RETURN
8440 IF(M4$="1") THENW$=RIGHT$(M8$,LEN(M8$)-5)
8450 RETURN
8500 MM=VAL(MM$):IFPT=5 THENGOSUB8800
8510 IF(MM<5) THENMM=MM-1:GOSUB8570
8520 IF(MM>=5) AND(MM<9) THENMM=MM-5:GOSUB8580
8530 IF(MM>=9) THENMM=MM-9:GOSUB8590
8540 L$=MID$(MO$,(MM*9+1),9)
8550 IFRIGHT$(L$,1)=" " THENGOSUB8600:GOTO8550
8560 L$=L$+" 19"+JJ$:GOSUB8900:RETURN
8570 MO$="Januari Februari Maart April ":RETURN
8580 MO$="Mei Juni Juli Augustus ":RETURN
8590 MO$="SeptemberOktober November December ":RETURN
8600 L$=LEFT$(L$,LEN(L$)-1):RETURN
8700 IFLEN(L$)<L THENL$=L$+" ":GOTO8700
8710 RETURN
8720 IFLEN(L$)<L THENL$=" "+L$:GOTO8720
8730 RETURN
8740 IFLEN(L$)<L THENL$=L$+"-":GOTO8740
8750 RETURN
8800 IFLEN(L$)=X1 THENL$=LEFT$(L$,X1-1)
8810 IFPT=5 THEN8830
8820 PRINTL$:L$="":RETURN
8830 SR$=L$:GOSUB350:GOSUB360
8840 SR$="":L$="":RR=RR+1:RETURN
8900 L1=LEN(L$):L2=(LL-L1)/2:L=L1+L2
8910 GOSUB8720:L$=RT$+L$:GOSUB8800
8920 IFFL=5 THENFL=0:RETURN
8930 L=L1:GOSUB8740:L=L1+L2:GOSUB8720
8940 L$=RT$+L$:GOSUB8800:RETURN
9000 GOSUB2150:HO=0:VE=14:GOSUB110
9010 PRINT"Wilt U een aanvullende toelichting?":GOSUB250
9020 PRINT:PRINT" (J/N): ";:GOSUB210:PRINT:GOSUB23000
9030 IFIN$="J" THEN9050
9040 RETURN
9050 N3$="Aanvullende Toelichting"
9060 N4$=N2$:GOSUB2170:PRINT
9070 PRINT"Dit is een informatie-doorvoer-pro-"
9080 PRINT"gramma, vanuit uw opslagmedium naar het"
9090 PRINT"scherm of printer.":PRINT
9100 PRINT"U kunt al uw bestanden inlezen!":PRINT
9110 PRINT"OOK integrale bestanden die U in het"
9120 PRINT"progr.'Utility No.1' hebt samengesteld.":PRINT
9130 PRINT"U moet wel steeds iedere CATEGORIE"
9140 PRINT"geheel afwerken voordat U aan een"
9150 PRINT"nieuwe categorie begint.":PRINT
9160 PRINT"Let daarbij steeds goed op de volgorde"
9170 PRINT"van inlezen!":GOSUB3100:GOSUB2170:PRINT
9180 PRINT"Na het inlezen van een bestand wordt"
9190 PRINT"het saldo na iedere post berekend en"
9200 PRINT"in de strings tussengevoegd.":PRINT
9210 PRINT"Een ingelezen bestand wordt hierdoor"
9220 PRINT"20% groter!":PRINT
9230 PRINT"U moet hiermee rekening houden!":PRINT
9240 PRINT"U kunt uw bestanden splitsen (opdelen)"
9250 PRINT"in het progr.'Utility No.1'."
9260 GOSUB3100:GOSUB2170:PRINT
9270 PRINT"Als U een print wilt hebben t/m de"
9280 PRINT"laatste post van een bestand, geef dan"
9290 PRINT"de datum van die laatste post!":PRINT
9300 PRINT"Uw computer kan niet weten of U nog een"
9310 PRINT"volgend bestand hebt."
9320 GOSUB3100:GOSUB2170:PRINT
9330 L=39:GOSUB3050
9340 PRINT"Bestand Inlezen":GOSUB3050
9350 PRINT"20100-20500":GOSUB3050
9360 PRINT" INPUT A"
9370 PRINT" FOR I=N+1 TO N+A"
9380 PRINT" INPUT N$(I)"
9390 PRINT" NEXT I":GOSUB3050
9400 PRINT"Lengte van een post: MAX. 45 kar."
9410 PRINT"(dat is bij het inlezen v/h bestand)":PRINT
9420 PRINT"Denk aan het MAX. AANTAL posten!"
9430 PRINT" (REGEL 25000 DATA ";NR;")"
9440 GOSUB3100:RETURN
10000 GOSUB2150:FORI=1 TO5:GOSUB250:NEXTI
10010 HO=9:VE=12:GOSUB110
10020 PRINT"Tot de volgende keer!"
10030 END
15000 X$="":GOSUB250:HO=12:VE=12:GOSUB110
15010 PRINT"Uw code: ";:FORI=1 TOLEN(N$)
15020 GOSUB210:X$=X$+IN$:NEXTI:PRINT
15030 IFX$=N$ THENRETURN
15040 GOTO10000
20000 GOSUB100:N$="Bestand Inlezen":VE=0:GOSUB3000
20010 IFTT$="" THEN20100
20020 N$=TT$:VE=2:GOSUB3000
20100 GOSUB3100
20600 N=N+A:IFN=0 THENRETURN
20610 T=VAL(RIGHT$(N$(N),1))
20620 IFT1=0 THENT1=T
20630 IFT<>T1 THEN20800
20640 IFT=1 THENTT$="Chequeboek":GOTO20790
20650 IFT=2 THENTT$="Bankrek/Finplan":GOTO20780
20660 IFT=3 THENTT$="Kasboek":GOTO20780
20670 IFT=4 THENTT$="Integraal Bestand":GOTO20780
20680 GOSUB2170:FORI=1 TO3:GOSUB250:NEXTI
20690 HO=0:VE=10:GOSUB110
20700 PRINT"U hebt het verkeerde bestand ingelezen!"
20710 VE=14:GOSUB110
20720 PRINT"Wilt U een ander bestand inlezen?":PRINT
20730 PRINT" (J/N): ";:GOSUB210:PRINT:GOSUB23000
20740 IFIN$="J" THEN20760
20750 N=0:RETURN
20760 FORI=N-A+1 TON:N$(I)="":NEXTI
20770 N=N-A:GOTO20000
20780 IFSI$="" THENSI$=MID$(N$(N),7,9):SI=VAL(SI$)
20790 N$(N)="":N=N-1:RETURN
20800 GOSUB2170:FORI=1 TO3:GOSUB250:NEXTI
20810 HO=0:VE=8:GOSUB110
20820 PRINT"Dit bestand was geen ";TT$:PRINT
20830 PRINT"Voor INTEGRAAL PRINTEN zie de aanvul-"
20840 PRINT"lende toelichting in dit programma."
20850 GOTO20710
20990 RETURN
23000 REM HL ROUTINE
23010 REM ----------
23020 HL=ASC("a")-ASC("A")
23030 IFHL<0 THEN23200
23040 SR$="":FORZ=1 TOLEN(IN$)
23050 SR=ASC(MID$(IN$,Z,1))
23060 IF(SR>96) AND(SR<123) THENSR=SR-HL
23070 SR$=SR$+CHR$(SR)
23080 NEXTZ:IN$=SR$:RETURN
23200 HL=ABS(HL)
23210 SR$="":FORZ=1 TOLEN(IN$)
23220 SR=ASC(MID$(IN$,Z,1))
23230 IF(SR>64) AND(SR<91) THENSR=SR+HL
23240 SR$=SR$+CHR$(SR)
23250 NEXTZ:IN$=SR$:RETURN
25000 DATA101
25010 DATA"1234"
30000 REM
30010 REM HOBBYSCOOP-BASICODE2
30020 REM * *
30030 REM * INT.HH-REKENING *
30040 REM * PRINT/PRINTER *
30050 REM * PROGRAMMA *
30060 REM *
30070 REM P INGEZONDEN DOOR
30080 REM O 1
30090 REM S B.P.M.RINTJEMA 2
30100 REM T TUINSTRAAT 13 0
30110 REM B 5802 AD VENRAY 0
30120 REM U
30130 REM S EIGEN ONTWERP *
30140 REM FEB.84/ITT-2020 *
30150 REM * DEC.84/APPLE IIE *
30160 REM * *
30170 REM **** HILVERSUM *****
30180 REM
30190 REM COPYRIGHT NOS - HILVERSUM