|
|
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: 2496 (0x9c0)
Types: TextFile
Notes: Mikados_K
Names: »INSERT.K«
└─⟦6b1c9961a⟧ Bits:30008989 INDPERM P1
└─⟦this⟧ »INSERT.K«
└─⟦a3d38fea3⟧ Bits:30008985 PRODUKTION NBT.
└─⟦this⟧ »INSERT.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »INSERT.K«
PROCEDURE INSERT(VAR ZO:ISFHEAD;VAR F:ISF;VAR REC:AR);
VAR I,K:INTEGER;
BEGIN
WITH ZO DO
IF FILEOPEN THEN
IF NOT FILEINIT THEN
BEGIN
IER:=0;
IF INITREC=0 THEN BEGIN IER:=-10; EXIT(INSERT) END;
IF RECINUSE>0 THEN
BEGIN
EXTRACT(ZO,Z,Z,BLK+(BLKENTRY-1)*RECSIZE,KEY1);
EXTRACT(ZO,REC,Z,1,KEY2);
IF COMPARE(ZO,Z,Z,KEY1,KEY2)>=0
THEN BEGIN IER:=-11;EXIT(INSERT) END
END;
K:=RECINUSE MOD IRPRBUC;
I:=RECINUSE DIV IRPRBUC+1;
READTABLE(ZO,F,I);
IF IER<>0 THEN EXIT(INSERT);
I:=K DIV IRPRBLK+1;
READBLOCK(ZO,F,I,1);
IF IER<>0 THEN EXIT(INSERT);
BLKENTRY:= K MOD IRPRBLK+1;
K:=BLK+(BLKENTRY-1)*RECSIZE-1;
FOR I:=1 TO RECSIZE DO Z(K+I):=REC(I);
SÆTKEY(ZO,BLKENTRY);
ØGNUM(ZO);
BLKCHG:=TRUE;
IF RECINUSE=INITREC THEN FILEINIT:=TRUE
END
ELSE
IF RECINUSE<NREC THEN
BEGIN
FINDPOST(ZO,F,REC);
IF IER=-1 THEN
BEGIN
IER:=0;
IF BLKENTRY<=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1) THEN
BEGIN
FSKDIBLK(ZO,BLKENTRY);
IF IER<>0 THEN EXIT(INSERT)
END;
K:=BLK+(BLKENTRY-1)*RECSIZE-1;
FOR I:=1 TO RECSIZE DO Z(K+I):=REC(I);
BLKCHG:=TRUE;
IF Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1)=RECPRBLK THEN
BEGIN
FSKDUBLK(ZO,F);
IF IER<>0 THEN EXIT(INSERT)
END ELSE
IF BLKENTRY=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1)+1 THEN
SÆTKEY(ZO,BLKENTRY);
ØGNUM(ZO)
END
ELSE IF IER=0 THEN IER:=-7
END
ELSE IER:=-8 ELSE IER:=-3
END;
0x000…038 Line {l1=0x36, l2=»PROCEDURE INSERT(VAR ZO:ISFHEAD;VAR F:ISF;VAR REC:AR);«, l3=0x36}
0x038…04a Line {l1=0x10, l2=»VAR I,K:INTEGER;«, l3=0x10}
0x04a…051 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x051…05f Line {l1=0x0c, l2=» WITH ZO DO«, l3=0x0c}
0x05f…073 Line {l1=0x12, l2=» IF FILEOPEN THEN«, l3=0x12}
0x073…08b Line {l1=0x16, l2=» IF NOT FILEINIT THEN«, l3=0x16}
0x08b…094 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x094…0a1 Line {l1=0x0b, l2=» IER:=0;«, l3=0x0b}
0x0a1…0da Line {l1=0x37, l2=» IF INITREC=0 THEN BEGIN IER:=-10; EXIT(INSERT) END;«, l3=0x37}
0x0da…0f2 Line {l1=0x16, l2=» IF RECINUSE>0 THEN«, l3=0x16}
0x0f2…0fd Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0fd…133 Line {l1=0x34, l2=» EXTRACT(ZO,Z,Z,BLK+(BLKENTRY-1)*RECSIZE,KEY1);«, l3=0x34}
0x133…154 Line {l1=0x1f, l2=» EXTRACT(ZO,REC,Z,1,KEY2);«, l3=0x1f}
0x154…17b Line {l1=0x25, l2=» IF COMPARE(ZO,Z,Z,KEY1,KEY2)>=0«, l3=0x25}
0x17b…1a7 Line {l1=0x2a, l2=» THEN BEGIN IER:=-11;EXIT(INSERT) END«, l3=0x2a}
0x1a7…1b1 Line {l1=0x08, l2=» END;«, l3=0x08}
0x1b1…1d1 Line {l1=0x1e, l2=» K:=RECINUSE MOD IRPRBUC;«, l3=0x1e}
0x1d1…1f3 Line {l1=0x20, l2=» I:=RECINUSE DIV IRPRBUC+1;«, l3=0x20}
0x1f3…20d Line {l1=0x18, l2=» READTABLE(ZO,F,I);«, l3=0x18}
0x20d…231 Line {l1=0x22, l2=» IF IER<>0 THEN EXIT(INSERT);«, l3=0x22}
0x231…24c Line {l1=0x19, l2=» I:=K DIV IRPRBLK+1;«, l3=0x19}
0x24c…268 Line {l1=0x1a, l2=» READBLOCK(ZO,F,I,1);«, l3=0x1a}
0x268…28c Line {l1=0x22, l2=» IF IER<>0 THEN EXIT(INSERT);«, l3=0x22}
0x28c…2af Line {l1=0x21, l2=» BLKENTRY:= K MOD IRPRBLK+1;«, l3=0x21}
0x2af…2d5 Line {l1=0x24, l2=» K:=BLK+(BLKENTRY-1)*RECSIZE-1;«, l3=0x24}
0x2d5…303 Line {l1=0x2c, l2=» FOR I:=1 TO RECSIZE DO Z(K+I):=REC(I);«, l3=0x2c}
0x303…31f Line {l1=0x1a, l2=» SÆTKEY(ZO,BLKENTRY);«, l3=0x1a}
0x31f…331 Line {l1=0x10, l2=» ØGNUM(ZO);«, l3=0x10}
0x331…346 Line {l1=0x13, l2=» BLKCHG:=TRUE;«, l3=0x13}
0x346…375 Line {l1=0x2d, l2=» IF RECINUSE=INITREC THEN FILEINIT:=TRUE«, l3=0x2d}
0x375…37e Line {l1=0x07, l2=» END«, l3=0x07}
0x37e…388 Line {l1=0x08, l2=» ELSE«, l3=0x08}
0x388…3a3 Line {l1=0x19, l2=» IF RECINUSE<NREC THEN«, l3=0x19}
0x3a3…3ae Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x3ae…3c9 Line {l1=0x19, l2=» FINDPOST(ZO,F,REC);«, l3=0x19}
0x3c9…3df Line {l1=0x14, l2=» IF IER=-1 THEN«, l3=0x14}
0x3df…3ec Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x3ec…3fd Line {l1=0x0f, l2=» IER:=0;«, l3=0x0f}
0x3fd…439 Line {l1=0x3a, l2=» IF BLKENTRY<=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1) THEN«, l3=0x3a}
0x439…448 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x448…46a Line {l1=0x20, l2=» FSKDIBLK(ZO,BLKENTRY);«, l3=0x20}
0x46a…491 Line {l1=0x25, l2=» IF IER<>0 THEN EXIT(INSERT)«, l3=0x25}
0x491…49f Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x49f…4c7 Line {l1=0x26, l2=» K:=BLK+(BLKENTRY-1)*RECSIZE-1;«, l3=0x26}
0x4c7…4f7 Line {l1=0x2e, l2=» FOR I:=1 TO RECSIZE DO Z(K+I):=REC(I);«, l3=0x2e}
0x4f7…50e Line {l1=0x15, l2=» BLKCHG:=TRUE;«, l3=0x15}
0x50e…549 Line {l1=0x39, l2=» IF Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1)=RECPRBLK THEN«, l3=0x39}
0x549…558 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x558…573 Line {l1=0x19, l2=» FSKDUBLK(ZO,F);«, l3=0x19}
0x573…59a Line {l1=0x25, l2=» IF IER<>0 THEN EXIT(INSERT)«, l3=0x25}
0x59a…5ac Line {l1=0x10, l2=» END ELSE«, l3=0x10}
0x5ac…5e9 Line {l1=0x3b, l2=» IF BLKENTRY=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1)+1 THEN«, l3=0x3b}
0x5e9…625 Line {l1=0x3a, l2=» SÆTKEY(ZO,BLKENTRY);«, l3=0x3a}
0x625…638 Line {l1=0x11, l2=» ØGNUM(ZO)«, l3=0x11}
0x638…643 Line {l1=0x09, l2=» END«, l3=0x09}
0x643…665 Line {l1=0x20, l2=» ELSE IF IER=0 THEN IER:=-7«, l3=0x20}
0x665…66e Line {l1=0x07, l2=» END«, l3=0x07}
0x66e…68d Line {l1=0x1d, l2=» ELSE IER:=-8 ELSE IER:=-3«, l3=0x1d}
0x68d…693 Line {l1=0x04, l2=»END;«, l3=0x04}
0x693…6a0 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
0x6a0…6c0 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 ┆ ┆
[…0x18…]