|
|
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: 2528 (0x9e0)
Types: TextFile
Notes: Mikados_K
Names: »NEXTRE1.K«
└─⟦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«
(*$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;
0x000…008 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x008…01c Line {l1=0x12, l2=»PROCEDURE NEXTREC;«, l3=0x12}
0x01c…03e Line {l1=0x20, l2=»VAR NEWBLOCK,NEWBUC,NUM:INTEGER;«, l3=0x20}
0x03e…045 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x045…050 Line {l1=0x09, l2=» IER:=0;«, l3=0x09}
0x050…086 Line {l1=0x34, l2=» WITH FILEHEAD DO IF FILEOPEN THEN IF FILEINIT THEN«, l3=0x34}
0x086…08f Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x08f…0a4 Line {l1=0x13, l2=» REXTRACT(KEY1);«, l3=0x13}
0x0a4…0b1 Line {l1=0x0b, l2=» NUM:=1;«, l3=0x0b}
0x0b1…0c9 Line {l1=0x16, l2=» IF BLKENTRY>0 THEN«, l3=0x16}
0x0c9…0d4 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0d4…103 Line {l1=0x2d, l2=» EXTRACT(BLK+(BLKENTRY-1)*RECSIZE,KEY2);«, l3=0x2d}
0x103…122 Line {l1=0x1d, l2=» NUM:=COMPARE(KEY1,KEY2)«, l3=0x1d}
0x122…12c Line {l1=0x08, l2=» END;«, l3=0x08}
0x12c…14e Line {l1=0x20, l2=» IF NUM<>0 THEN FINDPOST; «, l3=0x20}
0x14e…17a Line {l1=0x2a, l2=» NUM:=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1);«, l3=0x2a}
0x17a…199 Line {l1=0x1d, l2=» IF NUM<=BLKENTRY+IER THEN«, l3=0x1d}
0x199…1a4 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x1a4…1c2 Line {l1=0x1c, l2=» NEWBLOCK:=BLKINZONE+1;«, l3=0x1c}
0x1c2…1d1 Line {l1=0x0d, l2=» NUM:=0;«, l3=0x0d}
0x1d1…203 Line {l1=0x30, l2=» WHILE (NUM<=0) AND (NEWBLOCK<=BLKPRBUC) DO«, l3=0x30}
0x203…210 Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x210…23f Line {l1=0x2d, l2=» NUM:=Z(BLT+(NEWBLOCK-1)*ENTRYSIZE+1);«, l3=0x2d}
0x23f…25d Line {l1=0x1c, l2=» NEWBLOCK:=NEWBLOCK+1«, l3=0x1c}
0x25d…269 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x269…293 Line {l1=0x28, l2=» IF NUM>0 THEN NEWBLOCK:=NEWBLOCK-1«, l3=0x28}
0x293…29f Line {l1=0x0a, l2=» ELSE«, l3=0x0a}
0x29f…2ac Line {l1=0x0b, l2=» BEGIN«, l3=0x0b}
0x2ac…2ca Line {l1=0x1c, l2=» NEWBUC:=BUCINZONE+1;«, l3=0x1c}
0x2ca…2db Line {l1=0x0f, l2=» NUM:=0;«, l3=0x0f}
0x2db…309 Line {l1=0x2c, l2=» WHILE (NUM<=0) AND (NEWBUC<=NBUC) DO«, l3=0x2c}
0x309…318 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x318…347 Line {l1=0x2d, l2=» NUM:=Z(BUT+(NEWBUC-1)*ENTRYSIZE+1);«, l3=0x2d}
0x347…363 Line {l1=0x1a, l2=» NEWBUC:=NEWBUC+1«, l3=0x1a}
0x363…371 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x371…399 Line {l1=0x26, l2=» IF NUM>0 THEN NEWBUC:=NEWBUC-1«, l3=0x26}
0x399…3a7 Line {l1=0x0c, l2=» ELSE«, l3=0x0c}
0x3a7…3b6 Line {l1=0x0d, l2=» BEGIN«, l3=0x0d}
0x3b6…3eb Line {l1=0x33, l2=» IF RECINUSE<=1 THEN IER:=-9 ELSE IER:=-2;«, l3=0x33}
0x3eb…401 Line {l1=0x14, l2=» NEWBUC:=1;«, l3=0x14}
0x401…413 Line {l1=0x10, l2=» REPEAT«, l3=0x10}
0x413…444 Line {l1=0x2f, l2=» NUM:=Z(BUT+(NEWBUC-1)*ENTRYSIZE+1);«, l3=0x2f}
0x444…462 Line {l1=0x1c, l2=» NEWBUC:=NEWBUC+1«, l3=0x1c}
0x462…492 Line {l1=0x2e, l2=» UNTIL (NUM>0) OR (NEWBUC>BUCINZONE);«, l3=0x2e}
0x492…4bc Line {l1=0x28, l2=» IF NUM>0 THEN NEWBUC:=NEWBUC-1«, l3=0x28}
0x4bc…4cc Line {l1=0x0e, l2=» ELSE«, l3=0x0e}
0x4cc…4f7 Line {l1=0x29, l2=» BEGIN IER:=-103;EXIT(OBEY) END;«, l3=0x29}
0x4f7…505 Line {l1=0x0c, l2=» END;«, l3=0x0c}
0x505…51f Line {l1=0x18, l2=» NUM:=IER;IER:=0;«, l3=0x18}
0x51f…53b Line {l1=0x1a, l2=» READTABLE(NEWBUC);«, l3=0x1a}
0x53b…54e Line {l1=0x11, l2=» IER:=NUM;«, l3=0x11}
0x54e…564 Line {l1=0x14, l2=» NEWBLOCK:=1;«, l3=0x14}
0x564…574 Line {l1=0x0e, l2=» REPEAT«, l3=0x0e}
0x574…5a5 Line {l1=0x2f, l2=» NUM:=Z(BLT+(NEWBLOCK-1)*ENTRYSIZE+1);«, l3=0x2f}
0x5a5…5c5 Line {l1=0x1e, l2=» NEWBLOCK:=NEWBLOCK+1«, l3=0x1e}
0x5c5…5f4 Line {l1=0x2d, l2=» UNTIL (NUM>0) OR (NEWBLOCK>BLKPRBUC);«, l3=0x2d}
0x5f4…620 Line {l1=0x2a, l2=» IF NUM>0 THEN NEWBLOCK:=NEWBLOCK-1«, l3=0x2a}
0x620…62e Line {l1=0x0c, l2=» ELSE«, l3=0x0c}
0x62e…657 Line {l1=0x27, l2=» BEGIN IER:=-104;EXIT(OBEY) END;«, l3=0x27}
0x657…663 Line {l1=0x0a, l2=» END;«, l3=0x0a}
0x663…67b Line {l1=0x16, l2=» NUM:=IER;IER:=0;«, l3=0x16}
0x67b…699 Line {l1=0x1c, l2=» READBLOCK(NEWBLOCK,1);«, l3=0x1c}
0x699…6aa Line {l1=0x0f, l2=» IER:=NUM;«, l3=0x0f}
0x6aa…6bd Line {l1=0x11, l2=» BLKENTRY:=1«, l3=0x11}
0x6bd…6c6 Line {l1=0x07, l2=» END«, l3=0x07}
0x6c6…6d0 Line {l1=0x08, l2=» ELSE«, l3=0x08}
0x6d0…6f1 Line {l1=0x1f, l2=» BLKENTRY:=BLKENTRY+1+IER;«, l3=0x1f}
0x6f1…718 Line {l1=0x25, l2=» NEWBUC:=BLK+(BLKENTRY-1)*RECSIZE;«, l3=0x25}
0x718…744 Line {l1=0x2a, l2=» MOVELEFT(Z(NEWBUC),REC^(1),2*RECSIZE) «, l3=0x2a}
0x744…77d Line {l1=0x37, l2=»(* FOR NUM:=1 TO RECSIZE DO REC^(NUM):=Z(NEWBUC+NUM)*)«, l3=0x37}
0x77d…784 Line {l1=0x05, l2=» END«, l3=0x05}
0x784…7a2 Line {l1=0x1c, l2=» ELSE IER:=-12 ELSE IER:=-3«, l3=0x1c}
0x7a2…7a8 Line {l1=0x04, l2=»END;«, l3=0x04}
0x7a8…7c0 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ cccccccccccccccccccccc┆
0x7c0…7e0 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0x10…]
▶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