|
|
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: 7584 (0x1da0)
Types: TextFile
Notes: Mikados_K
Names: »IOPE1.K«
└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
└─⟦this⟧ »IOPE1.K«
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
└─⟦this⟧ »IOPE1.K«
PROCEDURE OUTHEAD;
VAR I:INTEGER;
BEGIN
WITH FILEHEAD DO
BEGIN
F^(1):=NBUC;
F^(2):=NBLK;
F^(3):=NREC;
F^(4):=BLKPRBUC;
F^(5):=RECPRBUC;
F^(6):=RECPRBLK;
F^(7):=KEYFLDS;
F^(8):=AZSIZE;
F^(9):=BUTSIZE;
F^(10):=BLTSIZE;
F^(11):=BLKSIZE;
F^(12):=RECSIZE;
F^(13):=KEYSIZE;
F^(14):=SEGINFLH;
F^(15):=SEGINBUT;
F^(16):=SEGINBUC;
F^(17):=SEGINBLT;
F^(18):=SEGINBLK;
F^(19):=INITREC;
F^(20):=BUCINUSE;
F^(21):=BLKINUSE;
F^(22):=RECINUSE;
IF FILEINIT THEN F^(23):=1 ELSE F^(23):=0;
IF FILEOPEN THEN F^(24):=1 ELSE F^(24):=0;
FOR I:=1 TO 9 DO
BEGIN
F^(22+I*3):=KEYPOS(I);
F^(23+I*3):=KEYLNG(I);
F^(24+I*3):=KEYSGN(I)
END;
SEEK(F,1);
IOC;
PUT(F);
IOC
END
END;
(*$P*)
PROCEDURE IOPEN;
(*F ER ÅBNET FØR KALD; MED REWRITE*)
VAR I,J,NUM,BUC,K,BLKNUM:INTEGER;
BEGIN
WITH FILEHEAD DO
BEGIN
SEEK(F,1);
IOC;
GET(F);
IOC;
NBUC := F^(1);
NBLK := F^(2);
NREC := F^(3);
BLKPRBUC := F^(4);
RECPRBUC := F^(5);
RECPRBLK := F^(6);
KEYFLDS := F^(7);
BUTSIZE := F^(9);
BLTSIZE := F^(10);
BLKSIZE := F^(11);
RECSIZE := F^(12);
KEYSIZE := F^(13);
SEGINFLH := F^(14);
SEGINBUT := F^(15);
SEGINBUC := F^(16);
SEGINBLT := F^(17);
SEGINBLK := F^(18);
INITREC := F^(19);
BUCINUSE := F^(20);
BLKINUSE := F^(21);
RECINUSE := F^(22);
FILEINIT := F^(23)=1;
FILEOPEN := F^(24)=1;
FOR I:=1 TO 9 DO
BEGIN
KEYPOS(I):= F^(22+I*3);
KEYLNG(I):= F^(23+I*3);
KEYSGN(I):= F^(24+I*3)
END;
BUTCHG:=FALSE;
BLTCHG:=FALSE;
BLKCHG:=FALSE;
BUCINZONE:=0;
BLKINZONE:=0;
BLKENTRY:=0;
BUT:=HELPBLT+1;
BLT:=BUT+BUTSIZE;
BLK:=BLT+BLTSIZE;
KEY1:=BLK+BLKSIZE+RECSIZE;
KEY2:=BLK+BLKSIZE;
ENTRYSIZE:=KEYSIZE+2;
IF Z(BUT)<>BUTSIZE+BLTSIZE+BLKSIZE+RECSIZE+KEYSIZE (*ZONESTØRRELSE*)
THEN
BEGIN
IER:=-4;
EXIT(IOPEN)
(*FILEN ER IKKE ISF*)
END;
IF RECSIZE>MAXRECSIZE THEN BEGIN IER:=-17;EXIT(IOPEN) END;
IF BLTSIZE>HELPBLT THEN BEGIN IER:=-35;EXIT(IOPEN) END;
IF FILEINIT THEN COPSEGS(2,BUTSIZE,BUT,LÆS);
IF FILEOPEN THEN
BEGIN
IF NOT FILEINIT THEN
BEGIN
IER:=-19;
INITREC:=0;
BUCINUSE:=0;
BLKINUSE:=0;
RECINUSE:=0
END
ELSE
BEGIN
BUCINUSE:=0;
BLKINUSE:=0;
RECINUSE:=0;
FOR I:=1 TO NBUC DO
BEGIN
BUC:=BUT+(I-1)*ENTRYSIZE+1;
COPSEGS(Z(BUC-1),BLTSIZE,BLT,LÆS);
NUM:=0;
FOR J:=1 TO BLKPRBUC DO
BEGIN
BLKNUM:=BLT+1+(J-1)*ENTRYSIZE;
IF Z(BLKNUM)>0 THEN
BEGIN
NUM:=NUM+Z(BLKNUM);
BLKINUSE:=BLKINUSE+1;
K:=BLKNUM
END
END;
IF NUM>0 THEN
BEGIN
RECINUSE:=RECINUSE+NUM;
BUCINUSE:=BUCINUSE+1;
FOR J:=1 TO KEYSIZE DO Z(BUC+J):=Z(K+J)
END;
BUTCHG:=TRUE;
Z(BUC):=NUM
END; (*FOR I*)
IER:=-18;
BUCINZONE:=NBUC
END
END; (*FILEOPEN*)
FILEOPEN:=TRUE;
I:=IER;
OUTHEAD;
IER:=I
END
END (*IOPEN*);
0x0000…0014 Line {l1=0x12, l2=»PROCEDURE OUTHEAD;«, l3=0x12}
0x0014…0028 Line {l1=0x12, l2=»VAR I:INTEGER;«, l3=0x12}
0x0028…002f Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x002f…0043 Line {l1=0x12, l2=» WITH FILEHEAD DO«, l3=0x12}
0x0043…004c Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x004c…0081 Line {l1=0x33, l2=» F^(1):=NBUC; «, l3=0x33}
0x0081…00b6 Line {l1=0x33, l2=» F^(2):=NBLK; «, l3=0x33}
0x00b6…00eb Line {l1=0x33, l2=» F^(3):=NREC; «, l3=0x33}
0x00eb…0120 Line {l1=0x33, l2=» F^(4):=BLKPRBUC; «, l3=0x33}
0x0120…0155 Line {l1=0x33, l2=» F^(5):=RECPRBUC; «, l3=0x33}
0x0155…018a Line {l1=0x33, l2=» F^(6):=RECPRBLK; «, l3=0x33}
0x018a…01bf Line {l1=0x33, l2=» F^(7):=KEYFLDS; «, l3=0x33}
0x01bf…01f3 Line {l1=0x32, l2=» F^(8):=AZSIZE; «, l3=0x32}
0x01f3…0228 Line {l1=0x33, l2=» F^(9):=BUTSIZE; «, l3=0x33}
0x0228…025d Line {l1=0x33, l2=» F^(10):=BLTSIZE; «, l3=0x33}
0x025d…0292 Line {l1=0x33, l2=» F^(11):=BLKSIZE; «, l3=0x33}
0x0292…02c7 Line {l1=0x33, l2=» F^(12):=RECSIZE; «, l3=0x33}
0x02c7…02fc Line {l1=0x33, l2=» F^(13):=KEYSIZE; «, l3=0x33}
0x02fc…0331 Line {l1=0x33, l2=» F^(14):=SEGINFLH; «, l3=0x33}
0x0331…0366 Line {l1=0x33, l2=» F^(15):=SEGINBUT; «, l3=0x33}
0x0366…039b Line {l1=0x33, l2=» F^(16):=SEGINBUC; «, l3=0x33}
0x039b…03d0 Line {l1=0x33, l2=» F^(17):=SEGINBLT; «, l3=0x33}
0x03d0…0405 Line {l1=0x33, l2=» F^(18):=SEGINBLK; «, l3=0x33}
0x0405…043a Line {l1=0x33, l2=» F^(19):=INITREC; «, l3=0x33}
0x043a…046f Line {l1=0x33, l2=» F^(20):=BUCINUSE; «, l3=0x33}
0x046f…04a4 Line {l1=0x33, l2=» F^(21):=BLKINUSE; «, l3=0x33}
0x04a4…04d9 Line {l1=0x33, l2=» F^(22):=RECINUSE; «, l3=0x33}
0x04d9…050e Line {l1=0x33, l2=» IF FILEINIT THEN F^(23):=1 ELSE F^(23):=0; «, l3=0x33}
0x050e…0541 Line {l1=0x31, l2=» IF FILEOPEN THEN F^(24):=1 ELSE F^(24):=0; «, l3=0x31}
0x0541…0574 Line {l1=0x31, l2=» FOR I:=1 TO 9 DO «, l3=0x31}
0x0574…05a7 Line {l1=0x31, l2=» BEGIN «, l3=0x31}
0x05a7…05da Line {l1=0x31, l2=» F^(22+I*3):=KEYPOS(I); «, l3=0x31}
0x05da…060d Line {l1=0x31, l2=» F^(23+I*3):=KEYLNG(I); «, l3=0x31}
0x060d…0640 Line {l1=0x31, l2=» F^(24+I*3):=KEYSGN(I) «, l3=0x31}
0x0640…0673 Line {l1=0x31, l2=» END; «, l3=0x31}
0x0673…06a6 Line {l1=0x31, l2=» SEEK(F,1); «, l3=0x31}
0x06a6…06b0 Line {l1=0x08, l2=» IOC;«, l3=0x08}
0x06b0…06e3 Line {l1=0x31, l2=» PUT(F); «, l3=0x31}
0x06e3…06ec Line {l1=0x07, l2=» IOC«, l3=0x07}
0x06ec…071f Line {l1=0x31, l2=» END «, l3=0x31}
0x071f…0725 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0725…072d Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x072d…073f Line {l1=0x10, l2=»PROCEDURE IOPEN;«, l3=0x10}
0x073f…076c Line {l1=0x2b, l2=» (*F ER ÅBNET FØR KALD; MED REWRITE*)«, l3=0x2b}
0x076c…078f Line {l1=0x21, l2=»VAR I,J,NUM,BUC,K,BLKNUM:INTEGER;«, l3=0x21}
0x078f…0796 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0796…07aa Line {l1=0x12, l2=» WITH FILEHEAD DO«, l3=0x12}
0x07aa…07b3 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x07b3…07c3 Line {l1=0x0e, l2=» SEEK(F,1);«, l3=0x0e}
0x07c3…07cd Line {l1=0x08, l2=» IOC;«, l3=0x08}
0x07cd…07da Line {l1=0x0b, l2=» GET(F);«, l3=0x0b}
0x07da…07e4 Line {l1=0x08, l2=» IOC;«, l3=0x08}
0x07e4…07fe Line {l1=0x18, l2=» NBUC := F^(1);«, l3=0x18}
0x07fe…0818 Line {l1=0x18, l2=» NBLK := F^(2);«, l3=0x18}
0x0818…0832 Line {l1=0x18, l2=» NREC := F^(3);«, l3=0x18}
0x0832…084c Line {l1=0x18, l2=» BLKPRBUC := F^(4);«, l3=0x18}
0x084c…0866 Line {l1=0x18, l2=» RECPRBUC := F^(5);«, l3=0x18}
0x0866…0880 Line {l1=0x18, l2=» RECPRBLK := F^(6);«, l3=0x18}
0x0880…089a Line {l1=0x18, l2=» KEYFLDS := F^(7);«, l3=0x18}
0x089a…08b4 Line {l1=0x18, l2=» BUTSIZE := F^(9);«, l3=0x18}
0x08b4…08cf Line {l1=0x19, l2=» BLTSIZE := F^(10);«, l3=0x19}
0x08cf…08ea Line {l1=0x19, l2=» BLKSIZE := F^(11);«, l3=0x19}
0x08ea…0905 Line {l1=0x19, l2=» RECSIZE := F^(12);«, l3=0x19}
0x0905…0920 Line {l1=0x19, l2=» KEYSIZE := F^(13);«, l3=0x19}
0x0920…093b Line {l1=0x19, l2=» SEGINFLH := F^(14);«, l3=0x19}
0x093b…0956 Line {l1=0x19, l2=» SEGINBUT := F^(15);«, l3=0x19}
0x0956…0971 Line {l1=0x19, l2=» SEGINBUC := F^(16);«, l3=0x19}
0x0971…098c Line {l1=0x19, l2=» SEGINBLT := F^(17);«, l3=0x19}
0x098c…09a7 Line {l1=0x19, l2=» SEGINBLK := F^(18);«, l3=0x19}
0x09a7…09c2 Line {l1=0x19, l2=» INITREC := F^(19);«, l3=0x19}
0x09c2…09dd Line {l1=0x19, l2=» BUCINUSE := F^(20);«, l3=0x19}
0x09dd…09f8 Line {l1=0x19, l2=» BLKINUSE := F^(21);«, l3=0x19}
0x09f8…0a13 Line {l1=0x19, l2=» RECINUSE := F^(22);«, l3=0x19}
0x0a13…0a30 Line {l1=0x1b, l2=» FILEINIT := F^(23)=1;«, l3=0x1b}
0x0a30…0a4d Line {l1=0x1b, l2=» FILEOPEN := F^(24)=1;«, l3=0x1b}
0x0a4d…0a63 Line {l1=0x14, l2=» FOR I:=1 TO 9 DO«, l3=0x14}
0x0a63…0a6e Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0a6e…0a8e Line {l1=0x1e, l2=» KEYPOS(I):= F^(22+I*3);«, l3=0x1e}
0x0a8e…0aae Line {l1=0x1e, l2=» KEYLNG(I):= F^(23+I*3);«, l3=0x1e}
0x0aae…0acd Line {l1=0x1d, l2=» KEYSGN(I):= F^(24+I*3)«, l3=0x1d}
0x0acd…0ad7 Line {l1=0x08, l2=» END;«, l3=0x08}
0x0ad7…0aeb Line {l1=0x12, l2=» BUTCHG:=FALSE;«, l3=0x12}
0x0aeb…0aff Line {l1=0x12, l2=» BLTCHG:=FALSE;«, l3=0x12}
0x0aff…0b13 Line {l1=0x12, l2=» BLKCHG:=FALSE;«, l3=0x12}
0x0b13…0b26 Line {l1=0x11, l2=» BUCINZONE:=0;«, l3=0x11}
0x0b26…0b39 Line {l1=0x11, l2=» BLKINZONE:=0;«, l3=0x11}
0x0b39…0b4b Line {l1=0x10, l2=» BLKENTRY:=0;«, l3=0x10}
0x0b4b…0b75 Line {l1=0x28, l2=» BUT:=HELPBLT+1; «, l3=0x28}
0x0b75…0b8c Line {l1=0x15, l2=» BLT:=BUT+BUTSIZE;«, l3=0x15}
0x0b8c…0ba3 Line {l1=0x15, l2=» BLK:=BLT+BLTSIZE;«, l3=0x15}
0x0ba3…0bc3 Line {l1=0x1e, l2=» KEY1:=BLK+BLKSIZE+RECSIZE;«, l3=0x1e}
0x0bc3…0bdb Line {l1=0x16, l2=» KEY2:=BLK+BLKSIZE;«, l3=0x16}
0x0bdb…0bf6 Line {l1=0x19, l2=» ENTRYSIZE:=KEYSIZE+2;«, l3=0x19}
0x0bf6…0c41 Line {l1=0x49, l2=» IF Z(BUT)<>BUTSIZE+BLTSIZE+BLKSIZE+RECSIZE+KEYSIZE (*ZONESTØRRELSE*)«, l3=0x49}
0x0c41…0c4b Line {l1=0x08, l2=» THEN«, l3=0x08}
0x0c4b…0c56 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0c56…0c66 Line {l1=0x0e, l2=» IER:=-4;«, l3=0x0e}
0x0c66…0c79 Line {l1=0x11, l2=» EXIT(IOPEN)«, l3=0x11}
0x0c79…0c96 Line {l1=0x1b, l2=» (*FILEN ER IKKE ISF*)«, l3=0x1b}
0x0c96…0ca0 Line {l1=0x08, l2=» END;«, l3=0x08}
0x0ca0…0ce0 Line {l1=0x3e, l2=» IF RECSIZE>MAXRECSIZE THEN BEGIN IER:=-17;EXIT(IOPEN) END;«, l3=0x3e}
0x0ce0…0d1d Line {l1=0x3b, l2=» IF BLTSIZE>HELPBLT THEN BEGIN IER:=-35;EXIT(IOPEN) END;«, l3=0x3b}
0x0d1d…0d4f Line {l1=0x30, l2=» IF FILEINIT THEN COPSEGS(2,BUTSIZE,BUT,LÆS);«, l3=0x30}
0x0d4f…0d65 Line {l1=0x14, l2=» IF FILEOPEN THEN«, l3=0x14}
0x0d65…0d70 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0d70…0da3 Line {l1=0x31, l2=» IF NOT FILEINIT THEN «, l3=0x31}
0x0da3…0dd6 Line {l1=0x31, l2=» BEGIN «, l3=0x31}
0x0dd6…0e09 Line {l1=0x31, l2=» IER:=-19; «, l3=0x31}
0x0e09…0e3c Line {l1=0x31, l2=» INITREC:=0; «, l3=0x31}
0x0e3c…0e6f Line {l1=0x31, l2=» BUCINUSE:=0; «, l3=0x31}
0x0e6f…0ea2 Line {l1=0x31, l2=» BLKINUSE:=0; «, l3=0x31}
0x0ea2…0ed5 Line {l1=0x31, l2=» RECINUSE:=0 «, l3=0x31}
0x0ed5…0f08 Line {l1=0x31, l2=» END «, l3=0x31}
0x0f08…0f3b Line {l1=0x31, l2=» ELSE «, l3=0x31}
0x0f3b…0f6e Line {l1=0x31, l2=» BEGIN «, l3=0x31}
0x0f6e…0fa1 Line {l1=0x31, l2=» BUCINUSE:=0; «, l3=0x31}
0x0fa1…0fd4 Line {l1=0x31, l2=» BLKINUSE:=0; «, l3=0x31}
0x0fd4…1007 Line {l1=0x31, l2=» RECINUSE:=0; «, l3=0x31}
0x1007…103a Line {l1=0x31, l2=» FOR I:=1 TO NBUC DO «, l3=0x31}
0x103a…106d Line {l1=0x31, l2=» BEGIN «, l3=0x31}
0x106d…10a0 Line {l1=0x31, l2=» BUC:=BUT+(I-1)*ENTRYSIZE+1; «, l3=0x31}
0x10a0…10cf Line {l1=0x2d, l2=» COPSEGS(Z(BUC-1),BLTSIZE,BLT,LÆS); «, l3=0x2d}
0x10cf…1102 Line {l1=0x31, l2=» NUM:=0; «, l3=0x31}
0x1102…1135 Line {l1=0x31, l2=» FOR J:=1 TO BLKPRBUC DO «, l3=0x31}
0x1135…1168 Line {l1=0x31, l2=» BEGIN «, l3=0x31}
0x1168…1195 Line {l1=0x2b, l2=» BLKNUM:=BLT+1+(J-1)*ENTRYSIZE; «, l3=0x2b}
0x1195…11c2 Line {l1=0x2b, l2=» IF Z(BLKNUM)>0 THEN «, l3=0x2b}
0x11c2…11ef Line {l1=0x2b, l2=» BEGIN «, l3=0x2b}
0x11ef…121c Line {l1=0x2b, l2=» NUM:=NUM+Z(BLKNUM); «, l3=0x2b}
0x121c…1249 Line {l1=0x2b, l2=» BLKINUSE:=BLKINUSE+1; «, l3=0x2b}
0x1249…1276 Line {l1=0x2b, l2=» K:=BLKNUM «, l3=0x2b}
0x1276…12a3 Line {l1=0x2b, l2=» END «, l3=0x2b}
0x12a3…12d0 Line {l1=0x2b, l2=» END; «, l3=0x2b}
0x12d0…12fd Line {l1=0x2b, l2=» IF NUM>0 THEN «, l3=0x2b}
0x12fd…132a Line {l1=0x2b, l2=» BEGIN «, l3=0x2b}
0x132a…1357 Line {l1=0x2b, l2=» RECINUSE:=RECINUSE+NUM; «, l3=0x2b}
0x1357…1384 Line {l1=0x2b, l2=» BUCINUSE:=BUCINUSE+1; «, l3=0x2b}
0x1384…13c1 Line {l1=0x3b, l2=» FOR J:=1 TO KEYSIZE DO Z(BUC+J):=Z(K+J) «, l3=0x3b}
0x13c1…13ee Line {l1=0x2b, l2=» END; «, l3=0x2b}
0x13ee…141b Line {l1=0x2b, l2=» BUTCHG:=TRUE; «, l3=0x2b}
0x141b…1448 Line {l1=0x2b, l2=» Z(BUC):=NUM «, l3=0x2b}
0x1448…1475 Line {l1=0x2b, l2=» END; (*FOR I*) «, l3=0x2b}
0x1475…14a6 Line {l1=0x2f, l2=» IER:=-18; «, l3=0x2f}
0x14a6…14d3 Line {l1=0x2b, l2=» BUCINZONE:=NBUC «, l3=0x2b}
0x14d3…1500 Line {l1=0x2b, l2=» END «, l3=0x2b}
0x1500…152d Line {l1=0x2b, l2=» END; (*FILEOPEN*) «, l3=0x2b}
0x152d…1542 Line {l1=0x13, l2=» FILEOPEN:=TRUE;«, l3=0x13}
0x1542…154f Line {l1=0x0b, l2=» I:=IER;«, l3=0x0b}
0x154f…155d Line {l1=0x0c, l2=» OUTHEAD;«, l3=0x0c}
0x155d…1590 Line {l1=0x31, l2=» IER:=I «, l3=0x31}
0x1590…1597 Line {l1=0x05, l2=» END«, l3=0x05}
0x1597…15a8 Line {l1=0x0f, l2=»END (*IOPEN*);«, l3=0x0f}
0x15a8…15c0 00 00 45 4e 2a 29 3b 0f 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ EN*); cccccccccccccc┆
0x15c0…15e0 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┆
[…0x3e…]