10 REM ++++++++++++++++++++++++++++++++ 20 REM ! Program 0011 KTOV]RD 30 REM ! Utg}va 4.21 83-12-31 35 REM ! Mod. 80/tkn printer 84-10-01 40 REM ! av (c) K.J[RBIN 50 REM ! Minne 32 Kbytes f|r flexskiva 60 REM ++++++++++++++++++++++++++++++++ 70 G$='' : P$='PR:B4S72' : REM PRINTERBET 72 L%=150% : REM ANT. KONTON 74 R5%=72% : REM SIDH\JD 80 FOR I%=1% TO 4% 90 G$=G$+CHR$(PEEK(I%+65410)) 100 NEXT I% 110 G$=G$+"-" 120 G1$='' 130 FOR I%=1% TO 25% 140 IF PEEK(I%+65415)=13% GOTO 180 150 G1$=G1$+CHR$(PEEK(I%+65415)) 160 NEXT I% 180 DIM N%(L%) : DIM B$(L%)=12% : DIM D3$(L%)=10% 190 DIM K3$(L%)=10% : DIM ]1$(L%)=10% : DIM ]2$(L%)=10% 200 GOSUB 2160 210 REM --- START ------------------- 220 RESTORE 510 230 ; CHR$(12%) : H%=0% 240 ; TAB(12%)"KONTO V]RD" 250 ; TAB(11%)CHR$(151%)STRING$(10%,44%) 260 ; CUR(5%,5%)"1 UPPL[GGNING NY KONTOPLAN" 270 ; CUR(7%,5%)"2 TILL[GG AV NYTT KONTO" 280 ; CUR(9%,5%)"3 [NDRINGAR/SLOPANDE AV KONTO" 290 ; CUR(11%,5%)"4 SORT. OCH UTSKRIFT AV KTOPLAN" 300 ; CUR(13%,5%)"5 AVSLUT" 310 ; CUR(15%,5%); 320 GET X$ 330 IF X$<"1" OR X$>"5" GOTO 320 340 ON VAL(X$) GOTO 380,530,890,350,360 350 GOSUB 1710 : GOSUB 1350 : GOTO 210 360 GOSUB 1910 : ; : ; TAB(5%)"TACK OCH ADJ\" 370 CHAIN "BOKF\R" 380 REM --- NYA KONTON ----------- 390 FOR I%=1% TO L% 400 IF VAL(D3$(I%))+VAL(K3$(I%))+VAL(]1$(I%))+VAL(]2$(I%))=0 GOTO 440 410 ; : ; TAB(8%)"NY KONTOPLAN KAN INTE L[GGAS UPP" 420 ; TAB(8%)"KONTERING HAR GJORTS" 430 ; CHR$(7%) : FOR J%=0 TO 5000 : NEXT J% : GOTO 210 440 NEXT I% 450 FOR I%=1% TO L% : N%(I%)=0% : D3$(I%)="0" : K3$(I%)="0" 460 ]1$(I%)="0" : ]2$(I%)="0" : NEXT I% : A$="00-00" 470 REM --- OBL. KONTON ----- 480 FOR I%=1% TO 5% 490 READ X$,B$(I%) : N%(I%)=VAL(X$) 500 NEXT I% 510 DATA "1010","KASSA","8020","R[NTEINT" 520 DATA "7912","AVSK.INVENT","8810","[ND.LAG.RES.","8120","R[NTEKOST" 530 ; CHR$(12%) 540 ; CUR(2%,13%)"NYTT KONTO" 550 ; CUR(3%,12%)CHR$(151%)STRING$(10%,44%) 560 ; CUR(5%,5%)"DETTA KONTO KOMMER" 570 ; TAB(5%)"ATT VARA DET AV " 580 ; TAB(5%)"TOTALT"L%" ST" 590 FOR I%=1% TO L% 600 ; CUR(12,0%)SPACE$(400%) 610 ; CUR(6%,17%)I% 620 IF N%(I%) GOTO 840 630 ; CUR(12%,3%)"VARS]GOD ANGE" 640 ; TAB(3%)"KONTO NR" 650 ; CUR(12%,23%)"F\R AVSLUT" 660 ; CUR(13%,23%)"TRYCK RETURN" 670 ; TAB(3%); 680 INPUTLINE X$ 690 X$=LEFT$(X$,LEN(X$)-2%) 700 IF X$="" GOTO 860 710 IF LEN(X$)>5% GOTO 2530 720 ONERRORGOTO 2530 730 N%(I%)=VAL(X$) 740 ONERRORGOTO 0 750 ; CUR(12%,23%)SPACE$(14%) 760 ; CUR(13%,23%)SPACE$(14%) 770 ; CUR(16,3%)"KONTONAMN" 780 ; TAB(3%)"MAX 12 TECKEN" 790 ; TAB(3%); 800 INPUTLINE X$ 810 X$=LEFT$(X$,LEN(X$)-2%) 820 IF LEN(X$)>12 GOTO 2540 830 B$(I%)=X$ 840 NEXT I% 850 ; : ; TAB(8%)"REGISTRET FULLT !" 860 GOSUB 1710 870 GOSUB 1350 880 GOTO 210 890 REM --- [NDRING / BORTTAGNING -- 900 ; CHR$(12%) 910 ; : ; : ; TAB(8%)"[NDRING / SLOPANDE KTO" 920 ; : ; TAB(8%)"[NDRING =[" 930 ; TAB(8%)"SLOPANDE =S" 940 ; TAB(8%)"AVSLUT= RETURN" 950 ; TAB(8%); 960 GET X$ 970 IF ASC(X$)=13% GOSUB 1710 : GOSUB 1350 : GOTO 210 980 IF X$="S" X%=1 : GOTO 1000 ELSE X%=0 990 IF NOT (X$="[" OR X$="{") GOTO 890 1000 ; : ; TAB(8%)"ANGE KONTONUMMER" 1010 ; TAB(8%); 1020 INPUTLINE X$ : ; 1030 X$=LEFT$(X$,LEN(X$)-2%) 1040 FOR I%=1% TO L% 1050 IF VAL(X$)<>N%(I%) GOTO 1310 1060 IF X% GOTO 1190 1070 ; : ; TAB(5%)"KTO NR"TAB(20%)"[NDRAS TILL" 1080 ; TAB(5%)N%(I%)TAB(20%); 1090 INPUTLINE X$ : ; 1100 X$=LEFT$(X$,LEN(X$)-2%) 1110 IF X$="" GOTO 1130 1120 N%(I%)=VAL(X$) 1130 ; TAB(5%)B$(I%)TAB(20%); 1140 INPUTLINE X$ 1150 X$=LEFT$(X$,LEN(X$)-2%) 1160 IF X$="" GOTO 890 1170 B$(I%)=X$ 1180 GOTO 890 1190 IF VAL(D3$(I%))+VAL(K3$(I%))+VAL(]1$(I%))+VAL(]2$(I%))=0 GOTO 1230 1200 ; : ; TAB(8%)"KONTO NR "N%(I%) 1210 ; TAB(8%)"KAN EJ SLOPAS" 1220 GOTO 910 1230 ; : ; TAB(8%)"KTO NR "N%(I%)" "B$(I%) 1240 ; TAB(8%)"KOMMER ATT SLOPAS" 1250 ; TAB(8%)"[R DET RIGTIGT (J/N)?" 1260 ; TAB(8%); 1270 GET X$ 1280 IF NOT (X$="J" OR X$="j") GOTO 890 1290 N%(I%)=0% : B$(I%)="0" : D3$(I%)="0" : K3$(I%)="0" : ]1$(I%)="0" : ]2$(I%)="0" 1300 GOTO 890 1310 NEXT I% 1320 ; : ; TAB(8%)"FINNS EJ I KTOPLAN" 1330 GOTO 1000 1340 END 1350 REM ****************************** 1360 REM * * * GOSUB * * * 1370 REM * * * UTSKRIFT KONTOPLAN * * * 1380 REM ****************************** 1390 ; : ; TAB(8%)"\NSKAS UTSKRIFT" 1400 ; TAB(8%)"P] PRINTER (J/N)?" 1410 ; TAB(8%); 1420 GET X$ 1430 IF NOT (X$="J" OR X$="j") GOTO 1470 1440 P%=5% : OPEN P$ ASFILE 5% 1450 ; : ; TAB(8%)"STARTA PRINTER "; : GET X$ 1460 GOSUB 2590 1470 ; CHR$(12) : ; "KONTOPLAN" 1480 RESTORE 1700 1490 FOR J%=1% TO 4% 1500 READ X$ 1510 ; X$ 1520 IF P% ; #5%,X$; 1530 FOR I%=1% TO L% 1540 IF J%=1% IF N%(I%)>1999% GOTO 1630 1550 IF J%=2% IF N%(I%)<2000% OR N%(I%)>2999% GOTO 1630 1560 IF J%=3% IF N%(I%)<3000% OR N%(I%)>3999% GOTO 1630 1570 IF J%=4% IF N%(I%)<4000% GOTO 1630 1580 IF N%(I%)=0 THEN GOTO 1630 1590 ; N%(I%),B$(I%) 1600 IF P% ; #5%,TAB(24%)N%(I%)TAB(40%)B$(I%) : GOSUB 2690 1610 IF P% GOTO 1630 1620 GET X$ 1630 NEXT I% 1640 IF P% ; #5%,STRING$(80%,45%) : GOSUB 2690 1650 NEXT J% 1660 IF P% ; #5%,STRING$(R5%-R%,10%); : CLOSE 5% : RETURN 1670 ; : ; TAB(8%)"TRYCK TANGENT F\R" : ; TAB(8%)"]TERG]NG TILL MENY "; 1680 GET X$ 1690 RETURN 1700 DATA "TILLG]NGAR","SKULDER","INT[KTER","KOSTNADER" 1710 REM **************************** 1720 REM * * G O S U B * * 1730 REM * * Sorteringsrutin * * * 1740 REM ***************************** 1750 ; : ; TAB(8%)"SORTERING AV KONTOPLAN P]G]R" 1760 FOR I%=1% TO L%-1% 1770 FOR J%=I%+1% TO L% 1780 IF N%(J%)=0 GOTO 1870 1790 IF N%(I%)=0 GOTO 1810 1800 IF N%(I%)R5%-7% THEN ; #5%,STRING$(5%,10%) : R%=0% : GOSUB 2590 2720 RETURN