|
|
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: 2496 (0x9c0)
Types: TextFile
Notes: Mikados_K
Names: »READPROC.K«
└─⟦a3d38fea3⟧ Bits:30008985 PRODUKTION NBT.
└─⟦this⟧ »READPROC.K«
PROCEDURE READTABLE;(*VAR ZO:ISFHEAD;VAR F:ISF;BUTENTRY:INTEGER*)
BEGIN
IER:=0;
WITH ZO DO
IF BUTENTRY<>BUCINZONE THEN
BEGIN
IF BLKCHG THEN
BEGIN
IF UPSTAT=SKRIV THEN
COPSEGS(Z,F,Z((BLKINZONE-1)*ENTRYSIZE+BLT),BLKSIZE,BLK,SKRIV);
IF IER<>0 THEN EXIT(READTABLE)
END;
IF BLTCHG THEN
BEGIN
IF UPSTAT=SKRIV THEN
COPSEGS(Z,F,Z((BUCINZONE-1)*ENTRYSIZE+BUT),BLTSIZE,BLT,SKRIV);
IF IER<>0 THEN EXIT(READTABLE)
END;
BLKCHG:=FALSE;
BLTCHG:=FALSE;
COPSEGS(Z,F,Z((BUTENTRY-1)*ENTRYSIZE+BUT),BLTSIZE,BLT,LÆS);
IF IER<>0 THEN EXIT(READTABLE);
BUCINZONE:=BUTENTRY;
BLKINZONE:=0
END
END;
PROCEDURE READBLOCK;(*VAR ZO:ISFHEAD;VAR F:ISF;BLTENTRY,STARTPOST:INTEGER*)
BEGIN
IER:=0;
WITH ZO DO
IF BLTENTRY<>BLKINZONE THEN
BEGIN
IF BLKCHG THEN
BEGIN
IF UPSTAT=SKRIV THEN
COPSEGS(Z,F,Z((BLKINZONE-1)*ENTRYSIZE+BLT),BLKSIZE,BLK,SKRIV);
BLKCHG:=FALSE;
IF IER<>0 THEN EXIT(READBLOCK)
END;
COPSEGS(Z,F,Z((BLTENTRY-1)*ENTRYSIZE+BLT),BLKSIZE,BLK+(STARTPOST-1)*
RECSIZE,LÆS);
IF IER<>0 THEN EXIT(READBLOCK);
BLKINZONE:=BLTENTRY
END
END;