10 REM ++++++++++++++++++++++++++++++++ 20 REM ! Program 0014 DAGBOK 30 REM ! Utg}va 4.21 83-12-31 40 REM ! av (c) K.J[RBIN 50 REM ! Minne 32 Kbytes f|r flexskiva 60 REM ++++++++++++++++++++++++++++++++ 70 G$='' 72 L%=150% : REM ANT. KONTON 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 170 150 G1$=G1$+CHR$(PEEK(I%+65415)) 160 NEXT I% 170 DIM N%(L%) : DIM B$(L%)=12% : DIM D3$(L%)=10% : DIM K3$(L%)=10% : DIM T$=25% 180 FOR I%=1% TO L% : N%(I%)=0% : D3$(I%)="0" : K3$(I%)="0" : NEXT I% : A$="00-00" 200 REM ******** MENY ************ 210 ; CHR$(12%) 220 ; CUR(2%,12%)"DAGBOKF\RING" 230 ; CUR(3%,11%)CHR$(151%)STRING$(12%,44%) 240 REM --- L[S PERIOD DATA ---------- 250 ; : ; TAB(8%)"INL[SNING AV PERIODDATA" 260 ; TAB(8%)"SKER FR]N DRIVE 1" 270 OPEN "DR1:PERIOD.DAT" ASFILE 7% 280 FOR I%=1% TO L% 290 INPUTLINE #7%,X$ 300 N%(I%)=VAL(LEFT$(X$,LEN(X$)-2%)) 310 INPUTLINE #7%,X$ 320 B$(I%)=LEFT$(X$,LEN(X$)-2%) 330 INPUTLINE #7%,X$ 340 D3$(I%)=LEFT$(X$,LEN(X$)-2%) 350 INPUTLINE #7%,X$ 360 K3$(I%)=LEFT$(X$,LEN(X$)-2%) 370 NEXT I% 380 INPUTLINE #7%,X$ 390 B%=VAL(LEFT$(X$,LEN(X$)-2%)) 400 INPUTLINE #7%,X$ 410 A$=LEFT$(X$,LEN(X$)-2%) 420 CLOSE 7% 430 REM --- KONTROLL VERF. NR ----- 440 ; CHR$(12%) 450 ; CUR(5%,5%)"F\RSTA INL[SNINGEN KOMMER ATT" 460 ; TAB(5%)"TILLDELAS VERIFIKATIONS NUMMER" 470 ; CUR(8%,16%)"*******" 480 FOR I%=0% TO 2% : ; TAB(16%)"* *" : NEXT I% 490 ; TAB(16%)"*******" 500 ; CUR(10%,21%-LEN(NUM$(B%)))B% 510 ; CUR(14%,5%)"[R DETTA RIKTIGT TRYCK RETURN" 520 ; TAB(5%)"VID [NDRING SKRIV R[TT NUMMER" 530 ; CUR(16%,18%); 540 INPUTLINE X$ 550 X$=LEFT$(X$,LEN(X$)-2%) 560 IF X$="" GOTO 580 570 B%=VAL(X$) 580 OPEN "DR1:DAGBOK.DAT" ASFILE 7% 590 OPEN "DR1:DAGBOK.DAT" ASFILE 6% 600 ONERRORGOTO 650 610 INPUTLINE #7%,X$ 620 X$=LEFT$(X$,LEN(X$)-2%) 630 ; #6%,X$ 640 GOTO 610 650 CLOSE 7% 660 ONERRORGOTO 0 670 REM ** Dagboksinl{sning ********* 680 REM --- DATUM ---------------- 690 ; CHR$(12%) 700 ; CUR(0%,5%)"DAGBOKSINL[SNING "G$+A$ 710 ; CUR(1%,5%)STRING$(28%,61%) 720 ; CUR(2%,5%)"VERIFIKAT NUMMER "B% 730 ; CUR(18%,0%)STRING$(39%,45%) 740 ; CUR(19%,0%)"DATUM = OF\R[NDRAT" 750 ; CUR(21%,0%)"M]NADS AVSLUT = M" 760 ; CUR(22%,0%)"TILLF[LLIGT SLUT = A" 770 GOSUB 2070 780 IF X$="M" LET C%=1% : GOTO 1780 790 IF X$="A" LET C%=0% : GOTO 1780 800 IF X$="" THEN 830 810 IF LEN(X$)<>5% GOTO 740 820 A$=X$ 830 ; CUR(0%,27%)A$ 840 REM --- TEXT ----------------- 850 X3$="0" : X4$="0" : FOR I%=1 TO 10 : X%(I%)=0 : X1$(I%)="0" : X2$(I%)="0" : NEXT I% 860 ; CUR(19%,5%)STRING$(27%,46%) 870 ; CUR(20%,0%)"TEXT:."TAB(31%)"." 880 ; CUR(21%,5%)STRING$(27%,46%) 890 ; CUR(20%,6%); 900 INPUTLINE X$ 910 X$=LEFT$(X$,LEN(X$)-2%) 920 IF LEN(X$)>25% ; CUR(20%,0%)SPACE$(39%) : GOTO 870 930 T$=X$ 940 ; CUR(3%,5%)T$ : GOSUB 2100 950 REM --- KONTO NR ------------- 960 ; CUR(4%,0%)STRING$(39%,61%) 970 ; CUR(5%,0%)"KONTO"TAB(22%)"DEBET"TAB(33%)"KREDIT" 980 ; CUR(6%,0%)STRING$(39%,45%) 990 FOR I%=1% TO 10% 1000 ; CUR(2%,22%)B%"-"I% 1010 ; CUR(19%,0%)"KONTO NR "; 1020 INPUTLINE X$ 1030 X$=LEFT$(X$,LEN(X$)-2%) 1040 ONERRORGOTO 1010 1050 X%(I%)=VAL(X$) 1060 ONERRORGOTO 0 1070 IF X%(I%)=0 GOTO 1450 1080 FOR J%=1% TO L% 1090 IF X%(I%)<>N%(J%) GOTO 1120 1100 ; CUR(6%+I%,0%)B$(J%) 1110 GOTO 1150 1120 NEXT J% 1130 GOSUB 2100 : ; CUR(19%,0%)"FINNS EJ I KTOPLAN" : GET X$ : GOSUB 2100 : GOTO 1000 1140 REM --- DEBET KREDIT -------- 1150 ; CUR(20%,0%)"DEBET: "; 1160 INPUTLINE X$ 1170 X$=LEFT$(X$,LEN(X$)-2%) 1180 IF X$="" X1$(I%)="0.00" : GOTO 1230 1190 ONERRORGOTO 1150 1200 J=VAL(X$) 1210 ONERRORGOTO 0 1220 X1$(I%)=X$ : X1$(I%)=ADD$(X1$(I%),"0.00",2%) 1230 ; CUR(6%+I%,27%-LEN(X1$(I%)));X1$(I%) 1240 X3$=ADD$(X3$,X1$(I%),2%) 1250 ; CUR(20%,20%)"KREDIT: "; 1260 INPUTLINE X$ 1270 X$=LEFT$(X$,LEN(X$)-2%) 1280 IF X$="" X2$(I%)="0.00" : GOTO 1330 1290 ONERRORGOTO 1250 1300 J=VAL(X$) 1310 ONERRORGOTO 0 1320 X2$(I%)=X$ : X2$(I%)=ADD$(X2$(I%),"0.00",2%) 1330 ; CUR(6%+I%,39%-LEN(X2$(I%)));X2$(I%) 1340 X4$=ADD$(X4$,X2$(I%),2%) 1350 ; CUR(17%,0%)SPACE$(39%) : ; CUR(17%,11%-LEN(SUB$(X3$,X4$,2%)))SUB$(X3$,X4$,2%) 1360 ; CUR(17%,27%-LEN(X3$))X3$TAB(39%-LEN(X4$))X4$ 1370 GOSUB 2100 : IF X3$=X4$ ; CHR$(7%); : GOTO 1390 1380 GOTO 1440 1390 ; CUR(19%,0%)"TRANSAKTIONEN BALANSERAD" 1400 ; CUR(20%,0%)"[R INL[SNINGEN AVSLUTAD (J/N)" 1420 GOSUB 2090 1430 IF X$="J" OR X$="j" GOTO 1450 1440 NEXT I% 1450 IF X3$=X4$ GOTO 1480 1460 ; CUR(19%,0%)"* * * OBS! EJ BALANSERAD * * *" : ; "TRYCK *RETURN* F\R OMSKRIFT" 1470 GET X$ : GOSUB 2100 : GOTO 1520 1480 ; CUR(19%,0%)"VERIFIKATET" : ; "1-SKRIVS OM" : ; "2-GODK[NNES" 1490 INPUTLINE X$ 1500 X$=LEFT$(X$,LEN(X$)-2%) 1510 ; CHR$(12%) 1520 IF X$<>"2" GOTO 670 1530 REM --- REG. F\R UTSKRIFT-------- 1540 ; : ; TAB(8%)"REGISTRERING AV VERIFIKAT" 1550 ; TAB(8%)"SKER P] DRIVE I" 1560 ; #6%,A$ 1570 ; #6%,B% 1580 ; #6%,T$ 1590 FOR I%=1% TO 10% 1600 ; #6%,X%(I%) 1610 ; #6%,X1$(I%) 1620 ; #6%,X2$(I%) 1630 IF I%=10% ; #6%,"1" : GOTO 1670 1640 IF X%(I%+1%)=0% ; #6%,"1" : GOTO 1670 1650 ; #6%,"0" 1660 NEXT I% 1670 REM *** Addering sammandrag *** 1680 ; CUR(10%,3%);"BER[KNINGAR P]G]R" : B%=B%+1 1690 FOR I%=1 TO 10 : IF X%(I%)=0 GOTO 1740 1700 FOR J%=1% TO L% 1710 IF X%(I%)<>N%(J%) GOTO 1730 1720 D3$(J%)=ADD$(D3$(J%),X1$(I%),2) : K3$(J%)=ADD$(K3$(J%),X2$(I%),2) : GOTO 1740 1730 NEXT J% 1740 NEXT I% 1750 ; CHR$(7%)TAB(13%)"KLART" 1760 GOTO 670 1770 REM %%% AVSLUT %%%%%%%%%%%%%%%%% 1780 GOSUB 2100 : IF C% THEN 1790 ELSE 1800 1790 ; CUR(19%,0%)"SKA M]NADSAVSLUT SKE (J/N)?" : GOTO 1810 1800 ; CUR(19%,0%)"SKA TILLF[LLIGT AVSLUT SKE (J/N)?" 1810 INPUT X$ 1820 ; CHR$(12%) 1830 IF NOT (X$="J" OR X$="j") GOTO 670 1840 CLOSE 6% 1850 REM --- SKRIV PERIOD DATA ---------- 1860 ; : ; TAB(8%)"REGISTRERING AV PERIODDATA" 1870 ; TAB(8%)"SKER P] DRIVE 1" 1880 OPEN "DR1:PERIOD.DAT" ASFILE 3% 1890 FOR I%=1% TO L% 1900 ; #3%,N%(I%) 1910 ; #3%,B$(I%) 1920 ; #3%,D3$(I%) 1930 ; #3%,K3$(I%) 1940 NEXT I% 1950 ; #3%,B% 1960 ; #3%,A$ 1970 CLOSE 3% 1980 POKE 65408%,255% 1990 IF C% POKE 65408%,10% ELSE 2010 2000 CHAIN "MOMS\VER" : REM SLOPAS I GRUNDVES. 2010 CHAIN "R]BALANS" 2020 REM *** SUBRUTINER ********** 2030 REM --- BLANKA TEXT ------------ 2040 ; CUR(16%,0%)SPACE$(239%) 2050 RETURN 2060 END 2070 REM ---- LEDTEXT ------------ 2080 ; CUR(23%,0%); 2090 INPUTLINE X$ : X$=LEFT$(X$,LEN(X$)-2%) 2100 ; CUR(19%,0%)SPACE$(199%); 2110 RETURN