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

⟦0f0ca5b54⟧ TextFile

    Length: 2976 (0xba0)
    Types: TextFile
    Notes: Mikados_K
    Names: »LUKOP.K«

Derivation

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

Mikados K File

(*$P*)
PROCEDURE LUKOP(VAR F:ISF);
TYPE
NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);
FILDESC=RECORD
  FILNAVN,DESCNAVN,POSTNAVN,REGNAVN:STRING(18);
  VEDLNIVEAU:NIVEAU;
  ZONESIZE:INTEGER;
END;
FILEDESC=FILE OF FILDESC;
VAR          
ISFFILES:FILEDESC;
FNAVN   :STRING(18);
PREDZONE,SUCCZONE,SIZE,REST,
I       :INTEGER;
BEGIN
  FNAVN:='ISFFILES:P2:0000:S';
  RESET(ISFFILES,FNAVN);IOC;
  SEEK(ISFFILES,CURRFILE);IOC;
  GET(ISFFILES);IOC;
  FNAVN:=ISFFILES^.FILNAVN;
  PREDZONE:=0;                                           
  CURRZONE:=0;                                           
  I:=AVAILZONE;                                          
  WHILE I<MZONESIZE DO                                   
  IF Z(I+1)>=ISFFILES^.ZONESIZE THEN                     
  BEGIN                                                  
    CURRZONE:=I;                                         
    SIZE:=Z(I+1);                                        
    SUCCZONE:=Z(I);
    REST:=SIZE-ISFFILES^.ZONESIZE;                       
    Z(I):=ISFFILES^.ZONESIZE;                            
    IF REST>1 THEN                                       
    BEGIN                                                
      Z(I+1):=Z(I);                                      
      I:=I+Z(I);                                         
      IF I<MZONESIZE THEN                                
      BEGIN                                              
        Z(I):=SUCCZONE;                                  
        Z(I+1):=REST                                     
      END                                                
    END                                                  
    ELSE I:=SUCCZONE;                                    
    IF PREDZONE=0 THEN AVAILZONE:=I ELSE Z(PREDZONE):=I; 
    I:=MZONESIZE                                         
  END                                                    
  ELSE
  BEGIN
    PREDZONE:=I;
    I:=Z(I)
  END;
  CLOSE(ISFFILES);IOC;                                                      
  IF CURRZONE=0 THEN
  BEGIN
    USER(CURRUSER).FILES(CURRHEAD).STATUS:=LUKKET;
    IER:=-16
  END
  ELSE
  BEGIN
    REWRITE(F,FNAVN);IOC;                                                     
    WITH FILEHEAD(CURRHEAD) DO
    BEGIN
      FILENAME:='        ';
      FOR I:=1 TO POS(':',FNAVN)-1 DO FILENAME(I):=FNAVN(I)
    END
  END
END;

Full view