|
|
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: »ICLOSE.K«
└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
└─⟦this⟧ »ICLOSE.K«
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
└─⟦this⟧ »ICLOSE.K«
(*$P*)
PROCEDURE ICLOSE(VAR F:ISF);
VAR I:INTEGER;
BEGIN
WITH FILEHEAD(CURRHEAD) DO
IF FILEOPEN THEN
BEGIN
IF NOT FILEINIT AND (RECINUSE>0) THEN
BEGIN
FILEINIT:=TRUE;
INITREC:=RECINUSE
END;
IF BLKCHG THEN
COPSEGS(F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);
IF BLTCHG THEN
COPSEGS(F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);
IF BUTCHG THEN
COPSEGS(F,2,BUTSIZE,BUT,SKRIV);
FILEOPEN:=FALSE;
OUTHEAD(F);
CLOSE(F);
IOC
END
ELSE IER:=-3
END;
0x000…008 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x008…026 Line {l1=0x1c, l2=»PROCEDURE ICLOSE(VAR F:ISF);«, l3=0x1c}
0x026…036 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x036…03d Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x03d…05b Line {l1=0x1c, l2=» WITH FILEHEAD(CURRHEAD) DO«, l3=0x1c}
0x05b…06f Line {l1=0x12, l2=» IF FILEOPEN THEN«, l3=0x12}
0x06f…078 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x078…0a3 Line {l1=0x29, l2=» IF NOT FILEINIT AND (RECINUSE>0) THEN«, l3=0x29}
0x0a3…0ae Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x0ae…0c5 Line {l1=0x15, l2=» FILEINIT:=TRUE;«, l3=0x15}
0x0c5…0de Line {l1=0x17, l2=» INITREC:=RECINUSE«, l3=0x17}
0x0de…0e8 Line {l1=0x08, l2=» END;«, l3=0x08}
0x0e8…0fc Line {l1=0x12, l2=» IF BLKCHG THEN«, l3=0x12}
0x0fc…140 Line {l1=0x42, l2=» COPSEGS(F,Z(BLT+(BLKINZONE-1)*ENTRYSIZE),BLKSIZE,BLK,SKRIV);«, l3=0x42}
0x140…154 Line {l1=0x12, l2=» IF BLTCHG THEN«, l3=0x12}
0x154…198 Line {l1=0x42, l2=» COPSEGS(F,Z(BUT+(BUCINZONE-1)*ENTRYSIZE),BLTSIZE,BLT,SKRIV);«, l3=0x42}
0x198…1ac Line {l1=0x12, l2=» IF BUTCHG THEN«, l3=0x12}
0x1ac…1d3 Line {l1=0x25, l2=» COPSEGS(F,2,BUTSIZE,BUT,SKRIV);«, l3=0x25}
0x1d3…1e9 Line {l1=0x14, l2=» FILEOPEN:=FALSE;«, l3=0x14}
0x1e9…22c Line {l1=0x41, l2=» OUTHEAD(F); «, l3=0x41}
0x22c…23b Line {l1=0x0d, l2=» CLOSE(F);«, l3=0x0d}
0x23b…245 Line {l1=0x08, l2=» IOC «, l3=0x08}
0x245…24c Line {l1=0x05, l2=» END«, l3=0x05}
0x24c…25c Line {l1=0x0e, l2=» ELSE IER:=-3«, l3=0x0e}
0x25c…262 Line {l1=0x04, l2=»END;«, l3=0x04}
0x262…280 00 00 45 4c 53 45 20 49 45 52 3a 3d 2d 33 0e 04 45 4e 44 3b 04 00 00 45 29 21 08 20 20 20 ┆ ELSE IER:=-3 END; E)! ┆
0x280…2a0 20 45 4e 44 3b 08 14 20 20 20 20 46 49 4c 45 4f 50 45 4e 3a 3d 46 41 4c 53 45 3b 14 41 20 20 20 ┆ END; FILEOPEN:=FALSE; A ┆
0x2a0…2c0 20 4f 55 54 48 45 41 44 28 46 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ OUTHEAD(F); ┆
0x2c0…2e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 20 ┆ A ┆
0x2e0…300 20 20 20 20 49 46 20 49 45 52 3c 3e 30 20 54 48 45 4e 20 45 58 49 54 28 49 43 4c 4f 53 45 29 3b ┆ IF IER<>0 THEN EXIT(ICLOSE);┆
0x300…320 20 0d 20 20 20 20 43 4c 4f 53 45 28 46 29 3b 0d 12 20 20 20 20 49 45 52 3a 3d 49 4f 52 45 53 55 ┆ CLOSE(F); IER:=IORESU┆
0x320…340 4c 54 3b 12 20 20 20 20 20 49 46 20 49 45 52 3c 3e 30 20 54 48 45 4e 20 45 58 49 54 28 49 43 4c ┆LT; IF IER<>0 THEN EXIT(ICL┆
0x340…360 4f 53 45 29 3b 20 13 20 20 20 20 46 49 4c 45 4f 50 45 4e 3a 3d 46 41 4c 53 45 13 05 20 20 45 4e ┆OSE); FILEOPEN:=FALSE EN┆
0x360…380 44 05 0e 20 20 45 4c 53 45 20 49 45 52 3a 3d 2d 33 0e 04 45 4e 44 3b 04 00 00 43 50 52 42 55 43 ┆D ELSE IER:=-3 END; CPRBUC┆
0x380…3a0 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 ┆; 2┆
0x3a0…3c0 32 20 20 20 20 46 5e 28 36 29 3a 3d 52 45 43 50 52 42 4c 4b 3b 20 20 20 20 20 20 20 20 20 20 20 ┆2 F^(6):=RECPRBLK; ┆
0x3c0…3e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 37 29 3a 3d ┆ 22 F^(7):=┆
0x3e0…400 4b 45 59 46 4c 44 53 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆KEYFLDS; ┆
0x400…420 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 38 29 3a 3d 46 4c 48 53 49 5a 45 3b 20 20 20 20 ┆ 22 F^(8):=FLHSIZE; ┆
0x420…440 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 ┆ 22 ┆
0x440…460 20 46 5e 28 39 29 3a 3d 42 55 54 53 49 5a 45 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ F^(9):=BUTSIZE; ┆
0x460…480 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 31 30 29 3a 3d 42 4c 54 ┆ 22 F^(10):=BLT┆
0x480…4a0 53 49 5a 45 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆SIZE; ┆
0x4a0…4c0 20 20 20 32 32 20 20 20 20 46 5e 28 31 31 29 3a 3d 42 4c 4b 53 49 5a 45 3b 20 20 20 20 20 20 20 ┆ 22 F^(11):=BLKSIZE; ┆
0x4c0…4e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 ┆ 22 F^(┆
0x4e0…500 31 32 29 3a 3d 52 45 43 53 49 5a 45 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆12):=RECSIZE; ┆
0x500…520 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 31 33 29 3a 3d 4b 45 59 53 49 5a 45 ┆ 22 F^(13):=KEYSIZE┆
0x520…540 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 ┆; 2┆
0x540…560 32 20 20 20 20 46 5e 28 31 34 29 3a 3d 53 45 47 49 4e 46 4c 48 3b 20 20 20 20 20 20 20 20 20 20 ┆2 F^(14):=SEGINFLH; ┆
0x560…580 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 31 35 29 3a ┆ 22 F^(15):┆
0x580…5a0 3d 53 45 47 49 4e 42 55 54 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆=SEGINBUT; ┆
0x5a0…5c0 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 31 36 29 3a 3d 53 45 47 49 4e 42 55 43 3b 20 20 ┆ 22 F^(16):=SEGINBUC; ┆
0x5c0…5e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 ┆ 22 ┆
0x5e0…600 20 46 5e 28 31 37 29 3a 3d 53 45 47 49 4e 42 4c 54 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ F^(17):=SEGINBLT; ┆
0x600…620 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 31 38 29 3a 3d 53 45 47 ┆ 22 F^(18):=SEG┆
0x620…640 49 4e 42 4c 4b 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆INBLK; ┆
0x640…660 20 20 20 32 32 20 20 20 20 46 5e 28 31 39 29 3a 3d 49 4e 49 54 52 45 43 3b 20 20 20 20 20 20 20 ┆ 22 F^(19):=INITREC; ┆
0x660…680 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 ┆ 22 F^(┆
0x680…6a0 32 30 29 3a 3d 42 55 43 49 4e 55 53 45 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆20):=BUCINUSE; ┆
0x6a0…6c0 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 46 5e 28 32 31 29 3a 3d 42 4c 4b 49 4e 55 53 ┆ 22 F^(21):=BLKINUS┆
0x6c0…6e0 45 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 ┆E; 2┆
0x6e0…700 32 20 20 20 20 46 5e 28 32 32 29 3a 3d 52 45 43 49 4e 55 53 45 3b 20 20 20 20 20 20 20 20 20 20 ┆2 F^(22):=RECINUSE; ┆
0x700…720 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 32 32 20 20 20 20 49 46 20 46 49 4c 45 ┆ 22 IF FILE┆
0x720…740 49 4e 49 54 20 54 48 45 4e 20 46 5e 28 32 33 29 3a 3d 31 20 45 4c 53 45 20 46 5e 28 32 33 29 3a ┆INIT THEN F^(23):=1 ELSE F^(23):┆
0x740…760 3d 30 3b 20 20 20 20 32 41 20 20 20 20 49 46 20 46 49 4c 45 4f 50 45 4e 20 54 48 45 4e 20 46 5e ┆=0; 2A IF FILEOPEN THEN F^┆
0x760…780 28 32 34 29 3a 3d 31 20 45 4c 53 45 20 46 5e 28 32 34 29 3a 3d 30 3b 20 20 20 20 20 20 20 20 20 ┆(24):=1 ELSE F^(24):=0; ┆
0x780…7a0 20 20 20 20 20 20 20 20 20 20 41 41 20 20 20 20 46 4f 52 20 49 3a 3d 31 20 54 4f 20 39 20 44 4f ┆ AA FOR I:=1 TO 9 DO┆
0x7a0…7c0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆
0x7c0…7e0 20 20 20 20 20 20 20 20 20 20 20 20 20 41 41 20 20 20 20 42 45 47 49 4e 20 20 20 20 20 20 20 20 ┆ AA BEGIN ┆
0x7e0…800 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆
0x800…820 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 41 20 20 20 20 20 20 46 5e 28 32 32 2b 49 2a ┆ AA F^(22+I*┆
0x820…840 33 29 3a 3d 4b 45 59 50 4f 53 28 49 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆3):=KEYPOS(I); ┆
0x840…860 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 41 20 20 20 20 20 20 46 5e 28 32 33 ┆ AA F^(23┆
0x860…880 2b 49 2a 33 29 3a 3d 4b 45 59 4c 4e 47 28 49 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆+I*3):=KEYLNG(I); ┆
0x880…8a0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 41 20 20 20 20 20 20 46 5e ┆ AA F^┆
0x8a0…8c0 28 32 34 2b 49 2a 33 29 3a 3d 4b 45 59 53 47 4e 28 49 29 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆(24+I*3):=KEYSGN(I) ┆
0x8c0…8e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 41 20 20 20 20 45 ┆ AA E┆
0x8e0…900 4e 44 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ND; ┆
0x900…920 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 41 20 20 ┆ AA ┆
0x920…940 20 20 53 45 45 4b 28 46 2c 31 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ SEEK(F,1); ┆
0x940…960 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 41 ┆ A┆
0x960…980 41 20 20 20 20 49 46 20 49 4f 52 45 53 55 4c 54 3c 3e 30 20 54 48 45 4e 20 42 45 47 49 4e 20 49 ┆A IF IORESULT<>0 THEN BEGIN I┆
0x980…9a0 45 52 3a 3d 49 4f 52 45 53 55 4c 54 3b 45 58 49 54 28 49 43 4c 4f 53 45 29 20 45 4e 44 3b 20 20 ┆ER:=IORESULT;EXIT(ICLOSE) END; ┆
0x9a0…9c0 20 20 41 41 20 20 20 20 50 55 54 28 46 29 3b 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ AA PUT(F); ┆
0x9c0…9e0 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 ┆ ┆
0x9e0…a00 20 20 20 20 20 41 41 20 20 20 20 49 46 20 49 4f 52 45 53 55 4c 54 3c 3e 30 20 54 48 45 4e 20 42 ┆ AA IF IORESULT<>0 THEN B┆
0xa00…a20 45 47 49 4e 20 49 45 52 3a 3d 49 4f 52 45 53 55 4c 54 3b 45 58 49 54 28 49 43 4c 4f 53 45 29 20 ┆EGIN IER:=IORESULT;EXIT(ICLOSE) ┆
0xa20…a40 45 4e 44 3b 20 20 20 20 41 0d 20 20 20 20 43 4c 4f 53 45 28 46 29 3b 0d 3d 20 20 20 20 49 46 20 ┆END; A CLOSE(F); = IF ┆
0xa40…a60 49 4f 52 45 53 55 4c 54 3c 3e 30 20 54 48 45 4e 20 42 45 47 49 4e 20 49 45 52 3a 3d 49 4f 52 45 ┆IORESULT<>0 THEN BEGIN IER:=IORE┆
0xa60…a80 53 55 4c 54 3b 45 58 49 54 28 49 43 4c 4f 53 45 29 20 45 4e 44 3b 3d 13 20 20 20 20 46 49 4c 45 ┆SULT;EXIT(ICLOSE) END;= FILE┆
0xa80…aa0 4f 50 45 4e 3a 3d 46 41 4c 53 45 13 05 20 20 45 4e 44 05 0e 20 20 45 4c 53 45 20 49 45 52 3a 3d ┆OPEN:=FALSE END ELSE IER:=┆
0xaa0…ac0 2d 33 0e 04 45 4e 44 3b 04 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆-3 END; ccccccccccccccccccccc┆
0xac0…ae0 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┆
[…0x1e…]