10 HE=0:BL$=STRING$(64,32):GOSUB 20:GOSUB 200:GOTO 4000 20 OPEN "O",1,"HLP":WRITE #1,3:CLOSE:RETURN 200 OPEN "I",1,"DAT":INPUT #1,DAT$,D:CLOSE 1 240 RETURN 250 PRINT A$;:IF A$="H" OR A$="h" THEN LINE INPUT B$:HE$=A$+B$ ELSE PRINT:GOTO 270 260 IF HE$="HELP" OR HE$="Help" OR HE$="help" THEN HE=1 270 RETURN 350 FR$="Deze datum bestaat niet!!! Nog eens.....":GOTO 460 360 FR$="Het bedrag is niet goed!!! Nog eens.....":GOTO 460 370 FR$="Deze rubriek bestaat niet!!! Nog eens.....":GOTO 460 390 FR$="Het antwoord moet 'J' of 'N' zijn. Nog eens.....":GOTO 460 410 FR$="Het regelnummer is niet goed!!! Nog eens..... 460 PRINT:FOR I=1 TO 4:PRINT FR$ 470 FOR J=1 TO 300:NEXT J:PRINT CHR$(23);BL$ 480 FOR J=1 TO 100:NEXT J:PRINT CHR$(23);:NEXT I 490 FOR I=1 TO 4:PRINT CHR$(23);:NEXT I:PRINT:RETURN 4000 PRINT CHR$(12);TAB(24);"INVOER UITGAVEN.":PRINT TAB(24);STRING$(16,61):PRINT:PRINT 4010 OPEN "I",1,"RUBRIEK" 4020 IF EOF(1) THEN CLOSE 1:PRINT"Er zijn geen rubrieken ingevoerd.":GOTO 4610 4030 INPUT #1,A:A=A+1 4040 DIM RUBR$(A),RUBRBED(A):I=0 4050 WHILE NOT EOF(1) 4060 I=I+1:INPUT #1,RUBR$(I),RUBRBED(I) 4070 WEND 4080 CLOSE 1 4090 RUBR$(I+1)="Einde":RUBRBED(I+1)=0 4100 T=INT(A/2):IF T<>A/2 THEN T1=1 ELSE T1=0 4110 FOR I=1 TO T:IF I<10 THEN PRINT " "; 4120 PRINT" ";I;" ";RUBR$(I);TAB(32);I+T+T1;" ";RUBR$(I+T+T1) 4130 NEXT I:IF T1=1 AND I<10 THEN PRINT" ";I;" ";RUBR$(I) 4140 IF T1=1 AND I>9 THEN PRINT" ";I;" ";RUBR$(I) 4150 PRINT:PRINT"Bij welke rubriek wilt u gegevens invoeren (1...";RIGHT$(STR$(A),LEN(STR$(A))-1);")? "; 4160 LINE INPUT IT$:HE$=IT$:GOSUB 260 4170 IF HE=1 THEN 4530 4180 IT=VAL(IT$):IF IT<1 OR IT>A THEN GOSUB 370:GOTO 4150 4190 IF RUBR$(IT)="Einde" THEN A=A-1:GOTO 4550 4200 PRINT CHR$(12);"Tot nu toe is er deze maand op ";RUBR$(IT);" geboekt:",:PRINT USING "F#####.##";RUBRBED(IT) 4210 PRINT:PRINT"Actuele datum: ";LEFT$(DAT$,5);TAB(51);"Boekjaar: 19";RIGHT$(DAT$,2) 4220 PRINT STRING$(64,45) 4230 RUBRBED(IT)=0 4240 OPEN "I",1,LEFT$(RUBR$(IT),4) 4250 OPEN "O",2,"HULP" 4260 WHILE NOT EOF(1) 4270 INPUT #1,DA,OMS$,BED 4280 PRINT USING "###";DA;:PRINT" ";OMS$;TAB(56);:PRINT USING "F#####.##";BED:RUBRBED(IT)=RUBRBED(IT)+BED 4290 WRITE #2,DA,OMS$,BED 4300 WEND 4310 PRINT:PRINT"U kunt nu gegevens invoeren. Om te stoppen moet de letter 'S' worden ingetypt, voor veranderen de letter 'V'." 4320 PRINT:LINE INPUT "Datum, S of V: ";DA$:HE$=DA$:GOSUB 260 4330 IF HE=1 THEN 4490 4340 IF DA$="S" OR DA$="s" THEN 4480 4350 IF DA$="V" OR DA$="v" THEN 4490 4360 DA=VAL(DA$):IF DA<1 OR DA>D THEN GOSUB 350:GOTO 4320 4370 LINE INPUT "Omschrijving: ";OMS$:HE$=OMS$:GOSUB 260 4380 IF HE=1 THEN 4490 4390 OMS$=LEFT$(OMS$,45) 4400 LINE INPUT "Bedrag: ";BED$:HE$=BED$:GOSUB 260 4410 IF HE=1 THEN 4490 4420 BED=VAL(BED$):IF BED<.01 OR BED>9999.99 THEN GOSUB 360:PRINT:GOTO 4400 4430 FOR I=1 TO 3:PRINT CHR$(23);BL$;CHR$(23);:NEXT I 4440 PRINT CHR$(23);:PRINT USING "###";DA;:PRINT" ";OMS$;TAB(56);:PRINT USING "F#####.##";BED 4450 RUBRBED(IT)=RUBRBED(IT)+BED 4460 WRITE #2,DA,OMS$,BED 4470 GOTO 4320 4480 PRINT:PRINT"Er is nu voor";RUBRBED(IT);"geboekt op ";RUBR$(IT);"." 4490 CLOSE 1,2 4500 KILL LEFT$(RUBR$(IT),4) 4510 NAME "HULP" AS LEFT$(RUBR$(IT),4) 4520 IF DA$="V" OR DA$="v" THEN 4620 4530 IF HE=1 THEN RUN "HELP" 4540 FOR I=1 TO 1000:NEXT I:PRINT CHR$(12):PRINT:PRINT:GOTO 4110 4550 OPEN "O",1,"RUBRIEK" 4560 WRITE #1,A 4570 FOR I=1 TO A 4580 WRITE #1,RUBR$(I),RUBRBED(I) 4590 NEXT I 4600 CLOSE 1 4610 RUN "MENU" 4620 PRINT CHR$(12);:J=0:RUBRBED(IT)=0 4630 PRINT" R D Omschrijving";TAB(56);"Bedrag":PRINT STRING$(64,45) 4640 OPEN "I",1,LEFT$(RUBR$(IT),4) 4650 WHILE NOT EOF(1) 4660 J=J+1 4670 INPUT #1,DA,OMS$,BED 4680 PRINT USING "###";J;:PRINT USING "###";DA;:PRINT" ";OMS$;TAB(56);:PRINT USING "F#####.##";BED 4690 WEND 4700 CLOSE 1 4710 PRINT:PRINT"Om een regel te verwijderen moet achter 'datum' de letter 'V' worden ingetypt." 4720 PRINT:PRINT"Welke regel wilt u veranderen (1...";RIGHT$(STR$(J),LEN(STR$(J))-1);")? "; 4730 LINE INPUT R$:HE$=R$:GOSUB 260 4740 IF HE=1 THEN 4530 4750 R=VAL(R$):IF R<1 OR R>J THEN GOSUB 410:GOTO 4720 4760 PRINT:LINE INPUT "Datum of V: ";VDA$:HE$=VDA$:GOSUB 260 4770 IF HE=1 THEN 4530 4780 IF VDA$="V" OR VDA$="v" THEN 4860 4790 VDA=VAL(VDA$):IF VDA<1 OR VDA>D THEN GOSUB 350:GOTO 4760 4800 LINE INPUT "Omschrijving: ";VOMS$:HE$=VOMS$:GOSUB 260 4810 IF HE=1 THEN 4530 4820 VOMS$=LEFT$(VOMS$,45) 4830 LINE INPUT "Bedrag: ";VBED$:HE$=VBED$:GOSUB 260 4840 IF HE=1 THEN 4530 4850 VBED=VAL(VBED$):IF VBED<.01 OR VBED>9999.99 THEN GOSUB 360:PRINT:GOTO 4830 4860 I=0 4870 OPEN "I",1,LEFT$(RUBR$(IT),4) 4880 OPEN "O",2,"HULP" 4890 WHILE NOT EOF(1) 4900 I=I+1 4910 INPUT #1,DA,OMS$,BED 4920 IF I=R AND VDA$="V" OR VDA$="v" THEN 4950 4930 IF I=R THEN WRITE #2,VDA,VOMS$,VBED:GOTO 4950 4940 WRITE #2,DA,OMS$,BED 4950 WEND 4960 CLOSE 1,2 4970 KILL LEFT$(RUBR$(IT),4) 4980 NAME "HULP" AS LEFT$(RUBR$(IT),4) 4990 PRINT:PRINT"Wilt u nog meer veranderen (J/N)? ";:A$=INPUT$(1) 5000 GOSUB 250:IF HE=1 THEN 4530 5010 IF A$="N" OR A$="n" THEN PRINT CHR$(12):GOTO 4210 5020 IF A$<>"J" THEN IF A$<>"j" THEN GOSUB 390:GOTO 4990 5030 K=7:IF VDA$="V" OR VDA$="v" THEN K=5 5040 FOR I=1 TO K:PRINT CHR$(23);BL$;CHR$(23);:NEXT I 5050 GOTO 4720 0:GOTO 4990 5030 K=7:IF VDA$="V" OR VDA$="v" THEN K