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

⟦ddbfd934e⟧ TextFile

    Length: 2528 (0x9e0)
    Types: TextFile
    Notes: Mikados_K
    Names: »NEXTRE1.K«

Derivation

└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
    └─⟦this⟧ »NEXTRE1.K« 
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
    └─⟦this⟧ »NEXTRE1.K« 

Mikados K File

(*$P*)
PROCEDURE NEXTREC;
VAR NEWBLOCK,NEWBUC,NUM:INTEGER;
BEGIN
  IER:=0;
  WITH FILEHEAD DO IF FILEOPEN THEN IF FILEINIT THEN
  BEGIN
    REXTRACT(KEY1);
    NUM:=1;
    IF BLKENTRY>0 THEN
    BEGIN
      EXTRACT(BLK+(BLKENTRY-1)*RECSIZE,KEY2);
      NUM:=COMPARE(KEY1,KEY2)
    END;
    IF NUM<>0 THEN FINDPOST;    
    NUM:=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1);
    IF NUM<=BLKENTRY+IER THEN
    BEGIN
      NEWBLOCK:=BLKINZONE+1;
      NUM:=0;
      WHILE (NUM<=0) AND (NEWBLOCK<=BLKPRBUC) DO
      BEGIN
        NUM:=Z(BLT+(NEWBLOCK-1)*ENTRYSIZE+1);
        NEWBLOCK:=NEWBLOCK+1
      END;
      IF NUM>0 THEN NEWBLOCK:=NEWBLOCK-1
      ELSE
      BEGIN
        NEWBUC:=BUCINZONE+1;
        NUM:=0;
        WHILE (NUM<=0) AND (NEWBUC<=NBUC) DO
        BEGIN
          NUM:=Z(BUT+(NEWBUC-1)*ENTRYSIZE+1);
          NEWBUC:=NEWBUC+1
        END;
        IF NUM>0 THEN NEWBUC:=NEWBUC-1
        ELSE
        BEGIN
          IF RECINUSE<=1 THEN IER:=-9 ELSE IER:=-2;
          NEWBUC:=1;
          REPEAT
            NUM:=Z(BUT+(NEWBUC-1)*ENTRYSIZE+1);
            NEWBUC:=NEWBUC+1
          UNTIL (NUM>0) OR (NEWBUC>BUCINZONE);
          IF NUM>0 THEN NEWBUC:=NEWBUC-1
          ELSE
          BEGIN IER:=-103;EXIT(OBEY) END;
        END;
        NUM:=IER;IER:=0;
        READTABLE(NEWBUC);
        IER:=NUM;
        NEWBLOCK:=1;
        REPEAT
          NUM:=Z(BLT+(NEWBLOCK-1)*ENTRYSIZE+1);
          NEWBLOCK:=NEWBLOCK+1
        UNTIL (NUM>0) OR (NEWBLOCK>BLKPRBUC);
        IF NUM>0 THEN NEWBLOCK:=NEWBLOCK-1
        ELSE
        BEGIN IER:=-104;EXIT(OBEY) END;
      END;
      NUM:=IER;IER:=0;
      READBLOCK(NEWBLOCK,1);
      IER:=NUM;
      BLKENTRY:=1
    END
    ELSE
      BLKENTRY:=BLKENTRY+1+IER;
    NEWBUC:=BLK+(BLKENTRY-1)*RECSIZE;
    MOVELEFT(Z(NEWBUC),REC^(1),2*RECSIZE) 
(*  FOR NUM:=1 TO RECSIZE DO REC^(NUM):=Z(NEWBUC+NUM)*)
  END
  ELSE IER:=-12 ELSE IER:=-3
END;

TextFile

