10 ! LEDGR -- GENERAL LEDGR SUBROUTINE 20 DEFFNK$=NUM$(ASCII(RIGHT(SYS(CHR$(6)+CHR$(9)),2%))/2%) 30 OPEN"LEDGER."+FNK$FOR OUTPUT AS FILE12% 40 OPEN"ENTRY."+FNK$AS FILE4:DIM#4,A(63,1) 50 DIMN1%(150) 59! ROUNDING AND PRINTING FUNCTION 60 DEFFNR$(X,N) 70 X9$=MID(NUM$(X/100),2%,LEN(NUM$(X/100))-2%) 75 IF INSTR(1,X9$,".")=0% THEN X9$=X9$+".00" ELSE X9$=LEFT(X9$+"00",INSTR(1,X9$,".")+2%) 80 FNR$=SPACE$(N-LEN(X9$))+X9$ 90 FNEND 99! GET FROM COMMON CORE 100 V$=SYS(CHR$(7)) 110 C9$=LEFT(V$,4) 120 R9%=CVT$%(MID(V$,5,2)) 130 K%=CVT$%(MID(V$,7,2)) 140 V$=RIGHT(V$,9):I%=INSTR(1%,V$,"/") 150 N$=LEFT(V$,I%-1%) 160 V$=RIGHT(V$,I%+1%) 170 I%=INSTR(1%,V$,"/") 180 C1$=LEFT(V$,I%-1%) 190 D1$=RIGHT(V$,I%+1%) 199! PRINT LEDGER 200 CHR$(12);SPACE$(10);N$ 210 FORI%=1%TO4% 220 SPACE$(20);C1$: 230 SPACE$(16);"DEBITS AND CREDITS BY ACCOUNTS": 240 SPACE$(21);D1$ 250 FORI%=1%TO3% 260 N1%(I%)=ABS(A(I%,0%))FOR I%=1%TOK% 270 N2%=1%:I%=0% 280 N3%=(N2%+1%)/2% 290 FORJ%=1%TOK% 300 IF(N1%(J%)+1%)/2%=N3%THEN330 310 NEXTJ% 320 GO TO360 330 I%=I%+1% 340 N4%(I%)=N2% 350 IFI%=3%THEN380 360 N2%=N2%+2% 370 IF N2%<80% THEN 280 380 IF I%<=0% THEN V$=SYS(CHR$(8)+CVT%$(K%)+N$+"/"+C1$+"/"+D1$): ,CHR$(12);CHR$(26);: CLOSE 12: CHAIN "$"+C9$R9% 390 O%(I9%)=1%FORI9%=1%TO3% 400 FORI9%=1%TOI% 410 O%(I9%)=2% 420 P%(I9%)=0% 430 K1%=(N4%(I9%)+1%)/2% 440 OPEN "$CHART" AS FILE 11 450 INPUT#11,A$FORZ%=1%TOK1%:CLOSE11 460 ONI9% GO TO 470,480,500 470 TAB(6);A$;:GOTO510 480 TAB(47);A$; 490 GO TO510 500 TAB(88);A$; 510 NEXTI9% 520 530 ONI%GOTO540,550,560 540 SPACE$(1);: "-";FORI9%=1%TO31%: :GOTO610 550 SPACE$(1);: "-";FOR I9%=1%TO 31%: SPACE$(10);: "-";FOR I9%=1%TO31%: :GOTO 610 560 SPACE$(1);: ,"-";FORI9%=1%TO31% 570 FORI8%=1%TO2% 580 SPACE$(10);: "-";FORI9%=1%TO31% 590 NEXTI8% 600 610 FORI9%=1%TOI% 620 IF O%(I9%)<=1% THEN 780 630 N3%=N4%(I9%) 640 L%=P%(I9%)+1% 650 IFL%>K%THEN710 660 FORM%=L%TOK% 670 IFN3%<>N1%(M%)THEN700 680 P%(I9%)=M% 690 GOTO780 700 NEXTM% 710 IFO%(I9%)<>2THEN760 720 N4%(I9%)=N3%+1% 730 P%(I9%)=0% 740 O%(I9%)=3% 750 GOTO630 760 O%(I9%)=1% 770 P%(I9%)=1% 780 NEXTI9% 790 M%=P%(1%) 800 A5=A(M%,1%) 810 M%=P%(2%) 820 A6=A(M%,1%) 830 M%=P%(3%) 840 A7=A(M%,1%) 850 ONI%GOTO1000,930,860 860 TAB(17);"I";TAB(58);"I";TAB(99);"I";CHR$(13); 870 L1%=O%(3%) 880 ONL1%GOTO940,890,910 890 TAB(88);FNR$(A7,8);CHR$(13); 900 GOTO940 910 TAB(103);FNR$(A7,8);CHR$(13); 920 GOTO940 930 TAB(17);"I";TAB(58);"I";CHR$(13); 940 L1%=O%(2%) 950 ONL1%GOTO1010,960,980 960 TAB(47);FNR$(A6,8);CHR$(13); 970 GOTO1010 980 TAB(62);FNR$(A6,8);CHR$(13); 990 GOTO1010 1000 TAB(17);"I";CHR$(13); 1010 L1%=O%(1%) 1020 ONL1%GOTO1060,1030,1050 1030 TAB(6);FNR$(A5,8);CHR$(13); 1040 GOTO1060 1050 TAB(21);FNR$(A5,8);CHR$(13); 1060 IFO%(1)+O%(2)+O%(3)>3%THEN :GOTO610 1070 1080 I%=0% 1090 : 1100 GOTO360 1110 END