|
|
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: 3744 (0xea0)
Types: TextFile
Notes: Mikados_K
Names: »REPORT.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »REPORT.K«
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;