|
|
DataMuseum.dkPresents historical artifacts from the history of: MIKADOS |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about MIKADOS Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - download
Length: 3744 (0xea0)
Types: TextFile
Notes: Mikados_K
Names: »SALDOLIS.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »SALDOLIS.K«
PROGRAM SALDOLISTE;
(*$IISFHEAD*)
KPOST=RECORD
A:AR;
NR:ARRAY(1..23) OF INTEGER;
NAVN:ARRAY (1..3) OF PACKED ARRAY (1..30) OF CHAR;
LANDSBY:PACKED ARRAY (1..20) OF CHAR;
POSTNR:PACKED ARRAY (1..25) OF CHAR;
TLF:PACKED ARRAY (1..10) OF CHAR;
SALDOKØB:ARRAY (1..9) OF REAL
END;
ZONE= RECORD
H:ISFHEAD;
T:ARRAY(1..918) OF INTEGER
END;
PROCSTAT=RECORD
NP,NROSTART:INTEGER
END;
NPFILE=FILE OF PROCSTAT;
VAR F:ISF;
NRPF,CF:NPFILE;
QUQ:^INTEGER;
KZ:ZONE;
FILNAVN2:STRING(20);
J,IER,I:INTEGER;
KUNDE:KPOST;
NAME:PACKED ARRAY (1..26) OF CHAR;
TOTAL,TTOTAL:REAL;
(*$R-,IEXCOMCOP*)
(*$IIOPEN*)
(*$IREADPROC*)
(*$IFINDPOST*)
(*$IICLOSE*)
(*$INEXTREC*)
(*$R+*)
(*$L+*)
PROCEDURE ERROR;
BEGIN
WRITELN('FEJL I KUNDEREG ',IER);
ICLOSE(KZ.H,F);
WRITELN('ICLOSE ',IER);
I:=I DIV 0
END;
PROCEDURE PRKUNOPL;
BEGIN
WITH KUNDE DO
BEGIN
TOTAL:=0;
WRITE(LIST,NR(1)*10000.0+NR(2):5:-2);
J:=0;
REPEAT J:=J+1
UNTIL (J=4) OR (NAVN(1,J)<>' ');
IF NAVN(1,J)=' ' THEN
BEGIN
MOVELEFT(NAVN(1,5),NAME,26);
WRITE(LIST,' ':6,NAME,' ':4)
END
ELSE
WRITE(LIST,' ':6,NAVN(1));
TOTAL:= SALDOKØB(4)+SALDOKØB(5)+SALDOKØB(6);
WRITE(LIST,' ':11,TOTAL/100:12:2);
WRITE(LIST, SALDOKØB(4) /100:12:2);
WRITE(LIST,(SALDOKØB(5)+SALDOKØB(6))/100:12:2);
WRITELN(LIST,SALDOKØB(8)/100:12:2);
TOTAL:=TOTAL+SALDOKØB(1)+SALDOKØB(2)+SALDOKØB(3);
WRITE(LIST,' ':12,POSTNR,' ',TLF,' ':5);
WRITE(LIST,TOTAL/100:12:2);
WRITE(LIST,(SALDOKØB(1)+SALDOKØB(2))/100:12:2);
WRITE(LIST,SALDOKØB(3)/100:12:2);
WRITELN(LIST,SALDOKØB(7)/100:12:2);
WRITELN(LIST);
TTOTAL:=TTOTAL+TOTAL;
END
END;
BEGIN
FILNAVN2:='PROCSTAT:P2:0:I';
(*$C-*)
REPEAT
REWRITE(NRPF,FILNAVN2);
SEEK(NRPF,1)
UNTIL IORESULT=0;
(*$C+*)
GET(NRPF);
NRPF^.NP:=1;
SEEK(NRPF,1);
PUT(NRPF);
REPEAT
GOTOXY(1,20);
WRITELN('Sæt plade 1 i drev 1 og tryk RETURN');
READLN;
(*$C-*)
REWRITE(CF,'C1:P1:0:J');
SEEK(CF,1)
(*$C+*)
UNTIL IORESULT=0;
CLOSE(CF);
CLOSE(NRPF);
WRITELN('SALDOLISTE');
FILNAVN2:='KUNDERG:P2:1338:I';
RESET(F,FILNAVN2);
IOPEN(KZ.H,F,LÆS);
IF IER<>0 THEN ERROR;
WITH KUNDE DO
BEGIN
NR(1):=0;NR(2):=0;
I:=0;
NEXTREC(KZ.H,F,A);
IF IER<>-1 THEN ERROR;
TTOTAL:=0;
WRITELN(LIST);
WRITELN(LIST,'A L D E R S F O R D E L T S A L D O L I S T E');
WRITELN(LIST);
WRITELN(LIST,' Kundenr',' ':4,'Kundenavn',' ':33,'Forf. saldo ',
'Saldo 45-60 Saldo Ældre Månedens køb');
WRITELN(LIST,' ':12,'Postnr og by',' ':16,'Telefon',' ':7,
'Total saldo Saldo 0-30 Saldo 30-45 Årets køb');
WRITELN(LIST);
REPEAT
I:=I+1;
PRKUNOPL;
NEXTREC(KZ.H,F,A)
UNTIL IER<>0;
WRITELN(LIST,'TOTAL SALDO: ',' ':34,TTOTAL/100:10:2);
WRITELN(LIST,'FOR ',I:5,' AF ',KZ.H.RECINUSE:5,' KUNDER');
IF I<>KZ.H.RECINUSE THEN WRITELN(LIST,'Der er altså fejl i kunderegistret');
END;
IF IER<>-2 THEN ERROR;
ICLOSE(KZ.H,F);
CLEARSCREEN;
WRITELN('ICLOSE ',IER);
CHAIN('INTRE *1','HOVSA:P1',QUQ)
END.
0x000…015 Line {l1=0x13, l2=»PROGRAM SALDOLISTE;«, l3=0x13}
0x015…024 Line {l1=0x0d, l2=»(*$IISFHEAD*)«, l3=0x0d}
0x024…032 Line {l1=0x0c, l2=»KPOST=RECORD«, l3=0x0c}
0x032…040 Line {l1=0x0c, l2=» A:AR;«, l3=0x0c}
0x040…064 Line {l1=0x22, l2=» NR:ARRAY(1..23) OF INTEGER;«, l3=0x22}
0x064…09f Line {l1=0x39, l2=» NAVN:ARRAY (1..3) OF PACKED ARRAY (1..30) OF CHAR;«, l3=0x39}
0x09f…0cd Line {l1=0x2c, l2=» LANDSBY:PACKED ARRAY (1..20) OF CHAR;«, l3=0x2c}
0x0cd…0fa Line {l1=0x2b, l2=» POSTNR:PACKED ARRAY (1..25) OF CHAR;«, l3=0x2b}
0x0fa…124 Line {l1=0x28, l2=» TLF:PACKED ARRAY (1..10) OF CHAR;«, l3=0x28}
0x124…14a Line {l1=0x24, l2=» SALDOKØB:ARRAY (1..9) OF REAL«, l3=0x24}
0x14a…150 Line {l1=0x04, l2=»END;«, l3=0x04}
0x150…15e Line {l1=0x0c, l2=»ZONE= RECORD«, l3=0x0c}
0x15e…171 Line {l1=0x11, l2=» H:ISFHEAD;«, l3=0x11}
0x171…194 Line {l1=0x21, l2=» T:ARRAY(1..918) OF INTEGER«, l3=0x21}
0x194…19b Line {l1=0x05, l2=» END;«, l3=0x05}
0x19b…1ac Line {l1=0x0f, l2=»PROCSTAT=RECORD«, l3=0x0f}
0x1ac…1c8 Line {l1=0x1a, l2=» NP,NROSTART:INTEGER«, l3=0x1a}
0x1c8…1ce Line {l1=0x04, l2=»END;«, l3=0x04}
0x1ce…1e8 Line {l1=0x18, l2=»NPFILE=FILE OF PROCSTAT;«, l3=0x18}
0x1e8…1f7 Line {l1=0x0d, l2=»VAR F:ISF;«, l3=0x0d}
0x1f7…20f Line {l1=0x16, l2=» NRPF,CF:NPFILE;«, l3=0x16}
0x20f…225 Line {l1=0x14, l2=» QUQ:^INTEGER;«, l3=0x14}
0x225…236 Line {l1=0x0f, l2=» KZ:ZONE;«, l3=0x0f}
0x236…253 Line {l1=0x1b, l2=» FILNAVN2:STRING(20);«, l3=0x1b}
0x253…269 Line {l1=0x14, l2=» J,IER,I:INTEGER;«, l3=0x14}
0x269…27d Line {l1=0x12, l2=» KUNDE:KPOST;«, l3=0x12}
0x27d…2a8 Line {l1=0x29, l2=» NAME:PACKED ARRAY (1..26) OF CHAR;«, l3=0x29}
0x2a8…2c3 Line {l1=0x19, l2=» TOTAL,TTOTAL:REAL;«, l3=0x19}
0x2c3…2d6 Line {l1=0x11, l2=»(*$R-,IEXCOMCOP*)«, l3=0x11}
0x2d6…2e3 Line {l1=0x0b, l2=»(*$IIOPEN*)«, l3=0x0b}
0x2e3…2f3 Line {l1=0x0e, l2=»(*$IREADPROC*)«, l3=0x0e}
0x2f3…303 Line {l1=0x0e, l2=»(*$IFINDPOST*)«, l3=0x0e}
0x303…311 Line {l1=0x0c, l2=»(*$IICLOSE*)«, l3=0x0c}
0x311…320 Line {l1=0x0d, l2=»(*$INEXTREC*)«, l3=0x0d}
0x320…329 Line {l1=0x07, l2=»(*$R+*)«, l3=0x07}
0x329…332 Line {l1=0x07, l2=»(*$L+*)«, l3=0x07}
0x332…344 Line {l1=0x10, l2=»PROCEDURE ERROR;«, l3=0x10}
0x344…34b Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x34b…36f Line {l1=0x22, l2=» WRITELN('FEJL I KUNDEREG ',IER);«, l3=0x22}
0x36f…382 Line {l1=0x11, l2=» ICLOSE(KZ.H,F);«, l3=0x11}
0x382…39d Line {l1=0x19, l2=» WRITELN('ICLOSE ',IER);«, l3=0x19}
0x39d…3ab Line {l1=0x0c, l2=» I:=I DIV 0«, l3=0x0c}
0x3ab…3b1 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3b1…3c6 Line {l1=0x13, l2=»PROCEDURE PRKUNOPL;«, l3=0x13}
0x3c6…3cd Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x3cd…3de Line {l1=0x0f, l2=» WITH KUNDE DO«, l3=0x0f}
0x3de…3e7 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x3e7…3f2 Line {l1=0x09, l2=»TOTAL:=0;«, l3=0x09}
0x3f2…41d Line {l1=0x29, l2=» WRITE(LIST,NR(1)*10000.0+NR(2):5:-2);«, l3=0x29}
0x41d…42b Line {l1=0x0c, l2=» J:=0;«, l3=0x0c}
0x42b…441 Line {l1=0x14, l2=» REPEAT J:=J+1«, l3=0x14}
0x441…46a Line {l1=0x27, l2=» UNTIL (J=4) OR (NAVN(1,J)<>' ');«, l3=0x27}
0x46a…488 Line {l1=0x1c, l2=» IF NAVN(1,J)=' ' THEN«, l3=0x1c}
0x488…496 Line {l1=0x0c, l2=» BEGIN«, l3=0x0c}
0x496…4bd Line {l1=0x25, l2=» MOVELEFT(NAVN(1,5),NAME,26);«, l3=0x25}
0x4bd…4e4 Line {l1=0x25, l2=» WRITE(LIST,' ':6,NAME,' ':4)«, l3=0x25}
0x4e4…4f0 Line {l1=0x0a, l2=» END«, l3=0x0a}
0x4f0…4fd Line {l1=0x0b, l2=» ELSE«, l3=0x0b}
0x4fd…51d Line {l1=0x1e, l2=» WRITE(LIST,' ':6,NAVN(1));«, l3=0x1e}
0x51d…556 Line {l1=0x37, l2=»TOTAL:= SALDOKØB(4)+SALDOKØB(5)+SALDOKØB(6);«, l3=0x37}
0x556…57a Line {l1=0x22, l2=»WRITE(LIST,' ':11,TOTAL/100:12:2);«, l3=0x22}
0x57a…5ab Line {l1=0x2f, l2=»WRITE(LIST, SALDOKØB(4) /100:12:2);«, l3=0x2f}
0x5ab…5dc Line {l1=0x2f, l2=»WRITE(LIST,(SALDOKØB(5)+SALDOKØB(6))/100:12:2);«, l3=0x2f}
0x5dc…601 Line {l1=0x23, l2=»WRITELN(LIST,SALDOKØB(8)/100:12:2);«, l3=0x23}
0x601…634 Line {l1=0x31, l2=»TOTAL:=TOTAL+SALDOKØB(1)+SALDOKØB(2)+SALDOKØB(3);«, l3=0x31}
0x634…65e Line {l1=0x28, l2=»WRITE(LIST,' ':12,POSTNR,' ',TLF,' ':5);«, l3=0x28}
0x65e…67b Line {l1=0x1b, l2=»WRITE(LIST,TOTAL/100:12:2);«, l3=0x1b}
0x67b…6b0 Line {l1=0x33, l2=» WRITE(LIST,(SALDOKØB(1)+SALDOKØB(2))/100:12:2);«, l3=0x33}
0x6b0…6d7 Line {l1=0x25, l2=» WRITE(LIST,SALDOKØB(3)/100:12:2);«, l3=0x25}
0x6d7…700 Line {l1=0x27, l2=» WRITELN(LIST,SALDOKØB(7)/100:12:2);«, l3=0x27}
0x700…714 Line {l1=0x12, l2=» WRITELN(LIST);«, l3=0x12}
0x714…72f Line {l1=0x19, l2=» TTOTAL:=TTOTAL+TOTAL;«, l3=0x19}
0x72f…736 Line {l1=0x05, l2=» END«, l3=0x05}
0x736…73c Line {l1=0x04, l2=»END;«, l3=0x04}
0x73c…743 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x743…763 Line {l1=0x1e, l2=» FILNAVN2:='PROCSTAT:P2:0:I';«, l3=0x1e}
0x763…76c Line {l1=0x07, l2=»(*$C-*)«, l3=0x07}
0x76c…776 Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x776…793 Line {l1=0x1b, l2=» REWRITE(NRPF,FILNAVN2);«, l3=0x1b}
0x793…7a5 Line {l1=0x10, l2=» SEEK(NRPF,1)«, l3=0x10}
0x7a5…7ba Line {l1=0x13, l2=» UNTIL IORESULT=0;«, l3=0x13}
0x7ba…7c3 Line {l1=0x07, l2=»(*$C+*)«, l3=0x07}
0x7c3…7d1 Line {l1=0x0c, l2=» GET(NRPF);«, l3=0x0c}
0x7d1…7e1 Line {l1=0x0e, l2=» NRPF^.NP:=1;«, l3=0x0e}
0x7e1…7f2 Line {l1=0x0f, l2=» SEEK(NRPF,1);«, l3=0x0f}
0x7f2…800 Line {l1=0x0c, l2=» PUT(NRPF);«, l3=0x0c}
0x800…80a Line {l1=0x08, l2=» REPEAT«, l3=0x08}
0x80a…81d Line {l1=0x11, l2=» GOTOXY(1,20);«, l3=0x11}
0x81d…852 Line {l1=0x33, l2=» WRITELN('Sæt plade 1 i drev 1 og tryk RETURN');«, l3=0x33}
0x852…85f Line {l1=0x0b, l2=» READLN;«, l3=0x0b}
0x85f…868 Line {l1=0x07, l2=»(*$C-*)«, l3=0x07}
0x868…886 Line {l1=0x1c, l2=» REWRITE(CF,'C1:P1:0:J');«, l3=0x1c}
0x886…896 Line {l1=0x0e, l2=» SEEK(CF,1)«, l3=0x0e}
0x896…89f Line {l1=0x07, l2=»(*$C+*)«, l3=0x07}
0x89f…8b4 Line {l1=0x13, l2=» UNTIL IORESULT=0;«, l3=0x13}
0x8b4…8c2 Line {l1=0x0c, l2=» CLOSE(CF);«, l3=0x0c}
0x8c2…8d2 Line {l1=0x0e, l2=» CLOSE(NRPF);«, l3=0x0e}
0x8d2…8ec Line {l1=0x18, l2=» WRITELN('SALDOLISTE');«, l3=0x18}
0x8ec…90e Line {l1=0x20, l2=» FILNAVN2:='KUNDERG:P2:1338:I';«, l3=0x20}
0x90e…924 Line {l1=0x14, l2=» RESET(F,FILNAVN2);«, l3=0x14}
0x924…93a Line {l1=0x14, l2=» IOPEN(KZ.H,F,LÆS);«, l3=0x14}
0x93a…953 Line {l1=0x17, l2=» IF IER<>0 THEN ERROR;«, l3=0x17}
0x953…964 Line {l1=0x0f, l2=» WITH KUNDE DO«, l3=0x0f}
0x964…96d Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x96d…985 Line {l1=0x16, l2=» NR(1):=0;NR(2):=0;«, l3=0x16}
0x985…990 Line {l1=0x09, l2=» I:=0;«, l3=0x09}
0x990…9a8 Line {l1=0x16, l2=» NEXTREC(KZ.H,F,A);«, l3=0x16}
0x9a8…9c4 Line {l1=0x1a, l2=» IF IER<>-1 THEN ERROR;«, l3=0x1a}
0x9c4…9d4 Line {l1=0x0e, l2=» TTOTAL:=0;«, l3=0x0e}
0x9d4…9e4 Line {l1=0x0e, l2=»WRITELN(LIST);«, l3=0x0e}
0x9e4…a26 Line {l1=0x40, l2=»WRITELN(LIST,'A L D E R S F O R D E L T S A L D O L I S T E');«, l3=0x40}
0xa26…a36 Line {l1=0x0e, l2=»WRITELN(LIST);«, l3=0x0e}
0xa36…a7c Line {l1=0x44, l2=» WRITELN(LIST,' Kundenr',' ':4,'Kundenavn',' ':33,'Forf. saldo ',«, l3=0x44}
0xa7c…ab7 Line {l1=0x39, l2=» 'Saldo 45-60 Saldo Ældre Månedens køb');«, l3=0x39}
0xab7…af7 Line {l1=0x3e, l2=» WRITELN(LIST,' ':12,'Postnr og by',' ':16,'Telefon',' ':7,«, l3=0x3e}
0xaf7…b3e Line {l1=0x45, l2=» 'Total saldo Saldo 0-30 Saldo 30-45 Årets køb');«, l3=0x45}
0xb3e…b52 Line {l1=0x12, l2=» WRITELN(LIST);«, l3=0x12}
0xb52…b5e Line {l1=0x0a, l2=» REPEAT«, l3=0x0a}
0xb5e…b6d Line {l1=0x0d, l2=» I:=I+1;«, l3=0x0d}
0xb6d…b7f Line {l1=0x10, l2=» PRKUNOPL;«, l3=0x10}
0xb7f…b99 Line {l1=0x18, l2=» NEXTREC(KZ.H,F,A)«, l3=0x18}
0xb99…bac Line {l1=0x11, l2=» UNTIL IER<>0;«, l3=0x11}
0xbac…be7 Line {l1=0x39, l2=» WRITELN(LIST,'TOTAL SALDO: ',' ':34,TTOTAL/100:10:2);«, l3=0x39}
0xbe7…c27 Line {l1=0x3e, l2=» WRITELN(LIST,'FOR ',I:5,' AF ',KZ.H.RECINUSE:5,' KUNDER');«, l3=0x3e}
0xc27…c75 Line {l1=0x4c, l2=»IF I<>KZ.H.RECINUSE THEN WRITELN(LIST,'Der er altså fejl i kunderegistret');«, l3=0x4c}
0xc75…c7d Line {l1=0x06, l2=» END;«, l3=0x06}
0xc7d…c97 Line {l1=0x18, l2=» IF IER<>-2 THEN ERROR;«, l3=0x18}
0xc97…caa Line {l1=0x11, l2=» ICLOSE(KZ.H,F);«, l3=0x11}
0xcaa…cba Line {l1=0x0e, l2=» CLEARSCREEN;«, l3=0x0e}
0xcba…cd5 Line {l1=0x19, l2=» WRITELN('ICLOSE ',IER);«, l3=0x19}
0xcd5…cfb Line {l1=0x24, l2=» CHAIN('INTRE *1','HOVSA:P1',QUQ)«, l3=0x24}
0xcfb…d01 Line {l1=0x04, l2=»END.«, l3=0x04}
0xd01…d20 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
0xd20…d40 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
[…0xb…]