10 REM ++++++++++++++++++++++++++++++++ 20 REM ! Program 0013 HUVUDBOK 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 REM A = SLOPAS I GRUNDVERS. 72 L%=150% : REM ANT. KONTON 80 G$='' : P$='PR:B4S72' : REM PRINTERBET 82 R5%=72% : REM SIDH\JD 90 FOR I%=1% TO 4% 100 G$=G$+CHR$(PEEK(I%+65410)) 110 NEXT I% 120 G$=G$+"-" 130 G1$='' 140 FOR I%=1% TO 25% 150 IF PEEK(I%+65415)=13% GOTO 180 160 G1$=G1$+CHR$(PEEK(I%+65415)) 170 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% : DIM M$(14%)=4% 200 FOR I%=1% TO L% : N%(I%)=0% : D3$(I%)="0" : K3$(I%)="0" : ]1$(I%)="0" : ]2$(I%)="0" : NEXT I% : A$="00-00" 210 Z%=PEEK(65408%) 220 ; CHR$(12%) 230 ; TAB(12%)"H U V U D B O K" 240 ; TAB(11%)CHR$(151%)STRING$(15%,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 D3$(I%)=LEFT$(X$,LEN(X$)-2%) 360 INPUTLINE #7%,X$ 370 K3$(I%)=LEFT$(X$,LEN(X$)-2%) 380 NEXT I% 390 INPUTLINE #7%,X$ 400 B%=VAL(LEFT$(X$,LEN(X$)-2%)) 410 INPUTLINE #7%,X$ 420 A$=LEFT$(X$,LEN(X$)-2%) 430 CLOSE 7% 440 REM --- L[S TOTAL DATA ---------- 450 ; : ; TAB(8%)"INL[SNING AV TOTALDATA" 460 ; TAB(8%)"SKER FR]N DRIVE 1" 470 OPEN "DR1:TOTAL.DAT" ASFILE 6% 480 FOR I%=1% TO L% 490 INPUTLINE #6%,X$ 500 ]1$(I%)=LEFT$(X$,LEN(X$)-2%) 510 INPUTLINE #6%,X$ 520 ]2$(I%)=LEFT$(X$,LEN(X$)-2%) 530 NEXT I% 540 INPUTLINE #6%,X$ 550 V%=VAL(LEFT$(X$,LEN(X$)-2%)) 560 CLOSE 6% 570 IF Z%=10% GOTO 630 580 ; : ; TAB(8%)"[R PRINTERN P]SLAGEN (J/N)?" 590 ; TAB(8%); 600 GET X$ 610 IF NOT (X$="J" OR X$="j") GOTO 580 620 REM ******************************* 630 REM *** PRINTER UTSKRIFT H-BOK *** 640 REM ******************************* 650 OPEN P$ ASFILE 5% 660 GOSUB 1130 670 READ M$(0),M$(1),M$(2),M$(3),M$(4),M$(5),M$(6),M$(7),M$(8),M$(9),M$(10),M$(11),M$(12),M$(13) 680 M$="SALDO T.O.M. "+M$(V%) 690 FOR I%=1% TO L% : IF N%(I%)=0 THEN 810 692 U%=COMP%(]1$(I%),]2$(I%)) : S1$="0" : S2$="0" 693 IF U%=1 S1$=SUB$(]1$(I%),]2$(I%),2) ELSE S2$=SUB$(]2$(I%),]1$(I%),2) 694 ; #5%,N%(I%)" "B$(I%); 695 ; #5%,TAB(25)'ING SALDOBALANS'TAB(67-(LEN(S1$)))S1$TAB(80-(LEN(S2$)))S2$ 700 A=67-LEN(]1$(I%)) : B=80-LEN(]2$(I%)) 701 ; #5%,TAB(25)M$TAB(A)]1$(I%)TAB(B)]2$(I%) : R%=R%+1% : GOSUB 1250 702 OPEN "DR1:DAGBOK.DAT" ASFILE 1% 703 ONERRORGOTO 720 : INPUT #1%,A1$,X1% 704 INPUT #1%,A1$,X1% 705 INPUTLINE #1%,X5$ 706 X5$=LEFT$(X5$,LEN(X5$)-2%) 707 FOR J%=1% TO 10% 708 INPUT #1%,X1%(J%),X1$(J%),X2$(J%),\% 709 IF X1%(J%)<>N%(I%) THEN 714 710 A1$=A1$+SPACE$(1%)+NUM$(X1%)+"-"+NUM$(J%) 711 ; #5%,TAB(6%)A1$TAB(25%)X5$TAB(67%-(LEN(X1$(J%))))X1$(J%)TAB(80%-(LEN(X2$(J%))))X2$(J%) 712 A1$=LEFT$(A1$,5%) 713 GOSUB 1250 714 IF \% GOTO 704 715 NEXT J% 716 GOTO 704 720 ONERRORGOTO 0 : CLOSE 1% 738 IF A$="01-01" Y%=0% : GOTO 750 739 X$=LEFT$(A$,2) : Y%=VAL(X$) 750 ]1$(I%)=ADD$(]1$(I%),D3$(I%),2) : ]2$(I%)=ADD$(]2$(I%),K3$(I%),2) 760 U%=COMP%(]1$(I%),]2$(I%)) : S1$="0" : S2$="0" 770 IF U%=1 S1$=SUB$(]1$(I%),]2$(I%),2) ELSE S2$=SUB$(]2$(I%),]1$(I%),2) 780 A=67-LEN(]1$(I%)) : B=80-LEN(]2$(I%)) 790 ; #5%,TAB(25)"SALDO T.O.M. "M$(Y%)TAB(A)]1$(I%)TAB(B)]2$(I%) 791 ; #5%,TAB(25)'UTG SALDOBALANS'TAB(67-(LEN(S1$)))S1$TAB(80-(LEN(S2$)))S2$ 800 ; #5%,CHR$(10%); : R%=R%+2% : GOSUB 1250 810 NEXT I% 820 ; #5%,STRING$(R5%-R%,10%); : CLOSE 5% : V%=Y% 830 IF NOT (Z%=10%) CHAIN "BOKF\R" 832 GOSUB 4990 : REM AVSLUTA DAGBOK 840 REM --- SKRIV PERIOD DATA ---------- 850 ; : ; TAB(8%)"M]NADSAVSLUT VERKST[LLS" 860 ; : ; TAB(8%)"REGISTRERING AV PERIODDATA" 870 ; TAB(8%)"SKER P] DRIVE 1" 880 OPEN "DR1:PERIOD.DAT" ASFILE 3% 890 FOR I%=1% TO L% 900 ; #3%,N%(I%) 910 ; #3%,B$(I%) 920 ; #3%,"0.00" 930 ; #3%,"0.00" 940 NEXT I% 950 ; #3%,B% 960 ; #3%,A$ 970 CLOSE 3% 980 REM --- SKRIV TOTAL DATA ---------- 990 ; : ; TAB(8%)"REGISTRERING AV TOTALDATA" 1000 ; TAB(8%)"SKER P] DRIVE 1" 1010 OPEN "DR1:TOTAL.DAT" ASFILE 2% 1020 FOR I%=1% TO L% 1030 ; #2%,]1$(I%) 1040 ; #2%,]2$(I%) 1050 NEXT I% 1060 ; #2%,V% 1070 ; #2%,A$ 1080 CLOSE 2% 1090 IF Z%=10% CHAIN "BOKSLUT" 1100 END 1110 DATA I.B, JAN,FEB,MAR,APR,MAJ,JUN,JUL,AUG,SEP,OKT,NOV,DEC,DISP 1120 END 1130 REM --- UTSKRIFTS RUBRIK ------ 1140 H%=H%+1% : X$="SID"+NUM$(H%) 1150 ; #5%,TAB(80%-LEN(X$))X$ 1160 ; #5%,STRING$(80%,61%) 1170 ; #5%,G1$TAB(25%)"HUVUDBOK"TAB(66%)"PER "G$A$ 1180 ; #5%,STRING$(80%,61%) 1190 IF Z%<>10% ; #5%,"M]NADEN EJ AVSLUTAD" 1210 ; #5%,"KONTO"TAB(62%)"DEBET"TAB(74%)"KREDIT" 1220 ; #5%,STRING$(80%,45%) 1230 R%=6% : IF Z%<>10% R%=7% 1240 RETURN 1250 REM --- RADR[KNARE -------------- 1260 R%=R%+1% 1270 IF R%>R5%-8% THEN ; #5%,STRING$(R5%-R%,10%); : R%=0% : GOSUB 1130 1280 RETURN 4990 REM --- AVSLUTA DAGBOK -------- 4995 IF A$="01-01" RETURN 5000 ; : ; TAB(5%)"DAGBOKEN AVSLUTAS OCH D\PS OM" 5010 ; TAB(8%)"TILL * DAGBOK"+LEFT$(A1$,2%)+".DAT *" 5020 NAME "DAGBOK.DAT" AS "DAGBOK"+LEFT$(A1$,2%)+".DAT" 5030 PREPARE "DR1:DAGBOK.DAT" ASFILE 1% 5040 ; #1%,A1$ 5050 ; #1%,X1% 5060 CLOSE 1% 5070 RETURN