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

⟦3428c6384⟧ TextFile

    Length: 2496 (0x9c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »INSERT.K«

Derivation

└─⟦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« 

Mikados K File

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;

Mikados K File

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…]

Reduced view