|
|
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;
0x000…008 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x008…025 Line {l1=0x1b, l2=»PROCEDURE LUKOP(VAR F:ISF);«, l3=0x1b}
0x025…02b Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x02b…076 Line {l1=0x49, l2=»NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);«, l3=0x49}
0x076…086 Line {l1=0x0e, l2=»FILDESC=RECORD«, l3=0x0e}
0x086…0b7 Line {l1=0x2f, l2=» FILNAVN,DESCNAVN,POSTNAVN,REGNAVN:STRING(18);«, l3=0x2f}
0x0b7…0cd Line {l1=0x14, l2=» VEDLNIVEAU:NIVEAU;«, l3=0x14}
0x0cd…0e2 Line {l1=0x13, l2=» ZONESIZE:INTEGER;«, l3=0x13}
0x0e2…0e8 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0e8…103 Line {l1=0x19, l2=»FILEDESC=FILE OF FILDESC;«, l3=0x19}
0x103…112 Line {l1=0x0d, l2=»VAR «, l3=0x0d}
0x112…126 Line {l1=0x12, l2=»ISFFILES:FILEDESC;«, l3=0x12}
0x126…13c Line {l1=0x14, l2=»FNAVN :STRING(18);«, l3=0x14}
0x13c…15a Line {l1=0x1c, l2=»PREDZONE,SUCCZONE,SIZE,REST,«, l3=0x1c}
0x15a…16d Line {l1=0x11, l2=»I :INTEGER;«, l3=0x11}
0x16d…174 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x174…194 Line {l1=0x1e, l2=» FNAVN:='ISFFILES:P2:0000:S';«, l3=0x1e}
0x194…1b2 Line {l1=0x1c, l2=» RESET(ISFFILES,FNAVN);IOC;«, l3=0x1c}
0x1b2…1d2 Line {l1=0x1e, l2=» SEEK(ISFFILES,CURRFILE);IOC;«, l3=0x1e}
0x1d2…1e8 Line {l1=0x14, l2=» GET(ISFFILES);IOC;«, l3=0x14}
0x1e8…205 Line {l1=0x1b, l2=» FNAVN:=ISFFILES^.FILNAVN;«, l3=0x1b}
0x205…240 Line {l1=0x39, l2=» PREDZONE:=0; «, l3=0x39}
0x240…27b Line {l1=0x39, l2=» CURRZONE:=0; «, l3=0x39}
0x27b…2b6 Line {l1=0x39, l2=» I:=AVAILZONE; «, l3=0x39}
0x2b6…2f1 Line {l1=0x39, l2=» WHILE I<MZONESIZE DO «, l3=0x39}
0x2f1…32c Line {l1=0x39, l2=» IF Z(I+1)>=ISFFILES^.ZONESIZE THEN «, l3=0x39}
0x32c…367 Line {l1=0x39, l2=» BEGIN «, l3=0x39}
0x367…3a2 Line {l1=0x39, l2=» CURRZONE:=I; «, l3=0x39}
0x3a2…3dd Line {l1=0x39, l2=» SIZE:=Z(I+1); «, l3=0x39}
0x3dd…3f2 Line {l1=0x13, l2=» SUCCZONE:=Z(I);«, l3=0x13}
0x3f2…42d Line {l1=0x39, l2=» REST:=SIZE-ISFFILES^.ZONESIZE; «, l3=0x39}
0x42d…468 Line {l1=0x39, l2=» Z(I):=ISFFILES^.ZONESIZE; «, l3=0x39}
0x468…4a3 Line {l1=0x39, l2=» IF REST>1 THEN «, l3=0x39}
0x4a3…4de Line {l1=0x39, l2=» BEGIN «, l3=0x39}
0x4de…519 Line {l1=0x39, l2=» Z(I+1):=Z(I); «, l3=0x39}
0x519…554 Line {l1=0x39, l2=» I:=I+Z(I); «, l3=0x39}
0x554…58f Line {l1=0x39, l2=» IF I<MZONESIZE THEN «, l3=0x39}
0x58f…5ca Line {l1=0x39, l2=» BEGIN «, l3=0x39}
0x5ca…605 Line {l1=0x39, l2=» Z(I):=SUCCZONE; «, l3=0x39}
0x605…640 Line {l1=0x39, l2=» Z(I+1):=REST «, l3=0x39}
0x640…67b Line {l1=0x39, l2=» END «, l3=0x39}
0x67b…6b6 Line {l1=0x39, l2=» END «, l3=0x39}
0x6b6…6f1 Line {l1=0x39, l2=» ELSE I:=SUCCZONE; «, l3=0x39}
0x6f1…72c Line {l1=0x39, l2=» IF PREDZONE=0 THEN AVAILZONE:=I ELSE Z(PREDZONE):=I; «, l3=0x39}
0x72c…767 Line {l1=0x39, l2=» I:=MZONESIZE «, l3=0x39}
0x767…7a2 Line {l1=0x39, l2=» END «, l3=0x39}
0x7a2…7aa Line {l1=0x06, l2=» ELSE«, l3=0x06}
0x7aa…7b3 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x7b3…7c5 Line {l1=0x10, l2=» PREDZONE:=I;«, l3=0x10}
0x7c5…7d2 Line {l1=0x0b, l2=» I:=Z(I)«, l3=0x0b}
0x7d2…7da Line {l1=0x06, l2=» END;«, l3=0x06}
0x7da…828 Line {l1=0x4c, l2=» CLOSE(ISFFILES);IOC; «, l3=0x4c}
0x828…83e Line {l1=0x14, l2=» IF CURRZONE=0 THEN«, l3=0x14}
0x83e…847 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x847…87b Line {l1=0x32, l2=» USER(CURRUSER).FILES(CURRHEAD).STATUS:=LUKKET;«, l3=0x32}
0x87b…889 Line {l1=0x0c, l2=» IER:=-16«, l3=0x0c}
0x889…890 Line {l1=0x05, l2=» END«, l3=0x05}
0x890…898 Line {l1=0x06, l2=» ELSE«, l3=0x06}
0x898…8a1 Line {l1=0x07, l2=» BEGIN«, l3=0x07}
0x8a1…8f1 Line {l1=0x4e, l2=» REWRITE(F,FNAVN);IOC; «, l3=0x4e}
0x8f1…911 Line {l1=0x1e, l2=» WITH FILEHEAD(CURRHEAD) DO«, l3=0x1e}
0x911…91c Line {l1=0x09, l2=» BEGIN«, l3=0x09}
0x91c…939 Line {l1=0x1b, l2=» FILENAME:=' ';«, l3=0x1b}
0x939…976 Line {l1=0x3b, l2=» FOR I:=1 TO POS(':',FNAVN)-1 DO FILENAME(I):=FNAVN(I)«, l3=0x3b}
0x976…97f Line {l1=0x07, l2=» END«, l3=0x07}
0x97f…986 Line {l1=0x05, l2=» END«, l3=0x05}
0x986…98c Line {l1=0x04, l2=»END;«, l3=0x04}
0x98c…9a0 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆ cccccccccccccccccc┆
0x9a0…9c0 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 63 ┆cccccccccccccccccccccccccccccccc┆
[…0xf…]