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

⟦6c213dfce⟧ TextFile

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

Derivation

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

Mikados K File

(*$P*)
PROCEDURE FINDPOST(VAR F:ISF);              
VAR NUM,I,X,PEG:INTEGER;
BEGIN
  WITH FILEHEAD(CURRHEAD) DO
  BEGIN
    REXTRACT(KEY1);
    X:=-1;
    I:=1;
    REPEAT
      IF Z((I-1)*ENTRYSIZE+BUT+1)>0 THEN
      BEGIN
        PEG:=I;
        X:=COMPARE((I-1)*ENTRYSIZE+BUT+2,KEY1)
      END;
      I:=I+1
    UNTIL (I>NBUC) OR (X>=0);
    IF X<0 THEN
    BEGIN
      READTABLE(F,PEG);
      FOR PEG:=BLKPRBUC DOWNTO 1 DO
      IF Z((PEG-1)*ENTRYSIZE+BLT+1)>0 THEN
      BEGIN
        READBLOCK(F,PEG,1);
        BLKENTRY:=1+Z((PEG-1)*ENTRYSIZE+BLT+1);
        IER:=-1;
        EXIT(FINDPOST)
      END;
      IER:=-100;EXIT(UDFØR)       
    END ELSE
    BEGIN
      READTABLE(F,PEG);
      I:=BLT+1;
      PEG:=0;
      X:=-1;
      REPEAT
        IF PEG=BLKPRBUC THEN BEGIN IER:=-101;EXIT(UDFØR) END;
        NUM:=Z(I);
        PEG:=PEG+1;
        IF NUM>0 THEN
        BEGIN
          X:=COMPARE(I+1,KEY1);
          IF X>=0 THEN
            READBLOCK(F,PEG,1);
        END;
        I:=I+ENTRYSIZE
      UNTIL X>=0;
      I:=0;
      REPEAT
        I:=I+1;
        IF I>NUM THEN BEGIN IER:=-102;EXIT(UDFØR) END;
        EXTRACT(BLK+(I-1)*RECSIZE,KEY2);
        X:=COMPARE(KEY2,KEY1)
      UNTIL X>=0;
      IF X=0 THEN IER:=0 ELSE IER:=-1;
      BLKENTRY:=I
    END
  END
END;

Full view