|
|
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: 2208 (0x8a0)
Types: TextFile
Notes: Mikados_K
Names: »ICLOSE1.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »ICLOSE1.K«
PROCEDURE ICLOSE(VAR ZO:ISFHEAD;VAR F:ISF);
VAR I:INTEGER;
BEGIN
IER:=0;
WITH ZO DO
IF FILEOPEN THEN
BEGIN
IF NOT FILEINIT AND (RECINUSE>0) THEN
BEGIN
FILEINIT:=TRUE;
INITREC:=RECINUSE
END;
IF UPSTAT=SKRIV THEN
BEGIN
IF BLKCHG THEN
BEGIN
COPSEGS(Z,F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);
IF IER<>0 THEN EXIT(ICLOSE)
END;
IF BLTCHG THEN
BEGIN
COPSEGS(Z,F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);
IF IER<>0 THEN EXIT(ICLOSE)
END;
IF BUTCHG THEN
BEGIN
COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);
IF IER<>0 THEN EXIT(ICLOSE)
END;
FILEOPEN:=FALSE;
F^(1):=NBUC;
F^(2):=NBLK;
F^(3):=NREC;
F^(4):=BLKPRBUC;
F^(5):=RECPRBUC;
F^(6):=RECPRBLK;
F^(7):=KEYFLDS;
F^(8):=FLHSIZE;
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);
IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;
PUT(F);
IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;
END;
FILEOPEN:=FALSE
END
ELSE IER:=-3
END;
0x000…02d Line {l1=0x2b, l2=»PROCEDURE ICLOSE(VAR ZO:ISFHEAD;VAR F:ISF);«, l3=0x2b}
0x02d…03d Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x03d…044 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x044…04f Line {l1=0x09, l2=» IER:=0;«, l3=0x09}
0x04f…05d Line {l1=0x0c, l2=» WITH ZO DO«, l3=0x0c}
0x05d…071 Line {l1=0x12, l2=» IF FILEOPEN THEN«, l3=0x12}
0x071…07a Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x07a…0a5 Line {l1=0x29, l2=» IF NOT FILEINIT AND (RECINUSE>0) THEN«, l3=0x29}
0x0a5…0b0 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0b0…0c7 Line {l1=0x15, l2=» FILEINIT:=TRUE;«, l3=0x15}
0x0c7…0e0 Line {l1=0x17, l2=» INITREC:=RECINUSE«, l3=0x17}
0x0e0…0ea Line {l1=0x08, l2=» END;«, l3=0x08}
0x0ea…104 Line {l1=0x18, l2=» IF UPSTAT=SKRIV THEN«, l3=0x18}
0x104…10f Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x10f…123 Line {l1=0x12, l2=» IF BLKCHG THEN«, l3=0x12}
0x123…12e Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x12e…175 Line {l1=0x45, l2=» COPSEGS(Z,F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);«, l3=0x45}
0x175…199 Line {l1=0x22, l2=» IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x199…1a3 Line {l1=0x08, l2=» END;«, l3=0x08}
0x1a3…1b7 Line {l1=0x12, l2=» IF BLTCHG THEN«, l3=0x12}
0x1b7…1c2 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x1c2…209 Line {l1=0x45, l2=» COPSEGS(Z,F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);«, l3=0x45}
0x209…22d Line {l1=0x22, l2=» IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x22d…237 Line {l1=0x08, l2=» END;«, l3=0x08}
0x237…24b Line {l1=0x12, l2=» IF BUTCHG THEN«, l3=0x12}
0x24b…256 Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x256…280 Line {l1=0x28, l2=» COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);«, l3=0x28}
0x280…2a4 Line {l1=0x22, l2=» IF IER<>0 THEN EXIT(ICLOSE)«, l3=0x22}
0x2a4…2ae Line {l1=0x08, l2=» END;«, l3=0x08}
0x2ae…2c4 Line {l1=0x14, l2=» FILEOPEN:=FALSE;«, l3=0x14}
0x2c4…2d9 Line {l1=0x13, l2=» F^(1):=NBUC;«, l3=0x13}
0x2d9…2ee Line {l1=0x13, l2=» F^(2):=NBLK;«, l3=0x13}
0x2ee…303 Line {l1=0x13, l2=» F^(3):=NREC;«, l3=0x13}
0x303…31c Line {l1=0x17, l2=» F^(4):=BLKPRBUC;«, l3=0x17}
0x31c…335 Line {l1=0x17, l2=» F^(5):=RECPRBUC;«, l3=0x17}
0x335…34e Line {l1=0x17, l2=» F^(6):=RECPRBLK;«, l3=0x17}
0x34e…366 Line {l1=0x16, l2=» F^(7):=KEYFLDS;«, l3=0x16}
0x366…37e Line {l1=0x16, l2=» F^(8):=FLHSIZE;«, l3=0x16}
0x37e…396 Line {l1=0x16, l2=» F^(9):=BUTSIZE;«, l3=0x16}
0x396…3af Line {l1=0x17, l2=» F^(10):=BLTSIZE;«, l3=0x17}
0x3af…3c8 Line {l1=0x17, l2=» F^(11):=BLKSIZE;«, l3=0x17}
0x3c8…3e1 Line {l1=0x17, l2=» F^(12):=RECSIZE;«, l3=0x17}
0x3e1…3fa Line {l1=0x17, l2=» F^(13):=KEYSIZE;«, l3=0x17}
0x3fa…414 Line {l1=0x18, l2=» F^(14):=SEGINFLH;«, l3=0x18}
0x414…42e Line {l1=0x18, l2=» F^(15):=SEGINBUT;«, l3=0x18}
0x42e…448 Line {l1=0x18, l2=» F^(16):=SEGINBUC;«, l3=0x18}
0x448…462 Line {l1=0x18, l2=» F^(17):=SEGINBLT;«, l3=0x18}
0x462…47c Line {l1=0x18, l2=» F^(18):=SEGINBLK;«, l3=0x18}
0x47c…495 Line {l1=0x17, l2=» F^(19):=INITREC;«, l3=0x17}
0x495…4af Line {l1=0x18, l2=» F^(20):=BUCINUSE;«, l3=0x18}
0x4af…4c9 Line {l1=0x18, l2=» F^(21):=BLKINUSE;«, l3=0x18}
0x4c9…4e3 Line {l1=0x18, l2=» F^(22):=RECINUSE;«, l3=0x18}
0x4e3…516 Line {l1=0x31, l2=» IF FILEINIT THEN F^(23):=1 ELSE F^(23):=0;«, l3=0x31}
0x516…549 Line {l1=0x31, l2=» IF FILEOPEN THEN F^(24):=1 ELSE F^(24):=0;«, l3=0x31}
0x549…562 Line {l1=0x17, l2=» FOR I:=1 TO 9 DO«, l3=0x17}
0x562…570 Line {l1=0x0c, l2=» BEGIN«, l3=0x0c}
0x570…591 Line {l1=0x1f, l2=» F^(22+I*3):=KEYPOS(I);«, l3=0x1f}
0x591…5b2 Line {l1=0x1f, l2=» F^(23+I*3):=KEYLNG(I);«, l3=0x1f}
0x5b2…5d2 Line {l1=0x1e, l2=» F^(24+I*3):=KEYSGN(I)«, l3=0x1e}
0x5d2…5df Line {l1=0x0b, l2=» END;«, l3=0x0b}
0x5df…5f2 Line {l1=0x11, l2=» SEEK(F,1);«, l3=0x11}
0x5f2…634 Line {l1=0x40, l2=» IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x40}
0x634…644 Line {l1=0x0e, l2=» PUT(F);«, l3=0x0e}
0x644…686 Line {l1=0x40, l2=» IF IORESULT<>0 THEN BEGIN IER:=IORESULT;EXIT(ICLOSE) END;«, l3=0x40}
0x686…690 Line {l1=0x08, l2=» END;«, l3=0x08}
0x690…6a5 Line {l1=0x13, l2=» FILEOPEN:=FALSE«, l3=0x13}
0x6a5…6ac Line {l1=0x05, l2=» END«, l3=0x05}
0x6ac…6bc Line {l1=0x0e, l2=» ELSE IER:=-3«, l3=0x0e}
0x6bc…6c2 Line {l1=0x04, l2=»END;«, l3=0x04}
0x6c2…6e0 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
0x6e0…700 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 ┆ ┆
[…0xd…]