DataMuseum.dk

Presents historical artifacts from the history of:

MIKADOS

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about MIKADOS

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦f05faa28b⟧ TextFile

    Length: 2496 (0x9c0)
    Types: TextFile
    Notes: Mikados_K
    Names: »DELETE.K«

Derivation

└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
    └─⟦this⟧ »DELETE.K« 
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
    └─⟦this⟧ »DELETE.K« 

Mikados K File

(*$P*)
PROCEDURE DELETE(VAR F:ISF);                            
VAR J,K:INTEGER;
BEGIN
  IER:=0;
  WITH FILEHEAD(CURRHEAD) DO
  IF FILEOPEN THEN
  IF FILEINIT THEN
  BEGIN
    FINDPOST(F);        
    IF IER=0 THEN
    BEGIN
      IF RECINUSE>1 THEN
      BEGIN
        IF BLKENTRY=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1) THEN
        BEGIN
          IF BLKENTRY=1 THEN
          BEGIN
            IF Z(BUT+(BUCINZONE-1)*ENTRYSIZE+1)=1 THEN BUCINUSE:=BUCINUSE-1
            ELSE
            IF COMPARE(KEY1,BUT+(BUCINZONE-1)*ENTRYSIZE+2)=0 THEN      
            BEGIN                                                      
              K:=BLKINZONE-1;                                          
              WHILE (K>0) AND (Z(BLT+(K-1)*ENTRYSIZE+1)=0) DO K:=K-1;  
              IF K=0 THEN BEGIN IER:=-105;EXIT(UDFØR) END;
              FOR J:=1 TO KEYSIZE DO                                   
                Z(BUT+(BUCINZONE-1)*ENTRYSIZE+1+J):=Z(BLT+(K-1)*ENTRYSIZE+1+J)
            END;                                                       
            BLKINUSE:=BLKINUSE-1
          END
          ELSE
            SÆTKEY(BLKENTRY-1)
        END
        ELSE
          FSKDIBLK(-BLKENTRY);
        Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1):=Z(BLT+(BLKINZONE-1)*ENTRYSIZE+1)-1;
        Z(BUT+(BUCINZONE-1)*ENTRYSIZE+1):=Z(BUT+(BUCINZONE-1)*ENTRYSIZE+1)-1;
        RECINUSE:=RECINUSE-1;
        BLKCHG:=TRUE;BLTCHG:=TRUE;BUTCHG:=TRUE;
        NEXTREC(F);
        IER:=0
      END ELSE IER:=-9
    END ELSE IF IER=-1 THEN IER:=-6
  END ELSE IER:=-12 ELSE IER:=-3
END;

Full view