|
|
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: 2976 (0xba0)
Types: TextFile
Notes: Mikados_K
Names: »LUKOP.K«
└─⟦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«
(*$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;