forked from robhagemans/basicode
/
Boekhoudprogramma.bc2
585 lines (585 loc) · 14 KB
/
Boekhoudprogramma.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
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
1000 A=0:GOTO 20:REM ACCOUNTING PROGRAM
1010 GOTO 1140
1020 REM INITIALIZATION CHANGES
1030 BEKEND=0:OM=0
1040 REM MAX. NUMBER OF CHANGES
1050 MM=0
1060 REM NUMBER OF CHANGES
1070 AM=85
1075 GOSUB 15000
1080 REM ARRAY WITH CHANGES
1090 IF IP=0 THEN DIM A$(AM)
1110 FOR I=1 TO AM:A$(I)=LE$:NEXT I
1115 ED$=DA$:LD$=DA$
1120 RETURN
1130 REM INITIALIZATION PROGRAM
1140 IP=0:FI$=""
1142 VM=VE:HM=HO:IO=0
1160 GOSUB 20010
1170 FR=1:GOSUB 280
1180 REM MAX. LENGTH DESCRIPTION
1190 ML=9
1200 REM NUMBER OF CHARACTERS PER LINE
1210 IJ=HM
1220 REM NUMBER OF LINES ON A SCREEN
1230 RE=VM-8
1240 GOSUB 1550
1250 PRINT "WHICH ACCOUNT (3)";
1260 INPUT NB$:NB$=LEFT$(NB$,3)
1262 GOSUB 1550
1263 PRINT "WHICH DATE";
1264 INPUT DA$
1265 GOSUB 1550
1266 PRINT "WHICH FINANCIAL YEAR <YY>";
1267 INPUT BJ$:BJ$=RIGHT$(BJ$,2):NB$=NB$+BJ$
1275 PRINT "ACCOUNTING VERSION 4.10"
1276 GOSUB 1370
1278 IP=1
1280 GOTO 4830
1281 REM DETERMINING RANDOM NUMBER
1282 GOSUB 260:VS=INT (10000*RV):RETURN
1290 REM EMPTY AMOUNTS IN MAIN AND SUBGROUPS
1300 GOSUB 1282:OH=0
1310 FOR I=1 TO MS:FOR J=1 TO MH
1320 B$(J,I)=LEFT$(B$(J,I),22)+"0.00"+RIGHT$(B$(J,I),IJ-24)
1330 NEXT J:NEXT I
1340 GOSUB 1030
1350 RETURN
1360 REM INIZIALIZATION OF MAIN AND SUBGROUPS
1365 REM MAX. NUMBER OF MAIN GROUPS
1370 MH=25
1400 REM NUMBER OF MAIN GROUPS
1410 AH=0
1420 REM MAX. NUMBER OF SUBGROUPS
1430 MS=10
1450 IF IP=0 THEN DIM B$(MH,MS)
1460 LE$="":FOR I=1 TO IJ:LE$=LE$+" ":NEXT I
1470 FOR I=1 TO MH
1480 FOR N=1 TO MS
1490 B$(I,N)=LE$
1500 NEXT N
1510 NEXT I
1520 GOSUB 1300
1530 RETURN
1540 REM MOVE CURSOR UP ON LAST LINE
1550 GOSUB 100
1560 HO=0:VE=VM-4:GOSUB 110
1570 RETURN
1580 REM PLACE CURSOR ON BOTTOM LINE
1590 GOSUB 100
1600 HO=0:VE=VM-3:GOSUB 110
1610 RETURN
1650 REM PRINT MESSAGE
1660 PRINT "TOO MANY CHANGES; PUT CHANGES"
1670 PRINT "ON TAPE (CHOICE 3A) AND THROW"
1680 PRINT "THE CHANGES AWAY (CHOICE !A)."
1685 GOSUB 4710
1690 RETURN
1694 REM KEYING CHANGES
1695 GOSUB 1590
1710 PRINT "DAY"
1720 INPUT SR
1750 IF (SR<=0 OR SR>31)THEN GOSUB 250:GOTO 1695
1755 MM=MM+1
1760 CT=2:CN=0:GOSUB 310
1770 DU$=SR$+"/"+RIGHT$(LE$,IJ-3)
1780 GOSUB 1550
1790 PRINT DU$
1800 PRINT "MONTH (1-12)"
1810 INPUT SR
1820 IF (SR<=0 OR SR>12)THEN GOSUB 250:GOTO 1780
1830 GOSUB 310
1840 DU$=LEFT$(DU$,3)+SR$+RIGHT$(DU$,IJ-5)
1850 GOSUB 1550
1860 PRINT DU$
1870 PRINT "AMOUNT"
1880 INPUT SR
1890 IF SR>=1000*1000 THEN GOSUB 250:GOTO 1850
1900 SR=INT(SR*100+.5)/100
1910 X=SR
1920 CT=10:CN=2:GOSUB 10000
1930 DU$=LEFT$(DU$,6)+SR$+RIGHT$(DU$,IJ-16)
1940 Q$="FROM"
1950 GOSUB 3500
1960 IF VAL (MID$(B$(GH,MS),28,2))=0 THEN 1950
1970 DU$=LEFT$(DU$,17)+X$+RIGHT$(DU$,IJ-18)
1980 GOSUB 3580
1990 DU$=LEFT$(DU$,18)+X$+RIGHT$(DU$,IJ-19)
2000 SR=VAL(MID$(B$(GH,MS),15,10))-X
2005 CT=10:CN=2: GOSUB 10000
2020 S1$=SR$
2030 G1=GH
2040 G2=GS
2050 SR=VAL(MID$(B$(GH,GS),15,10))-X
2060 CT=10:CN=2:GOSUB 10000
2070 S2$=SR$
2080 Q$="TO"
2090 GOSUB 3500
2100 IF VAL (MID$(B$(GH,MS),28,2))=0 THEN 2090
2110 DU$=LEFT$(DU$,20)+X$+RIGHT$(DU$,IJ-21)
2120 GOSUB 3580
2130 IF (G1=GH AND G2=GS)THEN GOSUB 250:GOTO 2090
2140 DU$=LEFT$(DU$,21)+X$+RIGHT$(DU$,IJ-22)
2150 SR=VAL(MID$(B$(GH,MS),15,10))+X
2160 GOSUB 10000
2170 S3$=SR$
2180 G3=GH
2190 G4=GS
2200 SR=VAL(MID$(B$(GH,GS),15,10))+X
2210 GOSUB 10000
2220 S4$=SR$
2230 GOSUB 1550
2240 PRINT DU$
2250 PRINT "DESCRIPTION"
2260 INPUT X$
2270 LE=IJ-23
2280 IF LEN (X$)<LE THEN LE=LEN (X$)
2290 DU$=LEFT$(DU$,23)+LEFT$(X$,LE)
2300 GOSUB 1550
2310 PRINT DU$
2320 PRINT LE$
2330 RETURN
2340 REM LISTS CHANGES
2350 GOSUB 100
2370 PRINT
2380 A=0
2390 FOR N=1 TO MM
2400 PRINT A$(N)
2410 GOSUB 2640
2420 NEXT N
2430 RETURN
2440 REM LISTS SUBGROUPS
2450 GOSUB 100
2470 PRINT
2480 A=0
2490 FOR N=1 TO VAL (MID$(B$(GH,MS),28,2))
2500 PRINT B$(GH,N)
2510 GOSUB 2640
2520 NEXT N
2530 RETURN
2540 REM LISTS MAIN GROUPS
2550 GOSUB 100
2560 PRINT
2570 A=0
2580 FOR N=1 TO AH
2590 PRINT B$(N,MS)
2600 GOSUB 2640
2610 NEXT N
2620 RETURN
2630 REM MAKE SURE A PAGE IS DISPLAYED
2640 A=A+1
2650 IF A<RE THEN RETURN
2660 GOSUB 4710
2670 A=0
2680 GOSUB 100
2690 RETURN
2700 REM OVERVIEW OF ALL CHANGES AND SUB/MAIN GROUPS
2710 SR$="ACCOUNTANCY: "+NB$:GOSUB 350:GOSUB 360
2720 SR$="PERIOD: "+FI$:GOSUB 350:GOSUB 360
2732 SR$="DATE FIRST CHANGE: "+ED$:GOSUB 350:GOSUB 360
2734 SR$="DATE LAST CHANGE:"+LD$:GOSUB 350:GOSUB 360
2740 GOSUB 360
2750 FOR M=1 TO AH
2770 SR$=GR$+B$(M,MS)+GN$:GOSUB 350:GOSUB 360
2780 IF X$="B"THEN 2910
2800 FOR N=1 TO VAL (MID$(B$(M,MS),28,2))
2820 SR$=" "+B$(M,N):GOSUB 350:GOSUB 360
2830 IF X$="C"THEN 2890
2850 NIET=0
2860 GOSUB 6340
2870 NIET=0
2880 GOSUB 6260
2890 NEXT N
2900 GOSUB 360
2910 NEXT M
2920 SR$=FF$:GOSUB 350
2940 RETURN
2950 REM SEARCH MAIN GROUP
2960 GH=0
2970 FOR I=1 TO AH
2980 IF MID$(B$(I,MS),2,1)<>X$THEN 3010
2990 GH=I
3000 I=MH
3010 NEXT I
3020 RETURN
3030 REM SEARCH SUBGROUP
3040 GS=0
3050 AS=VAL (MID$(B$(GH,MS),28,2))
3060 FOR I=1 TO AS
3070 IF MID$(B$(GH,I),3,1)<>X$THEN 3100
3080 GS=I
3090 I=AS
3100 NEXT I
3110 RETURN
3120 REM ENTERING MAIN GROUP
3130 GOSUB 1590
3180 PRINT "GIVE MAIN GROUP CODE (1)"
3200 INPUT SR$:GOSUB 330:X$=SR$
3210 IF LEN (X$)<>1 THEN GOSUB 250:GOTO 3130
3240 GOSUB 2960
3250 IF GH<>0 THEN GOSUB 250:GOTO 3130
3260 AH=AH+1
3280 DU$=LEFT$(B$(AH,MS),1)+X$+RIGHT$(B$(AH,MS),IJ-2)
3290 GOSUB 1550
3300 PRINT DU$
3310 PRINT "DESCRIPTION OF MAIN GROUP (9)"
3330 INPUT SR$:GOSUB 330:X$=SR$
3340 LE=ML
3350 IF LEN (X$)<ML THEN LE=LEN (X$)
3360 DU$=LEFT$(DU$,4)+LEFT$(X$,LE)+RIGHT$(DU$,IJ-5-LE)
3370 GOSUB 1550
3380 PRINT DU$
3390 PRINT "TYPE OF ACCOUNT (Z, I, K OR P)"
3410 INPUT SR$:GOSUB 330:X$=SR$
3415 IF LEN (X$)<>1 THEN GOSUB 250:GOTO 3370
3420 IF (X$="K" OR X$="Z" OR X$="I") GOTO 3430
3422 IF (X$="P") THEN 3430
3424 GOSUB 250 : GOTO 3370
3430 DU$=LEFT$(DU$,27)+"0"+RIGHT$(DU$,IJ-28)
3440 DU$=LEFT$(DU$,25)+X$+RIGHT$(DU$,IJ-26)
3450 GOSUB 1550
3460 PRINT DU$
3470 PRINT LE$
3480 RETURN
3490 REM DETERMINE MAIN GROUP
3500 GOSUB 2550
3510 GOSUB 1560
3520 PRINT Q$;" MAIN GROUP?"
3530 GOSUB 4730
3540 GOSUB 2960
3550 IF GH=0 THEN GOSUB 250:GOTO 3500
3560 RETURN
3570 REM DETERMINE SUBGROUP
3580 GOSUB 2450
3590 GOSUB 1560
3600 PRINT Q$;" SUBGROUP?"
3610 GOSUB 4730
3620 GOSUB 3040
3630 IF GS=0 THEN GOSUB 250:GOTO 3580
3640 RETURN
3650 REM ENTER SUBGROUPS
3660 Q$=""
3680 GOSUB 3500
3690 AS=VAL (MID$(B$(GH,MS),28,2))
3695 TT=1
3700 IF AS<MS-1 THEN 3730
3710 PRINT "TOO MANY SUBGROUPS"
3711 TT=0
3712 GOSUB 250
3715 GOSUB 4710
3720 RETURN
3730 Q$=X$
3740 GOSUB 1590
3750 PRINT "GIVE SUBGROUP CODE (1)"
3760 INPUT SR$:GOSUB 330:X$=SR$
3770 IF LEN (X$)<>1 THEN GOSUB 250:GOTO 3740
3800 GOSUB 3040
3810 IF GS<>0 THEN GOSUB 250:GOTO 3740
3820 AS=AS+1
3830 DU$=B$(GH,AS)
3840 DU$=LEFT$(DU$,1)+Q$+X$+RIGHT$(DU$,IJ-3)
3850 SR=AS:CT=2:CN=0:GOSUB 310
3890 S$=SR$
3900 GOSUB 1550
3910 PRINT DU$
3920 PRINT "DESCRIPTION OF SUBGROUP"
3930 INPUT X$
3940 LE=ML
3950 IF LEN (X$)<ML THEN LE=LEN (X$)
3960 DU$=LEFT$(DU$,4)+LEFT$(X$,LE)+RIGHT$(DU$,IJ-5-LE)
3990 GOSUB 1550
4000 PRINT DU$
4010 PRINT LE$
4020 RETURN
4030 REM CHANGES VIA CASSETTE RECORDER
4050 GOSUB 540:MM=VAL (IN$)
4060 FOR N=1 TO MM
4070 GOSUB 540:A$(N)=LEFT$(IN$,IJ)
4075 A$(N)=A$(N)+LEFT$(LE$,IJ-LEN (A$(N)))
4080 NEXT N
4090 RETURN
4100 REM GET MAIN AND SUBGROUPS
4110 GOSUB 540:AH=VAL (IN$)
4120 FOR I=1 TO AH
4130 GOSUB 540:AS=VAL (IN$)
4140 FOR N=1 TO AS
4150 GOSUB 540:B$(I,N)=LEFT$(IN$,IJ)
4155 B$(I,N)=B$(I,N)+LEFT$(LE$,IJ-LEN (B$(I,N)))
4160 NEXT N
4170 GOSUB 540:B$(I,MS)=LEFT$(IN$,IJ)
4175 B$(I,MS)=B$(I,MS)+LEFT$(LE$,IJ-LEN (B$(I,MS)))
4180 NEXT I
4190 RETURN
4200 REM SAVING CHANGES ON CASSETTE
4230 SR=MM:GOSUB 310:GOSUB 560
4240 FOR N=1 TO MM
4250 SR$=A$(N):GOSUB 560
4260 NEXT N
4270 RETURN
4280 REM SAVE MAIN AND SUBGROUPS
4290 SR=AH:GOSUB 310:GOSUB 560
4300 FOR I=1 TO AH
4310 SR$=MID$(B$(I,MS),28,2)
4315 AS=VAL (SR$)
4320 GOSUB 560
4330 FOR N=1 TO AS
4340 SR$=B$(I,N):GOSUB 560
4350 NEXT N
4360 SR$=B$(I,MS):GOSUB 560
4370 NEXT I
4380 RETURN
4390 REM MAIN MENU
4400 GOSUB 100
4403 PRINT :PRINT NB$;" ";LD$;" ";MM
4410 PRINT
4420 PRINT "! REMOVE DATA"
4430 PRINT
4440 PRINT "1 ADD DATA"
4450 PRINT
4460 PRINT "2 SAVE DATA"
4470 PRINT
4480 PRINT "3 LOAD DATA"
4490 PRINT
4500 PRINT "4 DISPLAY DATA"
4510 PRINT
4520 PRINT "5 PRINT DATA"
4530 PRINT
4540 PRINT "9 EXIT PROGRAM"
4560 PRINT
4570 IF (OH<>1 AND OM<>1)THEN 4580
4575 PRINT "REMEMBER TO SAVE THE DATA!!!"
4580 GOSUB 4730
4590 RETURN
4600 REM VIEW DATA MENU
4610 GOSUB 100
4620 PRINT
4630 PRINT "A ";X$;" CHANGES"
4640 PRINT
4650 PRINT "B ";X$;" MAIN GROUPS"
4660 PRINT
4670 PRINT "C ";X$;" SUBGROUPS"
4680 GOSUB 4730
4690 RETURN
4700 REM WAIT FOR ENTRY
4710 X$=" PRESS A KEY"
4720 GOTO 4740
4730 X$=" MAKE A CHOICE"
4735 GOTO 4740
4737 X$=" OKAY? J(YES) OR N(O)"
4740 HO=0:VE=VM-3:GOSUB 110
4770 PRINT X$
4780 GOSUB 210
4785 SR$=IN$:GOSUB 330:X$=SR$
4800 GOSUB 100
4810 RETURN
4820 REM START MAIN PROGRAM
4830 GOSUB 4400
4860 IF X$<>"!"THEN 4990
4870 X$="REMOVE"
4880 GOSUB 4610
4890 IF X$="A"THEN 4930
4895 IF MM<>0 THEN GOTO 6040
4900 IF X$="B"THEN 4950
4910 IF X$="C"THEN 4970
4920 GOTO 6040
4930 GOSUB 1030
4940 GOTO 4830
4950 GOSUB 6510
4960 GOTO 4830
4970 GOSUB 6410
4980 GOTO 4830
4990 IF X$<>"1"THEN 5290
5000 X$="ADD"
5010 GOSUB 4610
5020 IF X$="A"THEN 5060
5030 IF X$="B"THEN 5170
5040 IF X$="C"THEN 5210
5050 GOTO 6040
5060 IF AH<1 THEN 6040
5065 IF MM=AM THEN GOSUB 250:GOSUB 1660:GOTO 5280
5070 GOSUB 1695
5080 GOSUB 4737
5082 IF X$<>"J"THEN MM=MM-1:GOTO 5280
5100 A$(MM)=DU$
5110 IF G1=G3 THEN 5120
5112 B$(G1,MS)=LEFT$(B$(G1,MS),14)+S1$+RIGHT$(B$(G1,MS),IJ-24)
5114 B$(G3,MS)=LEFT$(B$(G3,MS),14)+S3$+RIGHT$(B$(G3,MS),IJ-24)
5120 B$(G1,G2)=LEFT$(B$(G1,G2),14)+S2$+RIGHT$(B$(G1,G2),IJ-24)
5140 B$(G3,G4)=LEFT$(B$(G3,G4),14)+S4$+RIGHT$(B$(G3,G4),IJ-24)
5150 OM=1:LD$=DA$
5160 GOTO 5280
5170 IF AH<>MH THEN 5175
5172 PRINT "TOO MANY MAIN GROUPS":GOSUB 250:GOSUB 4710:GOTO 5280
5175 GOSUB 3130
5180 GOSUB 4737
5185 IF X$<>"J"THEN AH=AH-1:GOTO 5280
5190 OH=1:LD$=DA$
5195 B$(AH,MS)=DU$
5200 GOTO 5280
5210 IF AH=0 THEN 6040
5220 GOSUB 3660
5225 IF TT=0 THEN 5280
5230 GOSUB 4737
5240 IF X$<>"J"THEN 5280
5250 B$(GH,AS)=DU$
5260 B$(GH,MS)=LEFT$(B$(GH,MS),27)+S$+RIGHT$(B$(GH,MS),IJ-29)
5270 OH=1:LD$=DA$
5280 GOTO 4830
5290 IF X$<>"2"THEN 5530
5300 IF (OM=1 OR OH=1)THEN VS=VS+.01
5310 IF FI$=""THEN 5380
5320 GOSUB 1550
5330 PRINT "PERIOD IS ";NB$;FI$
5332 GOSUB 4737
5350 IF X$="N"THEN 5380
5360 GOTO 5420
5380 GOSUB 1550
5390 PRINT "WHICH NEW PERIOD (FROM ";NB$;")";
5400 INPUT FI$
5410 GOSUB 1282:VS=VS+.01
5420 NF=IO+1:NF$=NB$+FI$:GOSUB 500
5430 SR$="98":GOSUB 560
5432 SR$=ED$:GOSUB 560
5434 SR$=LD$:GOSUB 560
5440 CT=10:CN=2:SR=VS:GOSUB 310:GOSUB 560
5450 GOSUB 1550
5460 PRINT "CODE ";NB$;FI$;": ";SR$
5465 SD=10: GOSUB 450
5470 GOSUB 4290
5480 OH=0
5490 GOSUB 4230
5500 OM=0
5510 GOSUB 580
5520 GOTO 4830
5530 IF X$<>"3"THEN 5760
5540 IF (OM=1 OR OH=1)THEN 6040
5550 REM
5560 GOSUB 1550
5570 PRINT "WHICH PERIOD (FROM ";NB$")";
5580 INPUT FI$
5610 NF=IO:NF$=NB$+FI$:GOSUB 500
5620 PRINT
5630 IF BEKEND=0 THEN 5650
5635 PRINT "WHICH CODE";
5640 INPUT VV
5650 GOSUB 540:VS=VAL (IN$)
5655 IF IN=-1 THEN GOSUB 250 : GOTO 5560
5660 IF IN$<>"98"THEN 5740
5663 GOSUB 540:ED$=IN$
5665 GOSUB 540:LD$=IN$
5670 GOSUB 540:VS=VAL (IN$)
5690 IF BEKEND=0 THEN 5710
5700 IF ABS (VV-VS)>.0001 THEN 6040
5710 IF BEKEND=0 THEN PRINT VS
5720 GOSUB 4110:GOSUB 4050
5740 GOSUB 580
5750 GOTO 4830
5760 IF X$<>"4"THEN 5960
5770 X$="DISPLAY"
5780 GOSUB 4610
5790 IF X$="A"THEN 5840
5800 IF AH=0 THEN 6040
5810 IF X$="B"THEN 5870
5820 IF X$="C"THEN 5900
5830 GOTO 6040
5840 IF MM=0 THEN 6040
5850 GOSUB 2350
5860 GOTO 5940
5870 GOSUB 2550
5890 GOTO 5940
5900 Q$=""
5910 GOSUB 3500
5920 GOSUB 2450
5930 GOTO 5940
5940 GOSUB 4710
5950 GOTO 4830
5960 IF X$<>"5"THEN 6020
5970 X$="PRINT"
5980 GOSUB 4610
5990 IF (X$<>"A"AND X$<>"B"AND X$<>"C")THEN 6040
5995 IF AH=0 THEN 6040
6000 GOSUB 2710
6010 GOTO 4830
6020 IF X$<>"9"THEN 6040
6025 IF (OM=1 OR OH=1)THEN 6040
6030 GOTO 950
6040 GOSUB 250:GOTO 4830
6250 REM SEARCH CHANGES ASSOCIATED WITH DEBIT
6260 FOR II=1 TO MM
6270 IF MID$(B$(M,N),2,2)<>MID$(A$(II),18,2)THEN 6300
6280 IF NIET<>0 THEN 6290
6282 NIET=1:SR$=" "+"++++ CREDIT ++++"
6283 GOSUB 350:GOSUB 360
6290 SR$=LEFT$(" "+A$(II),79):GOSUB 350:GOSUB 360
6300 NEXT II
6310 IF NIET=1 THEN GOSUB 360
6320 RETURN
6330 REM SEARCH CHANGES ASSOCIATED WITH CREDIT
6340 FOR II=1 TO MM
6350 IF MID$(B$(M,N),2,2)<>MID$(A$(II),21,2)THEN 6380
6360 IF NIET<>0 THEN 6370
6363 NIET=1:SR$=" "+"++++ DEBIT ++++"
6365 GOSUB 350:GOSUB 360
6370 SR$=LEFT$(" "+A$(II),79):GOSUB 350:GOSUB 360
6380 NEXT II
6390 IF NIET=1 THEN GOSUB 360
6400 RETURN
6410 REM DELETE SUBGROUP
6420 GOSUB 3500 : Q$="REMOVE WHICH"
6425 SR=VAL(MID$(B$(GH,MS),28,2))-1:CT=2:CN=0:GOSUB 310
6427 S=SR : S$=SR$
6428 IF S=-1 THEN GOSUB 250 : RETURN
6430 GOSUB 3580
6440 IF VAL(MID$(B$(GH,GS),15,10))<>0 THEN GOSUB 250 : RETURN
6445 IF S=0 THEN 6465
6450 FOR I=GS TO S
6460 B$(GH,I)=B$(GH,I+1) : NEXT I
6465 B$(GH,S+1)=LE$
6480 B$(GH,MS)=LEFT$(B$(GH,MS),27)+S$+RIGHT$(B$(GH,MS),IJ-29)
6485 GOSUB 1282
6490 RETURN
6500 REM DELETE MAIN GROUPS
6510 Q$="REMOVE WHICH" : GOSUB 3500
6520 SR=VAL(MID$(B$(GH,MS),28,2))-1:CT=2:CN=0:GOSUB 310
6525 NI=0
6530 FOR I=1 TO SR
6540 IF VAL(MID$(B$(GH,I),15,10))<>0 THEN NI=1 : I=SR
6550 NEXT I
6560 IF NI=1 THEN GOSUB 250 : RETURN
6570 FOR I= 1 TO MS
6580 B$(GH,I)=B$(AH,I) : B$(AH,I)=LE$ : NEXT I
6590 AH=AH-1
6595 GOSUB 1282
6600 RETURN
10000 SR$="":IF CT<=0 THEN RETURN
10005 OS=ABS(SR)
10010 IF CN<=0 THEN OI=INT(OS+.5):OF=0:GOTO 10030
10015 OI=INT(OS+.5*10^-CN):OF=INT(((OS-OI)*10^CN)+.5)
10020 OFIP=OF:GOSUB 10060:IF OX$="" GOTO 10050
10025 SR$="."+STRING$(CN-LEN(OX$),48)+OX$
10030 OFIP=OI:GOSUB 10060:IF OX$="" GOTO 10050
10035 SR$=OX$+SR$:IF(SGN(SR)<0)AND(NOT((OI=0)AND(OF=0)))THEN SR$="-"+SR$
10040 IF LEN(SR$)<=CT THEN SR$=STRING$(CT-LEN(SR$),32)+SR$:RETURN
10050 SR$="**":RETURN
10060 IF OFIP>10^16 THEN OX$="":RETURN
10065 OX$=MID$(STR$(OFIP),2):RETURN
14990 REM PRINTER ESCAPE SEQUENCES
15000 REM FORMFEED
15001 FF$=""
15010 REM RESET PRINTER
15011 CL$=""
15020 REM FROM SMALL TO NORMAL
15021 NO$=""
15030 REM FROM NORMAL TO SMALL
15031 KL$=""
15040 REM FROM NORMAL TO LARGE
15041 GR$=""
15050 REM FROM LARGE TO NORMAL
15051 GN$=""
15060 RETURN
20000 REM ELECTRON COMMANDS
20010 RETURN
32000 REM VICTOR REIJS
32010 REM LEEUWERIKSTRAAT 12
32020 REM 6971 ZD BRUMMEN
32030 REM COPYRIGHT (C) 1989,2005