DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦5d87a496b⟧

    Length: 22752 (0x58e0)
    Notes: Mikados TextFile, Mikados_K
    Names: »KSP1«

Derivation

└─⟦ec8c1e0b0⟧ Bits:30007442 8" floppy ( MIKPROG vol. 1-3, MIKREL vol. 1-3, PCSE 4.7.80 vol 1-3, GL.SYS )
    └─ ⟦this⟧ »KSP1« 

Text

0100 DIM K1$(17),K2$(17),DEBNAVN$(25),DSALDO1$(12),DEBKGR$(2),FNAVN$(25)
0110 DIM DSALDO2$(12),DSALDO3$(12),DSALDO4$(12),DEBLK$(2),DEBGADE$(25),A$(6)
0120 DIM BLANK$(77),TAL4$(14),TAH$(12),DEBTLF$(9),DEBBY$(20),K3$(17),K4$(17)
0130 DIM RES$(14),ÅRKØB$(12),MDNKØB$(12),OP2$(12),BELØB$(12),KTNR$(6),K5$(17)
0140 DIM FMDEBET$(12),FMKREDIT$(12),FÅDEBET$(12),FÅKREDIT$(12),FSALDO$(12)
0150 DIM OP1$(12),TK$(3),TEKST$(25),TFIL$(20,10),FUKODE$(1),N$(6),FMKODE$(1)
0160 DIM K6$(17),K7$(17),UBELØB$(14),SUM$(12),DAT$(8),SALDO$(12),DA5$(8)
0170 DIM EGNAVN$(25),EGGADE$(25),EGBY$(20),STREG$(77),TKODE$(1)
0180 DIM K8$(17),K9$(17),K10$(17),K11$(17),K12$(17),K13$(17),K14$(17)
0190 DIM T1(9),T2(9),T3(9),KRENAVN$(25),KREGADE$(25),KREBY$(20),KRELK$(1)
0200 DIM KSALDO1$(12),KSALDO2$(12),LTX$(11,52),LAND$(9,12),KREGR$(1)
0210 DIM UBEL1$(14),UBEL2$(14),UBEL3$(14),UBEL4$(14)
0220 PROC CALC(AR3,B1,B2,ES)
0230 OP1$=B1$;OP2$=B2$;RES$=ES$;SI=0;FLAG=0;ART=AR3-6*(AR3>5)
0240 CALL "P641210:REGN"
0250 ES$=RES$
0260 IF AR3<6 THEN 
0270 IF FLAG THEN STOP 
0280 ENDIF 
0290 ENDPROC 
0300 PROC TUD(BLB,UBLB,TEGN,STØR)
0310 EXEC CALC(5,BLB$,TAH$,UBLB$)
0320 IF TEGN=0 THEN 
0330 UBLB$=UBLB$(1:13)
0340 ELSE 
0350 IF TEGN=1 AND UBLB$(LEN(UBLB$))="+" THEN 
0360 UBLB$(LEN(UBLB$))=" "
0370 ENDIF 
0380 ENDIF 
0390 IF STØR=1 THEN 
0400 UBLB$=UBLB$(4:LEN(UBLB$)-3)
0410 ENDIF 
0420 ENDPROC 
0430 PROC FEJL(NR1,NR2,NR3)
0440 IF STATUS(NR3$)<>0 THEN 
0450 PRINT NR1,NR2,NR3$,STATUS(NR3$)
0460 STOP 
0470 ENDIF 
0480 ENDPROC 
0490 PROC SØG(MPOSTANTAL6,HTAB3,NØGLE3,UTAB3,K34)
0500 PPIL1=0
0510 PPIL2=MPOSTANTAL6 DIV 40+1
0520 REPEAT 
0530 PPIL3=(PPIL1+PPIL2) DIV 2
0540 IF HTAB3(PPIL3,1)=NØGLE3 THEN EXIT 
0550 IF HTAB3(PPIL3,1)>NØGLE3 THEN 
0560 PPIL2=PPIL3
0570 ELSE 
0580 PPIL1=PPIL3
0590 ENDIF 
0600 UNTIL PPIL2<=PPIL1+1
0610 IF PPIL3>1 THEN 
0620 REPEAT 
0630 PPIL3=PPIL3-1
0640 UNTIL HTAB3(PPIL3,1)<NØGLE3 OR PPIL3=1
0650 ENDIF 
0660 IF HTAB3(PPIL3,2)<NØGLE3 OR NØGLE3<HTAB3(PPIL3,1) THEN 
0670 IF HTAB3(PPIL3+1,1)>NØGLE3 THEN 
0680 T=0
0690 ELSE 
0700 T=PPIL3+1
0710 ENDIF 
0720 ELSE 
0730 T=PPIL3
0740 ENDIF 
0750 IF T>0 THEN 
0760 K=T+MPOSTANTAL6 DIV 160
0770 EXEC UNDIND(K34$,K,UTAB3)
0780 FOR I=4 TO 1 STEP -1
0790 IF UTAB3(I,1)<NØGLE3 THEN EXIT 
0800 NEXT I
0810 IF I=0 THEN I=1
0820 IF UTAB3(I,2)<NØGLE3 THEN 
0830 IF UTAB3(I+1,1)>NØGLE3 THEN 
0840 T=0
0850 ELSE 
0860 T=(T-1)*40+I*10+1
0870 ENDIF 
0880 ELSE 
0890 T=(T-1)*40+(I-1)*10+1
0900 ENDIF 
0910 ENDIF 
0920 ENDPROC 
0930 PROC POSTER(K35,NØGLE4,T5,MPOSTANTAL7,PKODE,SU3)
0940 LINIE=0
0950 OPEN K35$,R
0960 EXEC FEJL(1,1,K35$)
0970 FOR I=1 TO 10
0980 GET K35$,T5:KTNUM
0990 EXEC FEJL(1,2,K35$)
1000 IF KTNUM=NØGLE4 THEN EXIT 
1010 IF MAFSLUT=1 THEN EXIT 
1020 T5=T5+1
1030 NEXT I
1040 IF KTNUM=NØGLE4 THEN 
1050 FOR K=T5 TO MPOSTANTAL7
1060 GET K35$,K:KONTO,DDATO,BILAG,TKODE$,BELØB$
1070 EXEC FEJL(1,3,K35$)
1080 IF KONTO<>NØGLE4 THEN EXIT 
1090 TKS=ORD(TKODE$)-48
1100 IF TKS>9 AND TKS<20 THEN 
1110 K=K+1
1120 GET K35$,K:KONTO,TEKST$
1130 EXEC FEJL(1,4,K35$)
1140 TEKST$=TEKST$+BLANK$(1:25-LEN(TEKST$)+1)
1150 ELSE 
1160 IF TKS>0 THEN 
1170 TEKST$=TFIL$(TKS-10*(TKS>20))+BLANK$(1:25-LEN(TFIL$(TKS-10*(TKS>20))))
1180 ELSE 
1190 TEKST$=BLANK$
1200 ENDIF 
1210 ENDIF 
1220 EXEC UDSKRIV(PKODE,SU3$,LINIE)
1230 NEXT K
1240 IF MAFSLUT=1 THEN 
1250 T6=K;NØGLE4=KONTO
1260 ENDIF 
1270 ELSE 
1280 T6=T5;NØGLE4=KTNUM
1290 T5=0
1300 ENDIF 
1310 CLOSE K35$
1320 EXEC FEJL(1,5,K35$)
1330 ENDPROC 
1340 PROC LINIEUD(DA2,BI2,TE2,BE2,SU1)
1350 SK=SKRIV1
1360 EXEC CALC(0,SU1$,BE2$,SU1$)
1370 EXEC DATOUD(DA2,DA5$)
1380 PRINT TAB(3+8*(SK));DA5$;TAB(13+6*(SK));
1390 IF BI2<>-1 THEN 
1400 PRINT USING "#######":BI2;
1410 ENDIF 
1420 PRINT TAB(24+3*(SK));TE2$;
1430 EXEC TUD(BE2$,UBELØB$,0,0)
1440 IF SK THEN EXEC TUD(BE2$,UBELØB$,0,1)
1450 PRINT TAB(49+3*(SK)+(14-3*(SK))*(BE2$(LEN(BE2$))="-"));UBELØB$
1460 ENDPROC 
1470 PROC INDPUT1(XPOS1,YPOS1,LN4,LN5,LTK)
1480 REPEAT 
1490 CURSOR XPOS1,YPOS1
1500 PRINT LTK$;BLANK$(1:77-XPOS1-LEN(LTK$))
1510 CURSOR XPOS1+LEN(LTK$),YPOS1
1520 INPUT " ",A$
1530 EXEC NRTEST(A$)
1540 UNTIL P>LN4 AND P<LN5
1550 ENDPROC 
1560 PROC LINIER(FRA1,TIL1,TÆL1)
1570 FOR TÆL1=FRA1 TO TIL1
1580 PRINT " "
1590 NEXT TÆL1
1600 ENDPROC 
1610 PROC NAVN2(NAVN3,GADE1,POSTNR1,BY1,LANDK1)
1620 PRINT NAVN3$
1630 CURSOR 9,6
1640 PRINT GADE1$
1650 CURSOR 9,7
1660 PRINT USING "######":POSTNR1
1670 CURSOR 17,7
1680 PRINT BY1$
1690 CURSOR 9,8
1700 EXEC NRTEST(LANDK1$)
1710 IF P>0 AND P<10 THEN PRINT LAND$(P)
1720 ENDPROC 
1730 PROC NAVN1(NAVN,GADE,POSTNR,BY,LANDK)
1740 PRINT TAB(12);NAVN$;" "
1750 PRINT TAB(12);GADE$;" "
1760 PRINT TAB(12);POSTNR;TAB(19);BY$;" "
1770 P1=ORD(LANDK$)-48
1780 IF P1>0 AND P1<10 THEN PRINT TAB(12);LAND$(P1);" "
1790 EXEC LINIER(1,1*(P1<1 OR P1>9),I)
1800 ENDPROC 
1810 PROC FINDPOST1(TAB4,Q,MANT2,NØGL5,PIL6,L8)
1820 PIL1=MANT2 DIV 8;PIL6=PIL1;CEKS=1;MANT3=MANT2 DIV 4;MANT4=MANT2 DIV 32
1830 REPEAT 
1840 IF NØGL5=TAB4(PIL6) OR PIL1=1 THEN EXIT 
1850 PIL1=(PIL1+1) DIV 2;PIL6=PIL6+PIL1*(1-2*(NØGL5<TAB4(PIL6)))
1860 IF PIL6<1 THEN PIL6=1
1870 IF PIL6>MANT3 THEN PIL6=MANT3
1880 UNTIL PIL1=0
1890 IF TAB4(PIL6)>NØGL5 THEN PIL6=PIL6-1*(PIL6>1)
1900 PIL6=MANT4+PIL6
1910 GET L8$,PIL6:Q(1,1),Q(1,2),Q(2,1),Q(2,2),Q(3,1),Q(3,2),Q(4,1),Q(4,2)
1920 EXEC FEJL(1,1,L8$)
1930 FOR PIL6=1 TO 4
1940 IF NØGL5=Q(PIL6,1) THEN EXIT 
1950 NEXT PIL6
1960 IF PIL6<>5 THEN CEKS=0
1970 ENDPROC 
1980 PROC INDTAB1(Z,MANT5,L7)
1990 PIL1=MANT5 DIV 32
2000 FOR I=1 TO PIL1
2010 H=(I-1)*8+1
2020 GET L7$,I:Z(H),Z(H+1),Z(H+2),Z(H+3),Z(H+4),Z(H+5),Z(H+6),Z(H+7)
2030 EXEC FEJL(2,1,L7$)
2040 NEXT I
2050 ENDPROC 
2060 PROC LUDSKRIV(KT1,DA4,KSNR)
2070 EXEC DATOUD(DA4,DA5$)
2080 KSNR=KSNR+1
2090 PRINT TAB(48);KT1;TAB(56);DA5$;TAB(69);
2100 PRINT USING "##":KSNR
2110 ENDPROC 
2120 PROC BUDSKRIV(MKØB,MK,SU2,DS1,DS2,DS3,DS4,LNR)
2130 IF MK<>2 THEN EXEC LINIER(LNR,24-6*(SKRIV1),LNR)
2140 IF SKRIV1=0 OR KTAL1<>DTAL THEN 
2150 IF MK<>2 THEN PRINT STREG$
2160 CASE MK OF 
2170 STOP 
2180 WHEN 1,2
2190 PRINT TAB(32);"Transport";
2200 WHEN 3,4
2210 PRINT TAB(57);CHR(14);"Ny saldo";CHR(15)
2220 PRINT STREG$
2230 WHEN 0
2240 PRINT TAB(11),CHR(14);"Månedens køb";TAB(36);"Ny saldo";CHR(15)
2250 PRINT STREG$
2260 ENDCASE 
2270 ENDIF 
2280 IF MK=0 THEN 
2290 EXEC TUD(MKØB$,UBELØB$,1,0)
2300 PRINT TAB(11);UBELØB$;
2310 ENDIF 
2320 EXEC TUD(SU2$,UBELØB$,0,0)
2330 IF SKRIV1 THEN EXEC TUD(SU2$,UBELØB$,0,1)
2340 PRINT TAB(49+3*(SKRIV1)+(14-3*(SKRIV1))*(SU2$(LEN(SU2$))="-"));UBELØB$
2350 IF SKRIV1=0 THEN 
2360 IF MK<>2 THEN PRINT STREG$
2370 ELSE 
2380 PRINT CHR(10)
2390 ENDIF 
2400 IF MK<1 OR MK>2 THEN 
2410 IF SKRIV1=0 THEN 
2420 CASE MK OF 
2430 PRINT TAB(15);CHR(14);"Månedens bev.";TAB(34);"Årets bev.";CHR(15)
2440 WHEN 0,4
2450 PRINT TAB(17);CHR(14);"0-30";
2460 IF MK=0 THEN PRINT TAB(25);"30-60";TAB(33);"60-90";
2470 PRINT TAB(41);"Ældre";CHR(15)
2480 ENDCASE 
2490 PRINT STREG$
2500 ENDIF 
2510 EXEC TUD(DS1$,UBEL1$,1,0)
2520 EXEC TUD(DS2$,UBEL2$,1,0)
2530 EXEC TUD(DS3$,UBEL3$,1,0)
2540 EXEC TUD(DS4$,UBEL4$,1,0)
2550 PRINT TAB(11);UBEL1$;
2560 IF MK<>4 THEN PRINT TAB(27);UBEL2$;TAB(44);UBEL3$;
2570 PRINT TAB(60);UBEL4$
2580 ENDIF 
2590 IF SKRIV1=0 AND MK<>1 AND MK<>2 THEN 
2600 PRINT STREG$
2610 PRINT CHR(10)
2620 ENDIF 
2630 IF MK=1 OR SKRIV1=1 THEN EXEC LINIER(LNR,29-5*(SKRIV1),LNR)
2640 ENDPROC 
2650 PROC STARTBIL
2660 REPEAT 
2670 OUTPUT T
2680 CLEAR 
2690 EXEC OVERSKRIFT(0)
2700 REPEAT 
2710 EXEC INDPUT1(4,3,-1,100000,LTX$(1))
2720 UNTIL P=0 OR (P>9999 AND P<100000)
2730 SUM$="0+";KONT=P;KTAL1=0
2740 IF KONT=0 THEN EXIT 
2750 IF KTAL=DTAL AND DTAL*10000+MKGR<KONT THEN KTAL1=DTAL
2760 IF KTAL=KRTAL AND KRTAL*1000+MKRGR<KONT THEN KTAL1=KRTAL
2770 CURSOR 9,5
2780 CASE KTAL1 OF 
2790 EXEC FINDPOST1(FTAB1,FTAB,MFANTAL,KONT,FPIL3,K2$)
2800 IF CEKS=0 THEN 
2810 EXEC HENTPOST
2820 IF ORD(FUKODE$)-48=0 THEN 
2830 PRINT FNAVN$;" "
2840 ELSE 
2850 CEKS=1
2860 ENDIF 
2870 ENDIF 
2880 WHEN DTAL
2890 EXEC FINDPOST1(DTAB1,DTAB,MDANTAL,KONT,DPIL3,K3$)
2900 IF CEKS=0 THEN 
2910 EXEC HENTDPOST
2920 EXEC NAVN2(DEBNAVN$,DEBGADE$,DEBPOSTNR,DEBBY$,DEBLK$)
2930 ENDIF 
2940 WHEN KRTAL
2950 EXEC FINDPOST1(KTAB1,KTAB,MKANTAL,KONT,KPIL3,K4$)
2960 IF CEKS=0 THEN 
2970 EXEC HENTKPOST
2980 EXEC NAVN2(KRENAVN$,KREGADE$,KREPOSTNR,KREBY$,KRELK$)
2990 ENDIF 
3000 ENDCASE 
3010 IF CEKS=0 THEN EXEC INDPUT1(4,12,-9,-6,LTX$(2))
3020 IF CEKS=1 THEN EXEC INDPUT1(9,5,-2,0,LTX$(3))
3030 UNTIL P=-7 OR KONT=0
3040 ENDPROC 
3050 PROC HUDSKRIV
3060 PRINT CHR(10)
3070 CASE KTAL1 OF 
3080 PRINT TAB(12);CHR(14);FNAVN$;" ";CHR(15)
3090 EXEC LINIER(1,3,I)
3100 WHEN DTAL
3110 IF SKRIV1=1 THEN 
3120 PRINT CHR(10)
3130 EXEC NAVN1(EGNAVN$,EGGADE$,EGPOSTNR,EGBY$,A$)
3140 EXEC LINIER(1,4,I)
3150 ENDIF 
3160 EXEC NAVN1(DEBNAVN$,DEBGADE$,DEBPOSTNR,DEBBY$,DEBLK$)
3170 WHEN KRTAL
3180 EXEC NAVN1(KRENAVN$,KREGADE$,KREPOSTNR,KREBY$,KRELK$)
3190 ENDCASE 
3200 ENDPROC 
3210 PROC HSUDSKRIV
3220 IF SKRIV THEN 
3230 PRINT TAB(49);"Konto";TAB(56);"Dato";TAB(68);"Side"
3240 PRINT TAB(49);STREG$(1:29)
3250 EXEC LUDSKRIV(KONT,DATO,KSIDENR)
3260 PRINT STREG$
3270 ELSE 
3280 CLEAR 
3290 EXEC OVERSKRIFT(1)
3300 CURSOR 1,3
3310 ENDIF 
3320 PRINT TAB(3);"Dato";TAB(15);"Bilag    Tekst";TAB(52);"Debet";TAB(67);
3330 PRINT "Kredit"
3340 PRINT STREG$
3350 ENDPROC 
3360 PROC OVERSKRIFT(ART1)
3370 IF ART1=0 THEN 
3380 PRINT TAB(21);"Kontospørgeprogram";TAB(61);"Dato:";DAT$
3390 ELSE 
3400 CURSOR 1,1
3410 PRINT "Kontospørgeprogram   Nr:";
3420 PRINT USING "######  Navn :":KONT;
3430 CASE KTAL1 OF 
3440 PRINT FNAVN$;" ";
3450 WHEN DTAL
3460 PRINT DEBNAVN$;" ";
3470 WHEN KRTAL
3480 PRINT KRENAVN$;" ";
3490 ENDCASE 
3500 PRINT TAB(63);" Dato:";DAT$
3510 ENDIF 
3520 ENDPROC 
3530 PROC UDSKRIV(PKODE1,SU4,LNR1)
3540 EXEC LINIEUD(DDATO,BILAG,TEKST$,BELØB$,SU4$)
3550 LNR1=LNR1+1
3560 IF LNR1=18+5*(SKRIV) THEN 
3570 IF PKODE1=1 THEN 
3580 PRINT CHR(10);CHR(10)
3590 EXEC BUDSKRIV(TAL4$,1,SU4$,TAL4$,TAL4$,TAL4$,TAL4$,LNR1)
3600 EXEC HUDSKRIV
3610 EXEC HSUDSKRIV
3620 EXEC BUDSKRIV(TAL4$,2,SU4$,TAL4$,TAL4$,TAL4$,TAL4$,LNR1)
3630 LNR1=1
3640 ELSE 
3650 EXEC INDPUT1(4,23,-2,0,LTX$(4))
3660 CLEAR 
3670 EXEC HSUDSKRIV
3680 LNR1=0
3690 ENDIF 
3700 ENDIF 
3710 ENDPROC 
3720 PROC HENTPOST
3730 S=FTAB(FPIL3,2)
3740 GET K5$,S:FNR,FNAVN$
3750 EXEC FEJL(9,2,K5$)
3760 GET K5$,S+1:FMKODE$,FMDEBET$,FMKREDIT$
3770 EXEC FEJL(9,3,K5$)
3780 GET K5$,S+2:FUKODE$,FÅDEBET$,FÅKREDIT$
3790 EXEC FEJL(9,4,K5$)
3800 ENDPROC 
3810 PROC HENTDPOST
3820 S=DTAB(DPIL3,2)
3830 GET K6$,S:DEBNR,DEBNAVN$,DSALDO1$,DEBKGR$
3840 EXEC FEJL(8,2,K6$)
3850 GET K6$,S+1:DSALDO2$,DSALDO3$,DSALDO4$,DEBPOSTNR,DEBLK$
3860 EXEC FEJL(8,3,K6$)
3870 GET K6$,S+2:DEBGADE$,DEBTLF$,HPOST,HKUNDE
3880 EXEC FEJL(8,4,K6$)
3890 GET K6$,S+3:DEBBY$,ÅRKØB$,MDNKØB$
3900 EXEC FEJL(8,5,K6$)
3910 ENDPROC 
3920 PROC HENTKPOST
3930 S=KTAB(KPIL3,2)
3940 GET K7$,S:KRENR,KRENAVN$,KREGADE$
3950 EXEC FEJL(4,1,K7$)
3960 GET K7$,S+1:KREBY$,KRELK$,KREGR$,KREPOSTNR,KSALDO1$,KSALDO2$
3970 EXEC FEJL(4,2,K7$)
3980 ENDPROC 
3990 PROC NRTEST(KTN1)
4000 P=0;TEST2=0;KTAL=0;L=LEN(KTN1$)
4010 CASE L OF 
4020 FOR I=1 TO L
4030 P1=INT(ORD(KTN1$(I))-48)
4040 IF P1=>0 AND P1<=9 THEN 
4050 P=P*10+P1
4060 ELSE 
4070 TEST2=1
4080 ENDIF 
4090 NEXT I
4100 KTAL=P DIV 10000;KTAL9=P DIV 1000
4110 IF KTAL9=KRTAL THEN KTAL=KTAL9
4120 WHEN 0
4130 P=-1
4140 WHEN 1
4150 CASE KTN1$ OF 
4160 P=INT(ORD(KTN1$)-48)
4170 WHEN "j","J"
4180 P=-7
4190 WHEN "n","N"
4200 P=-8
4210 ENDCASE 
4220 ENDCASE 
4230 ENDPROC 
4240 PROC HOVIND(V1,MPOSTANTAL1,R)
4250 OPEN V1$,R
4260 EXEC FEJL(13,1,V1$)
4270 FOR I=1 TO MPOSTANTAL1 DIV 160
4280 J=(I-1)*4+1;J1=J+1;J2=J+2;J3=J+3
4290 GET V1$,I:R(J,1),R(J,2),R(J1,1),R(J1,2),R(J2,1),R(J2,2),R(J3,1),R(J3,2)
4300 EXEC FEJL(13,2,V1$)
4310 NEXT I
4320 CLOSE V1$
4330 EXEC FEJL(13,3,V1$)
4340 ENDPROC 
4350 PROC UNDIND(V2,U1,Z)
4360 OPEN V2$,R
4370 EXEC FEJL(14,1,V2$)
4380 GET V2$,U1:Z(1,1),Z(1,2),Z(2,1),Z(2,2),Z(3,1),Z(3,2),Z(4,1),Z(4,2)
4390 EXEC FEJL(14,2,V2$)
4400 CLOSE V2$
4410 EXEC FEJL(14,3,V2$)
4420 ENDPROC 
4430 PROC DATOUD(DA1,DA2)
4440 DA3=DA1
4450 DA2$="        "
4460 FOR J=8 TO 1 STEP -1
4470 IF J MOD 3=0 THEN 
4480 DA2$(J)="."
4490 ELSE 
4500 DA2$(J)=CHR(DA3 MOD 10+48)
4510 DA3=DA3 DIV 10
4520 ENDIF 
4530 NEXT J
4540 ENDPROC 
4550 PROC MKONTUD(K61,MPOSTANTAL8)
4560 OUTPUT P
4570 P=1;T=1
4580 EXEC POSTER(K61$,P,T,MPOSTANTAL8,SKRIV,SUM$)
4590 T=1
4600 IF P<100000 THEN 
4610 REPEAT 
4620 KSIDENR=0;SUM$="0+"
4630 CASE KTAL1 OF 
4640 EXEC FINDPOST1(FTAB1,FTAB,MFANTAL,P,FPIL3,K2$)
4650 IF CEKS=0 THEN EXEC HENTPOST
4660 WHEN DTAL
4670 EXEC FINDPOST1(DTAB1,DTAB,MDANTAL,P,DPIL3,K3$)
4680 IF CEKS=0 THEN EXEC HENTDPOST
4690 WHEN KRTAL
4700 EXEC FINDPOST1(KTAB1,KTAB,MKANTAL,P,KPIL3,K4$)
4710 IF CEKS=0 THEN EXEC HENTKPOST
4720 ENDCASE 
4730 IF CEKS<>0 THEN STOP 
4740 EXEC HUDSKRIV
4750 IF DTAL=KTAL1 AND SKRIV1=1 THEN 
4760 EXEC LUDSKRIV(P,DATO,KSIDENR)
4770 PRINT CHR(10)
4780 ELSE 
4790 KONT=P
4800 EXEC HSUDSKRIV
4810 ENDIF 
4820 EXEC POSTER(K61$,P,T,MPOSTANTAL8,SKRIV,SUM$)
4830 CASE KTAL1 OF 
4840 EXEC BUDSKRIV(TAL4$,3,SUM$,FMDEBET$,FMKREDIT$,FÅDEBET$,FÅKREDIT$,LINIE)
4850 WHEN DTAL
4860 EXEC BUDSKRIV(MDNKØB$,0,SUM$,DSALDO1$,DSALDO2$,DSALDO3$,DSALDO4$,LINIE)
4870 WHEN KRTAL
4880 EXEC BUDSKRIV(TAL4$,4,SUM$,KSALDO1$,TAL4$,TAL4$,KSALDO2$,LINIE)
4890 ENDCASE 
4900 T=T6
4910 UNTIL P=100000 OR T=MPOSTANTAL8
4920 ENDIF 
4930 P=0
4940 ENDPROC 
4950 K1$="P641220:SYSTEM1"
4960 REPEAT 
4970 OPEN K1$,R
4980 IF STATUS(K1$)=0 THEN EXIT 
4990 CLEAR 
5000 CURSOR 25,13
5010 INPUT "ISÆT PLADE NR.20,TAST RETURN",A$
5020 UNTIL STATUS(K1$)=0
5030 GET K1$,1:MFANTAL,MDANTAL,MKANTAL
5040 EXEC FEJL(9,1,K1$)
5050 GET K1$,3:DPOST,KPOST,MFPOST,MDPOST
5060 EXEC FEJL(9,2,K1$)
5070 GET K1$,4:MKPOST,MFAK,MVGR,MKGR
5080 EXEC FEJL(9,3,K1$)
5090 GET K1$,5:MKRGR
5100 EXEC FEJL(9,4,K1$)
5110 GET K1$,8:DIVNR,DIVDNR,DIFNR,DTAL
5120 EXEC FEJL(9,5,K1$)
5130 GET K1$,9:KRTAL
5140 EXEC FEJL(9,6,K1$)
5150 GET K1$,10:N$
5160 EXEC FEJL(9,7,K1$)
5170 GET K1$,11:K2$
5180 EXEC FEJL(9,8,K1$)
5190 GET K1$,12:K3$
5200 EXEC FEJL(9,9,K1$)
5210 GET K1$,13:K4$
5220 EXEC FEJL(9,10,K1$)
5230 GET K1$,15:K5$
5240 EXEC FEJL(9,11,K1$)
5250 GET K1$,16:K6$
5260 EXEC FEJL(9,12,K1$)
5270 GET K1$,17:K7$
5280 EXEC FEJL(9,13,K1$)
5290 GET K1$,25:K8$
5300 EXEC FEJL(9,14,K1$)
5310 GET K1$,26:K9$
5320 EXEC FEJL(9,15,K1$)
5330 GET K1$,27:K10$
5340 EXEC FEJL(9,16,K1$)
5350 GET K1$,32:K11$
5360 EXEC FEJL(9,17,K1$)
5370 GET K1$,33:K12$
5380 EXEC FEJL(9,18,K1$)
5390 GET K1$,34:K13$
5400 EXEC FEJL(9,19,K1$)
5410 GET K1$,36:K14$
5420 EXEC FEJL(9,20,K1$)
5430 CLOSE K1$
5440 EXEC FEJL(9,21,K1$)
5450 K2$=N$+K2$;K3$=N$+K3$;K4$=N$+K4$;K5$=N$+K5$;K6$=N$+K6$;K7$=N$+K7$
5460 K8$=N$+K8$;K9$=N$+K9$;K10$=N$+K10$;K11$=N$+K11$;K12$=N$+K12$
5470 K13$=N$+K13$;K14$=N$+K14$
5480 OPEN K14$,R
5490 EXEC FEJL(9,22,K14$)
5500 GET K14$,2:T1(1),T1(2),T1(3),T1(4),T1(5),T1(6),T1(7),T1(8),T1(9)
5510 EXEC FEJL(9,23,K14$)
5520 FOR I=1 TO 3
5530 H=(I-1)*3+1
5540 GET K14$,I+2:LAND$(H),LAND$(H+1),LAND$(H+2)
5550 EXEC FEJL(9,24,K14$)
5560 NEXT I
5570 FOR I=1 TO 6
5580 H=(I-1)*3+1
5590 GET K14$,I+5:TFIL$(H),TFIL$(H+1),TFIL$(H+2)
5600 EXEC FEJL(9,25,K14$)
5610 NEXT I
5620 GET K14$,13:T2(1),T2(2),T2(3),T2(4),T2(5),T2(6),T2(7),T2(8),T2(9)
5630 EXEC FEJL(9,26,K14$)
5640 GET K14$,17:T3(1),T3(2),T3(3),T3(4),T3(5),T3(6),T3(7),T3(8),T3(9)
5650 EXEC FEJL(9,27,K14$)
5660 CLOSE K14$
5670 EXEC FEJL(9,31,K14$)
5680 OPEN K2$,R
5690 EXEC FEJL(9,32,K2$)
5700 OPEN K3$,R
5710 EXEC FEJL(9,33,K3$)
5720 OPEN K4$,R
5730 EXEC FEJL(9,34,K4$)
5740 OPEN K5$,R
5750 EXEC FEJL(9,35,K5$)
5760 OPEN K6$,R
5770 EXEC FEJL(9,36,K6$)
5780 OPEN K7$,R
5790 EXEC FEJL(9,37,K7$)
5800 DIM DTAB1(MDANTAL DIV 4),FTAB1(MFANTAL DIV 4),KTAB1(MKANTAL DIV 4)
5810 DIM DTAB(4,2),FTAB(4,2),KTAB(4,2),HDTAB(MDPOST DIV 40,2)
5820 DIM HFTAB(MFPOST DIV 40,2)
5830 DIM HKRTAB(MKPOST DIV 40,2),UFTAB(4,2),UDTAB(4,2),UKRTAB(4,2)
5840 EXEC INDTAB1(FTAB1,MFANTAL,K2$)
5850 EXEC INDTAB1(DTAB1,MDANTAL,K3$)
5860 EXEC INDTAB1(KTAB1,MKANTAL,K4$)
5870 EXEC HOVIND(K11$,MFPOST,HFTAB)
5880 EXEC HOVIND(K12$,MDPOST,HDTAB)
5890 EXEC HOVIND(K13$,MKPOST,HKRTAB)
5900 LTX$(1)="Indtast kontonr. (0:færdig):"
5910 LTX$(2)="Rigtig konto (J/N)"
5920 LTX$(3)="Konto eksisterer ikke, tast RETURN"
5930 LTX$(4)="Tast RETURN når sideskift ønskes"
5940 LTX$(5)="Ønskes kontoudtog skrevet på formular (J/N):"
5950 LTX$(6)="Monter kontoudtogsformularer og tast RETURN"
5960 LTX$(7)="Ønskes yderligere testprint (J/N):"
5970 LTX$(8)="Monter papir til kontoudtog og tast RETURN"
5980 LTX$(9)="Ønskes udskrift på printer (J/N):"
5990 LTX$(10)="Ønskes flere udskrifter (J/N):"
6000 LTX$(11)="Monter papir til udskrift af finanskonti,tast RETURN"
6010 DATO=T1(7);MAFSLUT=T3(2)
6020 EXEC DATOUD(DATO,DAT$)
6030 EGNAVN$="Schilling Datasystemer";EGGADE$="Kuldyssen 13";EGPOSTNR=2630
6040 EGBY$="Tåstrup"
6050 STREG$="--------------------------------------";STREG$=STREG$+STREG$+"-"
6060 BLANK$="                         "
6070 IF MAFSLUT=1 THEN 
6080 REPEAT 
6090 CLEAR 
6100 CURSOR 1,1
6110 PRINT TAB(15);"Månedsafslutning Kontoudtog";TAB(63);" Dato:";DAT$
6120 EXEC INDPUT1(4,8,-9,-6,LTX$(5))
6130 KTAL1=DTAL
6140 IF P=-7 THEN 
6150 EXEC INDPUT1(4,10,-2,0,LTX$(6))
6160 SKRIV1=1
6170 REPEAT 
6180 DEBNAVN$="XXXXXXXXXXXXXXXXXXXXXXXXX";DEBGADE$=DEBNAVN$;DEBPOSTNR=9999
6190 OUTPUT P
6200 DEBBY$=DEBNAVN$(1:15);DEBLK$="0"
6210 EXEC HUDSKRIV
6220 EXEC LUDSKRIV(99999,999999,9)
6230 PRINT CHR(10)
6240 PRINT TAB(11);"XX.XX.XX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXX.XXX,XX ";
6250 PRINT "XXX.XXX,XX"
6260 FOR I=1 TO 14
6270 PRINT CHR(10);
6280 NEXT I
6290 PRINT 
6300 PRINT TAB(11);"XX.XX.XX XXXXXX XXXXXXXXXXXXXXXXXXXXXXXXX XXX.XXX,XX ";
6310 PRINT "XXX.XXX,XX"
6320 PRINT CHR(10)
6330 PRINT TAB(11);"XX.XXX.XXX,XX";TAB(53);"XXX.XXX,XX XXX.XXX,XX"
6340 PRINT CHR(10)
6350 PRINT TAB(11);"XX.XXX.XXX,XX   XX.XXX.XXX,XX    XX.XXX.XXX,XX   ";
6360 PRINT "XX.XXX.XXX,XX"
6370 PRINT CHR(10);CHR(10);CHR(10);CHR(10);CHR(10)
6380 OUTPUT T
6390 EXEC INDPUT1(4,12,-9,-6,LTX$(7))
6400 UNTIL P=-8
6410 ELSE 
6420 EXEC INDPUT1(4,10,-2,0,LTX$(8))
6430 SKRIV1=0
6440 ENDIF 
6450 SKRIV=1;LINIE=0;T=1
6460 OUTPUT P
6470 EXEC MKONTUD(K9$,MDPOST)
6480 KTAL1=DTAL-1
6490 IF SKRIV1=1 THEN 
6500 SKRIV1=0
6510 OUTPUT T
6520 CLEAR 
6530 EXEC INDPUT1(20,13,-2,0,LTX$(11))
6540 ENDIF 
6550 EXEC MKONTUD(K8$,MFPOST)
6560 KTAL1=KRTAL
6570 EXEC MKONTUD(K10$,MKPOST)
6580 CLEAR 
6590 OUTPUT T
6600 EXEC INDPUT1(20,13,-9,-6,LTX$(10))
6610 UNTIL P=-8
6620 ELSE 
6630 EXEC STARTBIL
6640 REPEAT 
6650 IF KONT=0 THEN EXIT 
6660 EXEC INDPUT1(4,14,-9,-6,LTX$(9))
6670 KSIDENR=0;SKRIV1=0
6680 IF P=-7 THEN 
6690 SKRIV=1
6700 OUTPUT P
6710 EXEC HUDSKRIV
6720 EXEC HSUDSKRIV
6730 ELSE 
6740 SKRIV=0
6750 OUTPUT T
6760 EXEC HSUDSKRIV
6770 ENDIF 
6780 CASE KTAL1 OF 
6790 EXEC SØG(MFPOST,HFTAB,KONT,UFTAB,K11$)
6800 WHEN DTAL
6810 EXEC SØG(MDPOST,HDTAB,KONT,UDTAB,K12$)
6820 WHEN KRTAL
6830 EXEC SØG(MKPOST,HKRTAB,KONT,UKRTAB,K13$)
6840 ENDCASE 
6850 IF T>0 THEN 
6860 CASE KTAL1 OF 
6870 EXEC POSTER(K8$,KONT,T,MFPOST,SKRIV,SUM$)
6880 WHEN DTAL
6890 EXEC POSTER(K9$,KONT,T,MDPOST,SKRIV,SUM$)
6900 WHEN KRTAL
6910 EXEC POSTER(K10$,KONT,T,MKPOST,SKRIV,SUM$)
6920 ENDCASE 
6930 ELSE 
6940 LINIE=0
6950 ENDIF 
6960 IF T=0 THEN SUM$="0+"
6970 IF SKRIV=0 THEN 
6980 EXEC TUD(SUM$,UBELØB$,0,0)
6990 PRINT TAB(35);STREG$(1:43)
7000 PRINT TAB(35);"Ny saldo";TAB(49+14*(SUM$(LEN(SUM$))="-"));UBELØB$
7010 ELSE 
7020 CASE KTAL1 OF 
7030 EXEC BUDSKRIV(TAL4$,3,SUM$,FMDEBET$,FMKREDIT$,FÅDEBET$,FÅKREDIT$,LINIE)
7040 WHEN DTAL
7050 EXEC BUDSKRIV(MDNKØB$,0,SUM$,DSALDO1$,DSALDO2$,DSALDO3$,DSALDO4$,LINIE)
7060 WHEN KRTAL
7070 EXEC BUDSKRIV(TAL4$,4,SUM$,KSALDO1$,TAL4$,TAL4$,KSALDO2$,LINIE)
7080 ENDCASE 
7090 ENDIF 
7100 OUTPUT T
7110 EXEC INDPUT1(4,23,-9,-6,LTX$(10))
7120 IF P=-7 THEN 
7130 EXEC STARTBIL
7140 ELSE 
7150 KONT=0
7160 ENDIF 
7170 UNTIL KONT=0
7180 ENDIF 
7190 OUTPUT T
7200 CLEAR 
7210 IF MAFSLUT=0 THEN 
7220 CHAIN "P641210:OPSTART"
7230 ELSE 
7240 CHAIN "P641210:MAFSLUT"
7250 ENDIF