▶06◀(*$P*)▶06◀▶12◀PROCEDURE NEXTREC;▶12◀ VAR NEWBLOCK,NEWBUC,NUM:INTEGER; ▶05◀BEGIN▶05◀	  IER:=0;	4  WITH FILEHEAD DO IF FILEOPEN THEN IF FILEINIT THEN4▶07◀  BEGIN▶07◀▶13◀    REXTRACT(KEY1);▶13◀▶0b◀    NUM:=1;▶0b◀▶16◀    IF BLKENTRY>0 THEN▶16◀	    BEGIN	-      EXTRACT(BLK+(BLKENTRY-1)*RECSIZE,KEY2);-▶1d◀      NUM:=COMPARE(KEY1,KEY2)▶1d◀▶08◀    END;▶08◀     IF NUM<>0 THEN FINDPOST;     *    NUM:=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1);*▶1d◀    IF NUM<=BLKENTRY+IER THEN▶1d◀	    BEGIN	▶1c◀      NEWBLOCK:=BLKINZONE+1;▶1c◀\r      NUM:=0;\r0      WHILE (NUM<=0) AND (NEWBLOCK<=BLKPRBUC) DO0▶0b◀      BEGIN▶0b◀-        NUM:=Z(BLT+(NEWBLOCK-1)*ENTRYSIZE+1);-▶1c◀        NEWBLOCK:=NEWBLOCK+1▶1c◀
      END;
(      IF NUM>0 THEN NEWBLOCK:=NEWBLOCK-1(
      ELSE
▶0b◀      BEGIN▶0b◀▶1c◀        NEWBUC:=BUCINZONE+1;▶1c◀▶0f◀        NUM:=0;▶0f◀,        WHILE (NUM<=0) AND (NEWBUC<=NBUC) DO,\r        BEGIN\r-          NUM:=Z(BUT+(NEWBUC-1)*ENTRYSIZE+1);-▶1a◀          NEWBUC:=NEWBUC+1▶1a◀\f

        END;\f

&        IF NUM>0 THEN NEWBUC:=NEWBUC-1&\f

        ELSE\f

\r        BEGIN\r3          IF RECINUSE<=1 THEN IER:=-9 ELSE IER:=-2;3▶14◀          NEWBUC:=1;▶14◀▶10◀          REPEAT▶10◀/            NUM:=Z(BUT+(NEWBUC-1)*ENTRYSIZE+1);/▶1c◀            NEWBUC:=NEWBUC+1▶1c◀.          UNTIL (NUM>0) OR (NEWBUC>BUCINZONE);.(          IF NUM>0 THEN NEWBUC:=NEWBUC-1(▶0e◀          ELSE▶0e◀)          BEGIN IER:=-103;EXIT(OBEY) END;)\f

        END;\f

▶18◀        NUM:=IER;IER:=0;▶18◀▶1a◀        READTABLE(NEWBUC);▶1a◀▶11◀        IER:=NUM;▶11◀▶14◀        NEWBLOCK:=1;▶14◀▶0e◀        REPEAT▶0e◀/          NUM:=Z(BLT+(NEWBLOCK-1)*ENTRYSIZE+1);/▶1e◀          NEWBLOCK:=NEWBLOCK+1▶1e◀-        UNTIL (NUM>0) OR (NEWBLOCK>BLKPRBUC);-*        IF NUM>0 THEN NEWBLOCK:=NEWBLOCK-1*\f

        ELSE\f

'        BEGIN IER:=-104;EXIT(OBEY) END;'
      END;
▶16◀      NUM:=IER;IER:=0;▶16◀▶1c◀      READBLOCK(NEWBLOCK,1);▶1c◀▶0f◀      IER:=NUM;▶0f◀▶11◀      BLKENTRY:=1▶11◀▶07◀    END▶07◀▶08◀    ELSE▶08◀▶1f◀      BLKENTRY:=BLKENTRY+1+IER;▶1f◀%    NEWBUC:=BLK+(BLKENTRY-1)*RECSIZE;%*    MOVELEFT(Z(NEWBUC),REC^(1),2*RECSIZE) *7(*  FOR NUM:=1 TO RECSIZE DO REC^(NUM):=Z(NEWBUC+NUM)*)7▶05◀  END▶05◀▶1c◀  ELSE IER:=-12 ELSE IER:=-3▶1c◀▶04◀END;▶04◀▶00◀▶00◀cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

Full view