|
|
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: 2528 (0x9e0)
Types: TextFile
Notes: Mikados_K
Names: »EXCOMCO1.K«
└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
└─⟦this⟧ »EXCOMCO1.K«
└─⟦6c21327e0⟧ Bits:30008986 LINIMATIC K-FILER (IKKE HELT UPTODTATE)
└─⟦this⟧ »EXCOMCO1.K«
(*$P*)
PROCEDURE EXTRACT(RECPOS,RESPOS:ZONEADR);
(*UDTRÆK NØGLE AF POST I ZONEN, OG GEM I ZONEN*)
VAR I,
J,KP :INTEGER;
BEGIN
WITH FILEHEAD DO
FOR I:=1 TO KEYFLDS DO
BEGIN
KP:=KEYPOS(I)+RECPOS-2;
FOR J:=1 TO KEYLNG(I) DO
BEGIN
Z(RESPOS):=Z(KP+J);
IF ABS(KEYSGN(I))=2 THEN
Z(RESPOS):=(Z(RESPOS) MOD 256)*256+Z(RESPOS) DIV 256;
RESPOS:=RESPOS+1
END
END
END;
PROCEDURE REXTRACT(RESPOS:ZONEADR);
(*UDTRÆK NØGLE AF POST , OG GEM I ZONEN*)
VAR I,
J,KP :INTEGER;
BEGIN
WITH FILEHEAD DO
FOR I:=1 TO KEYFLDS DO
BEGIN
KP:=KEYPOS(I)-1;
FOR J:=1 TO KEYLNG(I) DO
BEGIN
Z(RESPOS):=REC^(KP+J);
IF ABS(KEYSGN(I))=2 THEN
Z(RESPOS):=(Z(RESPOS) MOD 256)*256 + Z(RESPOS) DIV 256;
RESPOS:=RESPOS+1
END
END
END;
FUNCTION COMPARE(KEY1POS,KEY2POS:ZONEADR):INTEGER;
(*SAMMENLIGNER TO NØGLER I ZONEN*)
VAR I,
J,KP:INTEGER;
BEGIN
KP:=0;
COMPARE:=0;
WITH FILEHEAD DO
FOR I:=1 TO KEYFLDS DO
BEGIN
FOR J:=KP TO KP+KEYLNG(I)-1 DO
IF Z(KEY1POS+J)<>Z(KEY2POS+J) THEN
BEGIN
IF Z(KEY1POS+J)>Z(KEY2POS+J) THEN
COMPARE:=KEYSGN(I) ELSE
COMPARE:=-KEYSGN(I);
EXIT(COMPARE)
END;
KP:=KP+KEYLNG(I)
END
END;