-
Notifications
You must be signed in to change notification settings - Fork 11
/
Copy pathA06_Gesimuleerd_bestand.bc2
515 lines (514 loc) · 17.3 KB
/
A06_Gesimuleerd_bestand.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 GOSUB3600:GOTO20:REM SIMULATIE BESTAND
1010 N1$="INTEGRALE HUISHOUD-REKENING"
1020 N2$="SIMULATIE BESTAND":GOSUB3600
1030 DIMN$(NR)
1040 DIMZZ(NR),Z(NR)
1050 GOSUB3700
1060 IFCR=1 THENDIMA(NR,15)
1070 DIMRB$(20)
1200 SR=1000:CN=2:CT=9:GOSUB310
1210 SK$=SR$:SB$=SR$
1220 SR=0:GOSUB310:SC$=SR$:SD$=SR$
1230 DK$="010170":DB$=DK$:DC$=DK$:DP$=DK$
1790 M=0:N=0
1800 GOTO3800
1900 REM TELLERS
1910 HO=7:GOSUB110:PRINTT1:RETURN
1920 HO=12:GOSUB110:PRINTT2:RETURN
1930 HO=17:GOSUB110:PRINTT3:RETURN
1940 HO=22:GOSUB110:PRINTT4:RETURN
1950 HO=27:GOSUB110:PRINTT5:RETURN
2000 GOSUB100:N3$="Posten genereren"
2010 N$=N3$:VE=0:GOSUB3000
2020 N$=N4$:VE=2:GOSUB3000
2030 N$="Tellers RANDOM NUMBER GENERATOR":VE=6:GOSUB3000
2040 HO=3:VE=9:GOSUB110
2050 PRINT"Jr Mnd Dgn Tek Rub Bedr"
2060 HO=3:VE=11:GOSUB110:PRINT"1"
2070 IF(SK=1) OR(SK=3) THENHO=17:GOSUB110:PRINT"1"
2080 J$=RIGHT$(DN$,2)
2090 T1=0:T2=0:T3=0:T4=0:T5=0
2100 FORI=1 TON
2110 REM MAANDEN
2120 T1=T1+1:GOSUB1910:GOSUB260:SR=INT(15*RV)
2130 IF(SR<1) OR(SR>12) THEN2120
2140 GOSUB300:M$=SR$
2150 IFLEN(M$)=1 THENM$="0"+M$
2160 REM DAGEN
2170 T2=T2+1:GOSUB1920:GOSUB260:SR=INT(40*RV)
2180 IF(SR<1) OR(SR>31) THEN2170
2190 IF(VAL(M$)=2) AND(SR>28) THEN2170
2200 IF(VAL(M$)=4) AND(SR>30) THEN2170
2210 IF(VAL(M$)=6) AND(SR>30) THEN2170
2220 IF(VAL(M$)=9) AND(SR>30) THEN2170
2230 IF(VAL(M$)=11) AND(SR>30) THEN2170
2240 GOSUB300:D$=SR$
2250 IFLEN(D$)=1 THEND$="0"+D$
2260 L$=D$+M$+J$:GOSUB3350:L3=SS
2270 IFL3<L4 THEN2120
2280 IF(SK=1) AND(L3>L1) THEN2120
2290 IF(SK=3) AND(L3>L1) THEN2120
2300 IF(SK=1) OR(SK=3) THEN2400
2310 IF(L3>L1+60) THEN2120
2320 IF(L3>=L1) THENSR=4:GOTO2390
2330 IF(L3<L1-30) THENSR=2:GOTO2390
2340 REM TEKEN 2/4
2350 T3=T3+1:GOSUB1930:GOSUB260:SR=INT(6*RV)
2360 IFSR>4 THEN2350
2370 IF(SR=0) OR(SR=1) THENSR=2
2380 IF(SR=3) THENSR=4
2390 GOSUB300:T$=SR$
2400 REM RUBRIEKEN
2410 T4=T4+1:GOSUB1940:GOSUB260:SR=INT(25*RV)
2420 IF(SR<1) OR(SR>20) THEN2410
2430 IF((SR=18) OR(SR=20)) AND(T$="0") THEN2410
2440 IF(SR=19) AND(T$="2") THEN2410
2450 IF((SR=19) OR(SR=20)) AND(T$="3") THEN2410
2460 IF((SR=19) OR(SR=20)) AND(T$="4") THEN2410
2470 GOSUB300:R$=SR$
2480 IFLEN(R$)=1 THENR$="0"+R$
2490 REM BEDRAGEN
2500 T5=T5+1:GOSUB1950:GOSUB260:SR=INT(10000*RV)
2510 IFR$="18" THENSR=-INT(100000*RV)
2520 IFSR=0 THEN2500
2530 SR=SR/100:GOSUB310
2540 REM RECORD OPBOUWEN
2550 N$(I)=D$+M$+J$+T$+R$+SR$
2560 NEXTI:GOSUB3100:GOSUB270
2600 GOSUB100:N$="Sorteren op Conversie-Datum"
2610 VE=0:GOSUB3000
2620 N$="met SHELL-SORT":VE=2:GOSUB3000:GOSUB250
2630 PRINT:PRINT"1.Datum converteren en in index zetten,"
2640 GOSUB250:FORI=1 TON
2650 L$=LEFT$(N$(I),6):GOSUB3350:ZZ(I)=SS:Z(I)=I:NEXTI
2660 GOSUB250:PRINT:PRINT"2.Sorteren."
2670 N$="Tellers Passages en Wisselingen":VE=9:GOSUB3000
2680 HO=7:VE=12:GOSUB110
2690 PRINT"PA1 PA2 PA3 PA4 WIS"
2700 T1=0:T2=0:T3=0:T4=0:T5=0:VE=14
2710 M=N
2720 M=INT(M/2):T1=T1+1:GOSUB1910
2730 IFM=0 THENT4=T4+1:GOSUB1940:GOTO2840
2740 J=1:K=N-M
2750 H=J
2760 V=H+M
2770 IFZZ(H)<=ZZ(V) THEN2820
2780 ZZ(0)=ZZ(H):ZZ(H)=ZZ(V):ZZ(V)=ZZ(0)
2790 ZZ$=N$(H):N$(H)=N$(V):N$(V)=ZZ$
2800 T5=T5+1:GOSUB1950:H=H-M:IFH<1 THEN2820
2810 GOTO2760
2820 T2=T2+1:GOSUB1920:J=J+1:IFJ>K THEN2720
2830 T3=T3+1:GOSUB1930:GOTO2750
2840 GOSUB250:PRINT
2850 PRINT"Gereed! - NU: GARBAGE COLLECTION"
2860 GOSUB270:RETURN
2900 GOSUB100:N$=N1$:VE=0:GOSUB3000
2910 N$=N2$:VE=2:GOSUB3000:RETURN
3000 REM KOPPEN CENTREREN
3010 X$="---------------------------------------"
3020 X=LEN(N$):HO=INT((40-X)/2):X$=LEFT$(X$,X)
3030 GOSUB110:PRINTN$
3035 IFM=5 THENM=0:RETURN
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
3150 GOSUB250:HO=0:VE=23:GOSUB110
3160 PRINT"T=Terug/S=Stoppen/V=Verder ...";
3170 GOSUB210:PRINT:GOSUB23000:RETURN
3200 REM STRING UITEENHALEN 1E MAAL
3210 M1$=MID$(L$,1,6)
3220 M4$=MID$(L$,7,1)
3230 M5$=MID$(L$,8,2)
3240 M6$=MID$(L$,10,9):RETURN
3250 REM STRING UITEENHALEN 2E MAAL
3260 M1$=MID$(L$,1,6)
3270 M2$=MID$(L$,7,4)
3280 M3$=MID$(L$,11,4)
3290 M4$=MID$(L$,15,1)
3300 M5$=MID$(L$,16,2)
3310 M6$=MID$(L$,18,9)
3320 M7$=RIGHT$(L$,LEN(L$)-26)
3330 RETURN
3350 REM DATUM CONTROLE + CONVERSIE
3360 IFLEN(L$)<>6 THENM=1:GOTO4410
3370 DD=VAL(LEFT$(L$,2))
3380 IF(DD<1) OR(DD>31) THENM=1:GOTO4410
3390 MM=VAL(MID$(L$,3,2))
3400 IF(MM<1) OR(MM>12) THENM=1:GOTO4410
3410 IF(MM=2) AND(DD>29) THENM=1:GOTO4410
3420 IF(MM=4) AND(DD>30) THENM=1:GOTO4410
3430 IF(MM=6) AND(DD>30) THENM=1:GOTO4410
3440 IF(MM=9) AND(DD>30) THENM=1:GOTO4410
3450 IF(MM=11) AND(DD>30) THENM=1:GOTO4410
3460 JJ=VAL(RIGHT$(L$,2))
3470 IF(JJ<70) THENM=1:GOTO4420
3480 IF((JJ/4)<>INT(JJ/4)) THEN3530
3490 SS=365*JJ+DD:IFMM<3 THEN3510
3500 SS=SS-INT(MM*.4+2.3):JJ=JJ+1
3510 SS=SS+INT(MM*31+((JJ-1)/4))
3520 RETURN
3530 IF(MM=2) AND(DD=29) THENM=1:GOTO4410
3540 GOTO3490
3600 REM BEREKENING 'A' IN 'CLEAR A'
3610 RESTORE:READNR
3620 A=(45+3)*NR:REM STRING-ARRAY
3630 A=A+(16+3)*20:REM RUBRIEKEN
3640 RETURN
3700 READN$:GOSUB100:GOSUB15000
3710 GOSUB100:N$="INTEGRALE HUISHOUD-REKENING":VE=0
3720 GOSUB3000:GOSUB250:HO=3:VE=14:GOSUB110
3730 PRINT"Moet U een bestand !! NUMERIEK !!"
3740 VE=16:GOSUB110:PRINT"opslaan? (J/N): ";
3750 GOSUB210:PRINT:GOSUB23000
3760 CR=0:IFIN$="J" THENCR=1
3770 RETURN
3800 REM RUBRIEKEN UITLEZEN
3810 FORI=1 TO20:READRB$(I):NEXTI:GOTO4000
3850 REM RUBRIEKEN PRINTEN
3860 L=39:GOSUB3050:FORI=1 TO10
3870 SR=I:GOSUB300:M1$=SR$
3880 IFLEN(M1$)=1 THENM1$="0"+M1$
3890 SR=I+10:GOSUB300:M2$=SR$
3900 IFLEN(RB$(I))<16 THEN3950
3910 L$=M1$+"="+RB$(I)+M2$+"="+RB$(I+10)
3920 PRINTL$:NEXTI:L=39:GOSUB3050
3930 PRINT"UITGAVEN + INKOMSTEN -"
3940 GOSUB3050:RETURN
3950 RB$(I)=RB$(I)+" ":GOTO3900
4000 GOSUB2900:PRINT
4010 PRINT" Posten genereren:"
4020 PRINT" -----------------"
4030 PRINT" 1=Kasboek"
4040 PRINT" 2=Bankrek/Finplan"
4050 PRINT" 3=Chequeboek":PRINT
4060 PRINT" 4=Overzicht posten"
4070 PRINT" 5=Overzicht rubrieken":PRINT
4080 PRINT" 6=Bestand wegschrijven"
4090 PRINT" 7=Einde":PRINT:PRINT
4100 PRINT"Er zijn nu ";N;" posten in het bestand"
4110 L=39:GOSUB3050
4120 PRINT"Nog ";NR-N-1;" posten kunnen worden opgenomen"
4130 GOSUB250:PRINT:PRINT"Uw keuze: ";:GOSUB210:PRINT
4140 W=VAL(IN$):IF(W<1) OR(W>7) THEN4000
4150 ONW GOTO4200,4210,4220,4230,8500,21000,10000
4200 SK=1:T$="3":N4$="Kasboek":GOTO4600
4210 SK=2:N4$="Bankrek/Finplan":GOTO4600
4220 SK=3:T$="0":N4$="Chequeboek":GOTO4600
4230 T=2:GOSUB7000:GOTO4000
4300 REM CORRECTIE
4310 FORJ=1 TO1000:NEXTJ:T1=VE:GOSUB120:T2=VE
4320 HO=0:FORJ=T1 TOT2:VE=J:GOSUB110:GOSUB4340
4330 NEXTJ:VE=T2-T1+1:RETURN
4340 PRINT" ":RETURN
4350 HO=0:FORJ=T1 TOT2:VE=J:GOSUB110
4360 GOSUB4340:NEXTJ:RETURN
4400 REM FOUTMELDINGEN
4410 GOSUB250:PRINT"Datum niet correct!":GOTO4300
4420 GOSUB250
4430 PRINT"Graag een datum na '010170'":GOTO4300
4440 GOSUB250
4450 PRINT"Moet in hetzelfde jaar zijn!":GOTO4300
4460 GOSUB250
4470 PRINT"Tenminste 30 dagen na ";L1$;"!":GOTO4300
4480 GOSUB250
4490 PRINT"Graag een datum VOOR ";L$;"!":GOTO4300
4500 GOSUB250
4510 PRINT"Te ver er voor, nog maar eens!":GOTO4300
4520 GOSUB250
4530 PRINT"VOOR 'datum vandaag' (";DN$;")!":GOTO4300
4540 GOSUB250:PRINT"Buiten toegestane reeks!":GOTO4300
4600 N3$="Posten genereren":GOSUB100:N$=N1$:VE=0
4610 GOSUB3000:N$=N4$+"-"+N3$:VE=2:GOSUB3000
4620 GOSUB250:HO=0:VE=5:GOSUB110
4630 PRINT"Vanaf welke datum (DDMMJJ) moet uw"
4640 PRINTN4$;" worden aangemaakt?":INPUTL1$
4650 L$=L1$:GOSUB3350:L4=SS
4660 IFM=1 THENM=0:GOTO4620
4670 L$="0212"+RIGHT$(L1$,2):GOSUB3350:L2=SS
4680 IF(L2-L4)<=0 THENGOSUB4480:GOTO4620
4690 GOSUB250:HO=0:VE=9:GOSUB110
4700 PRINT"Geef nu 'DATUM VANDAAG' tenminste 30"
4710 PRINT"dagen na ";L1$;" in hetzelfde jaar! :"
4720 INPUTDN$:L$=DN$:GOSUB3350:L1=SS
4730 IFM=1 THENM=0:GOTO4690
4740 IFRIGHT$(DN$,2)=RIGHT$(L1$,2) THEN4760
4750 GOSUB4440:GOTO4690
4760 IF(L1-L4)<30 THENGOSUB4460:GOTO4690
4770 GOSUB250:HO=0:VE=13:GOSUB110
4780 PRINT"Hoeveel posten (MAX.";NR-1;") : ";:INPUTN$
4790 N=VAL(N$)
4800 IF(N<1) OR(N>NR-1) THENGOSUB4540:GOTO4770
5000 GOSUB100:N$=N1$:VE=0:GOSUB3000
5010 N$=N4$+"-"+N3$:VE=2:GOSUB3000:PRINT
5020 ONSK GOTO5030,5060,5130
5030 PRINT"KASBOEK wordt bijgewerkt t/m ";DN$;".":PRINT
5040 PRINT"Er worden GEEN KRUISPOSTEN aangemaakt!"
5050 GOTO5210
5060 PRINT"BANKREKENING wordt bijgewerkt tot :":PRINTDN$
5070 PRINT:PRINT"FINPLAN geeft U NU max. 2 maanden zicht"
5080 PRINT"vanaf ";DN$;".":PRINT
5090 PRINT"FINPLAN-posten uit het verleden worden"
5100 PRINT"op 'datum vandaag' gezet.":PRINT
5110 PRINT"Iedere FINPLAN-post krijgt een prio-"
5120 PRINT"riteit (1-9) mee.":GOTO5210
5130 PRINT"Er worden NU alleen 'onverrekende'"
5140 PRINT"cheques aangemaakt.":PRINT
5150 PRINT"Later krijgt U gelegenheid om de "
5160 PRINT"AFREKEN-datum (= VALUTA-datum) in te"
5170 PRINT"brengen en worden de CREDIET-dagen"
5180 PRINT"berekend.":PRINT
5190 PRINT"Nog niet verrekende cheques vindt U"
5200 PRINT"dan VANAF 30 dagen VOOR ";DN$;"."
5210 GOSUB3100:GOSUB2000
5500 GOSUB100:N$=N3$:VE=0:GOSUB3000
5510 N$=N4$:VE=2:GOSUB3000:PRINT
5520 PRINT"We hebben nu dus ";N;" posten samen-"
5530 PRINT"gesteld als volgt:"
5540 L$="Datum T RB Bedrag"
5550 HO=8:VE=8:GOSUB110:PRINTL$
5560 L$="------!-!--!---------"
5570 VE=9:GOSUB110:PRINTL$
5580 L$=" 8 1 2 9"
5590 VE=10:GOSUB110:PRINTL$:PRINT
5600 IF(SK=2) OR(SK=3) THEN5630
5610 PRINT"Hieraan worden nu enige gegevens toe-"
5620 PRINT"gevoegd.":GOTO5670
5630 PRINT"Hieraan worden nu enige berekeningen"
5640 PRINT"uitgevoerd en gegevens toegevoegd.":PRINT
5650 PRINT"Daarna wordt er weer gesorteerd en"
5660 PRINT"worden de overige gegevens toegevoegd:"
5670 L$="Datum CrDg KBCP T RB Bedrag Omschr."
5680 HO=0:VE=18:GOSUB110:PRINTL$
5690 L$="------!----!----!-!--!---------!-------"
5700 VE=19:GOSUB110:PRINTL$
5710 L$=" 6 4 4 1 2 9 19"
5720 VE=20:GOSUB110:PRINTL$
5800 GOSUB3100:GOSUB100:N$=N3$:VE=0:GOSUB3000
5810 N$=N4$:VE=2:GOSUB3000:PRINT:GOSUB250
5820 PRINT"Wilt U nu eerst een kijkje nemen in":PRINT
5830 PRINT"het bestand? (J/N): ";
5840 GOSUB210:PRINT:GOSUB23000
5850 IFIN$="J" THENT=1:GOSUB7000
6000 GOSUB100:N$=N3$:VE=0:GOSUB3000
6010 N$=N4$:VE=2:GOSUB3000:PRINT
6020 GOSUB250:PRINT"Even geduld svp ..."
6030 IFSK=3 THENC=1:CH=3999:GOTO6330
6040 FORI=1 TON:L$=N$(I):GOSUB3200
6050 L$=M1$:GOSUB3350:L3=SS
6060 M2$="+000":M7$="-------------------"
6070 IFM4$="2" THENM3$="AAAA":GOTO6100
6080 IFM4$="3" THENM3$="KAS ":GOTO6100
6090 GOSUB6130:M3$="PLA"+SR$
6100 N$(I)=M1$+M2$+M3$+M4$+M5$+M6$+M7$
6110 NEXTI:IFSK=2 THENGOSUB2600:GOTO6180
6120 GOTO6240
6130 REM PRIORITEIT
6140 GOSUB260:SR=INT(15*RV)
6150 IF(SR<1) OR(SR>9) THEN6140
6160 GOSUB300:IFL3<L1 THENM1$=DN$
6170 RETURN
6180 GOSUB100:N$=N3$:VE=0:GOSUB3000
6190 N$=N4$:VE=2:GOSUB3000:PRINT
6200 GOSUB250:PRINT"Nog even geduld svp ..."
6210 AF=0:FORI=1 TON:L$=N$(I):GOSUB3250
6220 IFM3$="AAAA" THENGOSUB6260
6230 NEXTI
6240 PRINT:PRINT"Gereed! - NU: GARBAGE COLLECTION"
6250 GOSUB270:DK$=DN$:DB$=DN$:DC$=DN$:GOTO4000
6260 L1$=LEFT$(N$(I-1),6)
6270 IFM1$=L1$ THENM3$=MID$(N$(I-1),11,4):GOTO6310
6280 AF=AF+1:SR=AF:GOSUB300:M3$=SR$
6290 IFLEN(M3$)<3 THENM3$="0"+M3$:GOTO6290
6300 M3$="B"+M3$
6310 N$(I)=M1$+M2$+M3$+M4$+M5$+M6$+M7$
6320 RETURN
6330 FL=0:FORI=1 TON:L$=N$(I):GOSUB3200
6340 CH=CH+1:SR=CH:GOSUB300:M3$=SR$
6350 M2$="+000":M7$="--------------":GOSUB6680:NEXTI
6360 HO=0:VE=5:GOSUB110:GOSUB4340
6370 L$="Datum CrDg Chno T RB Bedrag Omschr."
6380 GOSUB110:PRINTL$:L=39:GOSUB3050
6390 L=39:VE=12:GOSUB110:GOSUB3050
6400 IFFL=1 THEN6700
6410 D=C+4:VE=6:IFD>N THEND=N
6420 FORI=C TOD:L$=N$(I):GOSUB3250
6430 L$=M1$:GOSUB3350:IF(L1-SS)>=30 THENM2$=" "
6440 GOSUB6650:NEXTI:IFFL=1 THEN6700
6450 GOSUB250:HO=0:VE=14:GOSUB110
6460 PRINT"Geef AFREKEN-datum (DDMMJJ): ";:INPUTDA$
6470 L$=DA$:GOSUB3350:L3=SS
6480 IFM=1 THENM=0:GOTO6450
6490 IFABS(L1-L3)>999 THENGOSUB4500:GOTO6450
6500 IF(L1-L3)<0 THENGOSUB4520:GOTO6450
6510 VE=6:FORI=C TOD:L$=N$(I):GOSUB3250:L$=M1$
6520 GOSUB3350:L2=SS:IF(L1-L2)<30 THENFL=1:GOTO6580
6530 SR=ABS(L3-L2):GOSUB300:M2$=SR$
6540 IFLEN(M2$)<3 THENM2$="0"+M2$:GOTO6540
6550 IF(L3-L2)>=0 THENM2$="+"+M2$
6560 IF(L3-L2)<0 THENM2$="-"+M2$
6570 M1$=DA$:M7$=M3$+" "+M7$:M3$="AAAA":M4$="1":GOSUB6680
6580 L$=M2$:HO=7:VE=VE+1:GOSUB110:PRINTL$
6590 NEXTI:GOSUB250:HO=0:VE=16:GOSUB110:GOSUB3110
6600 C=I:IFC>N THEN6700
6610 L$=N$(I):GOSUB3250:L$=M1$:GOSUB3350
6620 IF(L1-SS)<30 THEN6700
6630 T1=7:T2=11:GOSUB4350
6640 T1=14:T2=17:GOSUB4350:GOTO6400
6650 M8$=LEFT$(M7$,7):L$=M1$+" "+M2$+" "+M3$+" "
6660 L$=L$+M4$+" "+M5$+" "+M6$+" "+M8$
6670 HO=0:VE=VE+1:GOSUB110:PRINTL$:RETURN
6680 N$(I)=M1$+M2$+M3$+M4$+M5$+M6$+M7$
6690 RETURN
6700 FL=0:GOSUB2600:GOTO6180
7000 N$="Overzicht Posten"
7010 IFN=0 THENGOSUB100:GOTO9800
7020 IFT=1 THEN7200
7030 B1=0:B2=0:IFSK=1 THENB1=VAL(SK$)
7040 IFSK=2 THENB1=VAL(SB$)
7050 FORI=1 TON:L$=N$(I):GOSUB3250
7060 IFM4$="0" THENB1=B1+VAL(M6$)
7070 IFM4$="1" THENB2=B2+VAL(M6$)
7080 IFM4$="2" THENB1=B1-VAL(M6$)
7090 IFM4$="3" THENB1=B1-VAL(M6$)
7100 IFM4$="4" THENB2=B2+VAL(M6$)
7110 NEXTI
7200 C=1:BL=0:BT=INT(N/17)
7210 IF17*BT<>N THENBT=BT+1
7220 GOSUB7800:H=C:D=C+16:IFD>N THEND=N
7230 FORI=C TOD:L$=N$(I)
7240 IFT=1 THENGOSUB3200
7250 IFT=2 THENGOSUB3250
7260 SR=I:GOSUB300:L$=SR$
7270 IFLEN(L$)<3 THENL$=" "+L$:GOTO7270
7280 IFT=2 THEN7310
7290 L$=L$+" "+M1$+" "+M4$+" "+M5$+" "+M6$
7300 GOSUB7910:PRINTL$:GOTO7340
7310 M7$=LEFT$(M7$,4)
7320 L$=L$+" "+M1$+" "+M2$+" "+M3$+" "
7330 L$=L$+M5$+" "+M6$+" "+M7$:PRINTL$
7340 NEXTI:C=I:IFT=1 THENPRINTL4$
7350 IFT=2 THENL=39:GOSUB3050
7360 GOSUB3150
7370 IF(IN$="S") AND(T=2) THENT=0:GOTO7600
7380 IFIN$="S" THENT=0:GOSUB270:RETURN
7390 IFIN$="T" THEN7420
7400 IFIN$="V" THEN7460
7410 GOTO7360
7420 REM VORIG BLAD
7430 C=H-17
7440 IFC<0 THENC=1:BL=0:GOTO7220
7450 BL=BL-2:GOTO7220
7460 REM VOLGEND BLAD
7470 IFC>N THENC=H:BL=BL-1
7480 GOTO7220
7600 GOSUB100:N$=N1$:VE=0:GOSUB3000
7610 N$=N4$:VE=2:GOSUB3000
7620 SR=B1:GOSUB310:B1$=SR$
7630 SR=B2:GOSUB310:B2$=SR$
7640 ONSK GOTO7650,7670,7710
7650 GOSUB250:HO=0:VE=12:GOSUB110
7660 PRINT"Eind-saldo KAS: FL. ";B1$:GOTO7750
7670 GOSUB250:HO=0:VE=11:GOSUB110
7680 PRINT"Eind-saldo BANK: FL. ";B1$
7690 GOSUB250:VE=13:GOSUB110
7700 PRINT"Totaal FINPLAN : FL. ";B2$:GOTO7750
7710 GOSUB250:HO=0:VE=11:GOSUB110
7720 PRINT"Totaal verrekende cheques: FL. ";B2$
7730 GOSUB250:VE=13:GOSUB110
7740 PRINT"Nog te verrekenen cheques: FL. ";B1$
7750 GOSUB3100:GOSUB270:RETURN
7800 GOSUB100:BL=BL+1:REM KOPREGELS
7810 SR=BL:GOSUB300:L1$=SR$
7820 SR=BT:GOSUB300:L2$=SR$
7830 L$="Blad:"+L1$+" van:"+L2$
7840 ONT GOTO7850,7930
7850 N$="Posten"
7860 IFLEN(L$)<(25-LEN(N$)) THENL$=" "+L$:GOTO7860
7870 L$=N$+L$:GOSUB7910:PRINTL$:L=25:M=5:GOSUB3050
7880 L$=X$:GOSUB7910:PRINTL$:L4$=L$
7890 L$="Pno Datum T RB Bedrag ":GOSUB7910:PRINTL$
7900 PRINTL4$:RETURN
7910 IFLEN(L$)<32 THENL$=" "+L$:GOTO7910
7920 RETURN
7930 IFLEN(L$)<(39-LEN(N$)) THENL$=" "+L$:GOTO7930
7940 L$=N$+L$:PRINTL$:L=39:GOSUB3050
7950 PRINT"Pno Datum CrDg KBCP RB Bedrag Omsc"
7960 L=39:GOSUB3050:RETURN
8500 GOSUB100:N$="Overzicht Rubrieken"
8510 VE=0:GOSUB3000:PRINT
8520 GOSUB3850:GOSUB3100:GOTO4000
9800 HO=6:VE=12:GOSUB110
9810 PRINT"Geen posten in het bestand!"
9820 GOSUB3100:GOSUB270:GOTO4000
10000 GOSUB2900:FORI=1 TO3: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
21000 GOSUB100:N$="Bestand Wegschrijven"
21010 VE=0:GOSUB3000:IFN4$="" THEN21030
21020 N$=N4$:VE=2:GOSUB3000
21030 IFN=0 THEN9800
21040 N=N+1
21050 IFSK=1 THENN$(N)=DK$+SK$+"3"
21060 IFSK=2 THENN$(N)=DB$+SB$+SC$+SD$+"2"
21070 IFSK=3 THENN$(N)=DC$+"1"
21100 GOSUB3100
21600 N$(N)="":N=N-1:GOTO4000
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"
25020 REM RUBRIEKEN - MAX.11 KAR.
25030 DATA"HUUR","INRICHTING"
25040 DATA"VERZEKERING","GENEESK.BEH"
25050 DATA"LEVENSMIDD.","KLEDING"
25060 DATA"DRANK/SIG.","KR-TIJDSCHR."
25070 DATA"STUDIE","VAK/UITGAAN"
25080 DATA"HOBBY","ONVOORZIEN"
25090 DATA"TELEFOON","GAS/WAT/EL"
25100 DATA"VERVOER","AUTO"
25110 DATA"BELASTINGEN","INKOMSTEN"
25120 DATA"KRUISP.K/CH","KRUISP.K/B"
30000 REM
30010 REM HOBBYSCOOP-BASICODE2
30020 REM * *
30030 REM * INT.HH-REKENING *
30040 REM * SIMULATIE *
30050 REM BESTAND *
30060 REM P *
30070 REM O INGEZONDEN DOOR
30080 REM S 1
30090 REM T B.P.M.RINTJEMA 2
30100 REM B TUINSTRAAT 13 0
30110 REM U 5802 AD VENRAY 0
30120 REM S
30130 REM 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