10 REM +++++++++++++++++++++++++++++++++ 20 REM ! Program .... KONTOINM 30 REM ! Utg}va 2.3 850120 40 REM ! av (c) Michael Widell 50 REM ! Minne 16 Kbytes f|r flexskiva 60 REM ! Ins{nt av Michael Widell 70 REM +++++++++++++++++++++++++++++++++ 80 REM 80-kolumners bildsk{rm (Tkn-80) 90 REM m}ste vara monterad. 100 REM *** Inmatning av utgifter KONTOINM Ver 2.2 *** 110 A0%=INP(4) : GOSUB 960 120 OPEN 'KLISTA.DAT' ASFILE 1 130 INPUT #1,A0% 140 DIM K0$(A0%)=10,B0$(A0%)=30,M0(A0%),B0%(A0%),S0(A0%) 150 DIM K$(25%)=10,K%(25%),D$(25)=10,B$(25),P(25) 160 FOR I%=1% TO A0% 170 INPUT #1,K0$(I%) 180 INPUTLINE #1,A$ : B0$(I%)=LEFT$(A$,LEN(A$)-2%) 190 INPUT #1,M0(I%),B0%(I%),S0(I%) 200 NEXT I% : CLOSE 1 : K0$(0%)='\VRF\R' 210 FOR I=22768 TO 22773 : D$=D$+CHR$(PEEK(I)) : NEXT I 220 GOSUB 960 230 A%=A%+1% 240 GOSUB 960 250 R%=3% : GOSUB 980 260 ; 'Konto '; : INPUT A$ 270 IF A$='' THEN A%=A%-1% : GOTO 680 280 IF A$='\VRF\R' \%=1% ELSE \%=0% 290 FOR I%=0% TO A0% : IF A$<>K0$(I%) THEN NEXT I% : OUT 6,0,6,131 : GOSUB 990 : GOTO 250 300 K%(A%)=I% : K$(A%)=A$ 310 R%=5% : GOSUB 980 320 ; 'Datum '; : INPUT D$(A%) 330 IF LEN(D$(A%))=6% D$=D$(A%) : GOTO 380 340 IF LEN(D$(A%))<>0% THEN 310 350 D$(A%)=D$ 360 R%=5% : GOSUB 980 370 ; 'Datum ?';D$ 380 IF \%=0% THEN 470 390 R%=7% : GOSUB 980 400 ; 'Fr}n konto '; : INPUT A$ 410 FOR I%=1% TO A0% : IF A$<>K0$(I%) THEN NEXT I% : OUT 6,0,6,131 : GOSUB 990 : GOTO 390 420 \1%=I% 430 R%=9% : GOSUB 980 440 ; 'Till konto '; : INPUT A$ 450 FOR I%=1% TO A0% : IF A$<>K0$(I%) THEN NEXT I% : OUT 6,0,6,131 : GOSUB 990 : GOTO 430 460 \2%=I% : GOTO 510 470 R%=7% : GOSUB 980 480 ; 'Ben{mning ?'; : INPUTLINE B$(A%) 490 B$(A%)=LEFT$(B$(A%),LEN(B$(A%))-2%) 500 IF LEN(B$(A%))>40 THEN 470 510 R%=9%+2%*\% : GOSUB 980 520 ONERRORGOTO 550 530 IF \% ; '\verf|ringsbelopp '; ELSE ; 'Kostnad '; 540 INPUT P(A%) : GOTO 580 550 P(A%)=0% 560 R%=9%+2%*\% : GOSUB 980 570 IF \% ; '\verf|ringsbelopp ?0' ELSE ; 'Kostnad ?0' 580 R%=15 : GOSUB 980 590 ; '[r uppgifterna riktiga?'; 600 GET A$ 610 IF A$='n' OR A$='N' THEN 240 620 IF A$<>'j' AND A$<>'J' THEN 600 630 IF \%=0% THEN 680 640 B$(A%)='FR]N '+K0$(\1%)+' - TILL '+K0$(\2%) 650 K%(A%)=\1% : A%=A%+1% 660 K%(A%)=\2% : P(A%)=-P(A%-1%) 670 K$(A%)='\VRF\R' 680 R%=15 : GOSUB 980 690 ; 'Fler inmatningar?'; 700 GET A$ 710 IF A$='j' OR A$='J' THEN 230 720 IF A$<>'n' AND A$<>'N' THEN 700 730 ONERRORGOTO 0 740 IF A%=0% THEN 950 750 OPEN 'KPOSTER.DAT' ASFILE 1 760 OPEN 'KPOSTER.DAT' ASFILE 2 770 ONERRORGOTO 830 780 INPUT #1,A$,A1$ 790 INPUTLINE #1,A0$ : A0$=LEFT$(A0$,LEN(A0$)-2) 800 INPUT #1,J 810 ; #2,A$ : ; #2,A1$ : ; #2,A0$ : ; #2,J 820 GOTO 780 830 FOR I%=1% TO A% 840 ; #2,K$(I%) : ; #2,D$(I%) : ; #2,B$(I%) : ; #2,P(I%) 850 IF K$(I%)='\VRF\R' I%=I%+1% 860 NEXT I% : CLOSE 1 : CLOSE 2 870 FOR I%=1% TO A% 880 IF K$(I%)='\VRF\R' S0(K%(I%))=S0(K%(I%))-P(I%) ELSE M0(K%(I%))=M0(K%(I%))-P(I%) 890 NEXT I% 900 PREPARE 'KLISTA.DAT' ASFILE 1 910 ; #1,A0% 920 FOR I%=1% TO A0% 930 ; #1,K0$(I%) : ; #1,B0$(I%) : ; #1,M0(I%) : ; #1,B0%(I%) : ; #1,S0(I%) 940 NEXT I% : CLOSE 1 950 CHAIN 'CMWKONTO' 960 ; CHR$(12);TAB(25)'CMW-Konto Inmatning' 970 ; TAB(23)CHR$(151)STRING$(21,35) : ; : RETURN 980 ; CUR(R%,0%)SPACE$(75)CUR(R%,0%); : RETURN 990 ; CUR(17,0); : FOR I%=\% TO A0% 1000 ; K0$(I%);' '; : NEXT I% : RETURN