10 REM ++++++++++++++++++++++++++++++++ 20 REM ! Program 0012 INBALANS 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 G1$='' 120 G$=G$+"-" 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% : DIM K3$(L%)=10% 190 DIM ]1$(L%)=10% : DIM ]2$(L%)=10% 200 FOR I%=1% TO L% : N%(I%)=0% : D3$(I%)="0" : K3$(I%)="0" 210 ]1$(I%)="0" : ]2$(I%)="0" : NEXT I% : A$="01-01" 220 REM --- START -------------------- 230 ; CHR$(12%)TAB(15%)"ING. BALANS" 240 ; TAB(14%)CHR$(151%)STRING$(11%,44%) 250 REM --- L[S PERIOD DATA ---------- 260 ; : ; TAB(8%)"INL[SNING AV PERIODDATA" 270 ; TAB(8%)"SKER FR]N DRIVE 1" 280 OPEN "DR1:PERIOD.DAT" ASFILE 7% 290 FOR I%=1% TO L% 300 INPUTLINE #7%,X$ 310 N%(I%)=VAL(LEFT$(X$,LEN(X$)-2%)) 320 INPUTLINE #7%,X$ 330 B$(I%)=LEFT$(X$,LEN(X$)-2%) 340 INPUTLINE #7%,X$ 350 INPUTLINE #7%,X$ 360 NEXT I% 370 CLOSE 7% 380 REM --- L[S TOTAL DATA ---------- 390 ; : ; TAB(8%)"INL[SNING AV TOTALDATA" 400 ; TAB(8%)"SKER FR]N DRIVE 1" 410 OPEN "DR1:TOTAL.DAT" ASFILE 6% 420 FOR I%=1% TO L% 430 INPUTLINE #6%,X$ 440 ]1$(I%)=LEFT$(X$,LEN(X$)-2%) 450 INPUTLINE #6%,X$ 460 ]2$(I%)=LEFT$(X$,LEN(X$)-2%) 470 NEXT I% 480 CLOSE 6% 490 ; : ; TAB(8%)"STARTA PRINTER" 500 ; TAB(8%)"[R DET KLART (J/N)?" 510 ; TAB(8%); : GET X$ : IF NOT (X$="J" OR X$="j") END 520 ; : ; TAB(5%)"S[TT I EN NY DATASKIVA I DRIVE 0" 530 ; TAB(5%)"NYA FILER KOMMER ATT BILDAS" 540 REM -AVSL.GAMLA BILDA NYA ------- 542 D$='0' : K$='0' 550 FOR I%=1% TO L% : IF N%(I%)>2999% THEN 610 560 U%=COMP%(]1$(I%),]2$(I%)) 570 IF U%=0% THEN 610 580 IF U%=-1% THEN 600 590 D3$(I%)=SUB$(]1$(I%),]2$(I%),2%) : K3$(I%)="0" : GOTO 620 600 K3$(I%)=SUB$(]2$(I%),]1$(I%),2%) : D3$(I%)="0" : GOTO 620 610 D3$(I%)="0" : K3$(I%)="0" 620 D$=ADD$(D$,D3$(I%),2%) : K$=ADD$(K$,K3$(I%),2%) 630 NEXT I% 632 IF D$=K$ GOTO 640 634 ; CHR$(7%) : ; : ; TAB(5%)'EJ BALANS JUST. P] GAMLA SKIVAN' : END 640 REM --- PRINTER UTSKRIFT ------ 650 OPEN P$ ASFILE 5% 660 GOSUB 1260 670 D$="0" : K$="0" 680 FOR I%=1% TO L% 690 U%=COMP%(D3$(I%),K3$(I%)) 700 IF U%=0% THEN 760 710 IF N%(I%)=0% THEN 760 720 ; #5%,TAB(10%)N%(I%)" "B$(I%); 730 ; #5%,TAB(50%-LEN(D3$(I%)))D3$(I%); 740 ; #5%,TAB(70%-LEN(K3$(I%)))K3$(I%) : GOSUB 1370 750 D$=ADD$(D$,D3$(I%),2%) : K$=ADD$(K$,K3$(I%),2%) 760 NEXT I% 770 ; #5% : R%=R%+1% 780 ; #5%,TAB(50%-LEN(D$))D$; 790 ; #5%,TAB(70%-LEN(K$))K$ : GOSUB 1370 800 ; #5%,STRING$(R5%-R%,10%); : CLOSE 5% 810 REM --- SKRIV PERIOD DATA ---------- 820 B%=2% : V%=0% 830 ; : ; TAB(5%)"[R DET KLART (J/N)?" 840 ; TAB(5%); : GET X$ : IF NOT (X$="J" OR X$="j") GOTO 830 850 ; : ; TAB(8%)"REGISTRERING AV PERIODDATA" 860 ; TAB(8%)"SKER P] DRIVE 0" 870 PREPARE "DR0:PERIOD.DAT" ASFILE 3% 880 FOR I%=1% TO L% 890 ; #3%,N%(I%) 900 ; #3%,B$(I%) 910 ; #3%,D3$(I%) 920 ; #3%,K3$(I%) 930 NEXT I% 940 ; #3%,B% 950 ; #3%,A$ 960 CLOSE 3% 970 REM --- SKRIV TOTAL DATA ---------- 980 ; : ; TAB(8%)"REGISTRERING AV TOTALDATA" 990 ; TAB(8%)"SKER P] DRIVE 0" 1000 PREPARE "DR0:TOTAL.DAT" ASFILE 2% 1010 FOR I%=1% TO L% 1020 ; #2%,"0" 1030 ; #2%,"0" 1040 NEXT I% 1050 ; #2%,V% 1060 ; #2%,A$ 1070 CLOSE 2% 1140 REM --- BILDA DAGBOKFIL -------- 1150 PREPARE "DR0:DAGBOK.DAT" ASFILE 4% 1160 ; #4%,"01-01" 1170 ; #4%,"2" 1180 CLOSE 4% 1190 ; : ; TAB(8%)"KLART" 1200 ; TAB(8%)"S[TT PROGRAMSKIVAN I DRIVE 0" 1210 ; TAB(8%)"[R DET KLART (J/N)?" 1220 ; TAB(8%); : GET X$ : IF NOT (X$="J" OR X$="j") 1200 1230 POKE 65408%,10% 1240 CHAIN "HUVUDBOK" 1250 END 1260 REM --- UTSKRIFTS RUBRIK ------ 1270 H%=H%+1% : X$="SID"+NUM$(H%) 1280 ; #5%,TAB(80%-LEN(X$))X$ 1290 ; #5%,TAB(63%)"VERIFIKATION NR 1" 1300 ; #5%,STRING$(80%,61%) 1310 ; #5%,G1$TAB(30%)"ING]ENDE BALANSR[KNING"TAB(66%)"PER "G$A$ 1320 ; #5%,STRING$(80%,61%) 1330 ; #5%,TAB(10%)"KONTO"TAB(45%)"DEBET"TAB(64%)"KREDIT" 1340 ; #5%,STRING$(80%,45%) 1350 R%=R%+7% 1360 RETURN 1370 REM --- RADR[KNARE -------------- 1380 R%=R%+1% 1390 IF R%>R5%-7% THEN ; #5%,STRING$(R5%-R%,10%); : R%=0% : GOSUB 1260 1400 RETURN