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

⟦b9f876045⟧ TextFile

    Length: 3744 (0xea0)
    Types: TextFile
    Notes: Mikados_K
    Names: »REPORT.K«

Derivation

└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
    └─⟦this⟧ »REPORT.K« 

Mikados K File

PROCEDURE REPORT(VAR ZO:ISFHEAD;VAR F:ISF;SBUC:INTEGER);
VAR I,J,K,L,N:INTEGER;
PROCEDURE W(T:STRING;NR:INTEGER);
BEGIN
  N:=N+1;
  WRITE(LIST,'  ',T,NR:6);
  IF N=6 THEN
  BEGIN
    WRITELN(LIST);
    N:=0
  END
END;
BEGIN
  WITH ZO DO
  BEGIN
    WRITELN(LIST,'REPORT');
    WRITELN(LIST);
    WRITELN(LIST,'FILEHEAD-INFORMATION');
    WRITELN(LIST);
    N:=0;
    W('NBUC    :',NBUC);W('NBLK    :',NBLK);
    W('NREC    :',NREC);
    W('BLKPRBUC:',BLKPRBUC);
    W('RECPRBUC:',RECPRBUC);
    W('RECPRBLK:',RECPRBLK);
    W('KEYFLDS :',KEYFLDS);
    W('FLHSIZE :',FLHSIZE);
    W('BUTSIZE :',BUTSIZE);
    W('BLTSIZE :',BLTSIZE);
    W('BLKSIZE :',BLKSIZE);
    W('RECSIZE :',RECSIZE);
    W('KEYSIZE :',KEYSIZE);
    W('SEGINFLH:',SEGINFLH);
    W('SEGINBUT:',SEGINBUT);
    W('SEGINBUC:',SEGINBUC);
    W('SEGINBLT:',SEGINBLT);
    W('SEGINBLK:',SEGINBLK);
    WRITELN(LIST);
    WRITELN(LIST,'FILE-STATUS');
    WRITELN(LIST);
    W('INITREC :',INITREC);
    W('BUCINUSE:',BUCINUSE);
    W('BLKINUSE:',BLKINUSE);
    N:=5;
    W('RECINUSE:',RECINUSE);
    WRITE(LIST,'  FILEINIT: ');
    IF FILEINIT THEN WRITE(LIST,' TRUE') ELSE WRITE(LIST,'FALSE');
    WRITE(LIST,'  FILEOPEN: ');
    IF FILEOPEN THEN WRITELN(LIST,' TRUE') ELSE WRITELN(LIST,'FALSE');
    WRITELN(LIST);
    WRITELN(LIST,'KEY-DESCRIPTION');
    WRITELN(LIST);
    WRITELN(LIST,'   KEYFLD   KEYPOS   KEYLNG   KEYSGN');
    FOR I:=1 TO KEYFLDS DO
       WRITELN(LIST,I:9,KEYPOS(I):9,KEYLNG(I):9,KEYSGN(I):9);
    WRITELN(LIST);
    WRITELN(LIST,'BUCKETTABLE');
    WRITELN(LIST);
    WRITELN(LIST,'   ADR   NUM      KEY');
    FOR I:=1 TO NBUC DO
    BEGIN
       WRITE(LIST,Z((I-1)*ENTRYSIZE+1):6,Z((I-1)*ENTRYSIZE+2):6);
       FOR J:=1 TO KEYSIZE DO WRITE(LIST,Z((I-1)*ENTRYSIZE+2+J):6);
       WRITELN(LIST)
    END;
    WRITELN(LIST);
    FOR I:=SBUC TO NBUC DO
    BEGIN
      WRITELN(LIST,I:5,'. BUCKET');
      WRITELN(LIST);
      READTABLE(ZO,F,I);
      IF IER<>0 THEN EXIT(REPORT);
      WRITELN(LIST,'BLOCKTABLE');
      WRITELN(LIST);
      WRITELN(LIST,'   ADR   NUM      KEY');
      FOR J:=1 TO BLKPRBUC DO
      BEGIN
        WRITE(LIST,Z((J-1)*ENTRYSIZE+BLT):6,Z((J-1)*ENTRYSIZE
              +BLT+1):6);
        FOR K:=1 TO KEYSIZE DO WRITE(LIST,Z((J-1)*ENTRYSIZE+BLT+1+K):6);
        WRITELN(LIST)
      END;
      WRITELN(LIST);
      FOR J:=1 TO BLKPRBUC DO
      BEGIN
        WRITELN(LIST,I:5,'. BUCKET ',J:5,'. BLOCK');
        READBLOCK(ZO,F,J,1);
        IF IER<>0 THEN EXIT(REPORT);
        FOR K:=1 TO RECPRBLK DO
        BEGIN
          IF K>Z(BLT+(J-1)*ENTRYSIZE+1) THEN
               WRITE(LIST,' *')
               ELSE WRITE(LIST,'  ');
          FOR L:=1 TO RECSIZE DO
          BEGIN
            IF L MOD 20=0 THEN BEGIN WRITELN(LIST);WRITE(LIST,'  ') END;
               WRITE(LIST,Z(BLK+(K-1)*RECSIZE+L-1):6);
          END;
               WRITELN(LIST);
        END;
        WRITELN(LIST)
      END;
      WRITELN(LIST)
    END
  END
END;

Full view