|
|
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: 1248 (0x4e0)
Types: TextFile
Notes: Mikados_K
Names: »INITIATE.K«
└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
└─⟦this⟧ »INITIATE.K«
PROCEDURE INITIATE(VAR ZO:ISFHEAD;VAR F:ISF;IREC:INTEGER);
VAR I,BUCADR,BLKADR,J:INTEGER;
BEGIN
WITH ZO DO
IF FILEOPEN THEN
BEGIN
IER:=0;
IF FILEINIT THEN IER:=-13;
IF RECINUSE>0 THEN IER:=-13;
IF IREC<1 THEN IER:=-5;
IF IREC>NREC THEN IER:=-5;
IF IER<>0 THEN EXIT(INITIATE);
FOR I:=1 TO NBUC DO
BEGIN
BUCADR:=2+SEGINBUT+SEGINBUC*(I-1);
Z(BUT+(I-1)*ENTRYSIZE):=BUCADR;
Z(BUT+(I-1)*ENTRYSIZE+1):=0;
FOR J:=1 TO BLKPRBUC DO
BEGIN
BLKADR:=BUCADR+SEGINBLT+SEGINBLK*(J-1);
Z(BLT+(J-1)*ENTRYSIZE):=BLKADR;
Z(BLT+(J-1)*ENTRYSIZE+1):=0;
(* COPSEGS(Z,F,BLKADR,BLKSIZE,BLK,SKRIV); UNØDVENDIG *)
END;
IF UPSTAT=SKRIV THEN
COPSEGS(Z,F,BUCADR,BLTSIZE,BLT,SKRIV);
IF IER <>0 THEN EXIT(INITIATE)
END;
IF UPSTAT=SKRIV THEN
COPSEGS(Z,F,2,BUTSIZE,BUT,SKRIV);
IF IER <>0 THEN EXIT(INITIATE);
INITREC:=IREC;
IRPRBUC:=(IREC-1)DIV NBUC +1;
IRPRBLK:=(IRPRBUC-1) DIV BLKPRBUC +1
END
ELSE
IER:=-3
END;