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

⟦8d42e3319⟧ TextFile

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

Derivation

└─⟦eb89399bc⟧ Bits:30008990 SOM ISFORIG, MEN KUN K-FILER
    └─⟦this⟧ »RESTREOR.K« 

Mikados K File

PROGRAM RESTREOR;
(*$IISFHEAD*)
RORPOST=RECORD
       A:AR;
       HEAD:ARRAY(1..5) OF INTEGER;
       ANTAL:REAL
END;
ZONE= RECORD
       H:ISFHEAD;
       T:ARRAY(1..800) OF INTEGER
 END;
KEYDESCRIPTION=ARRAY (1..9) OF ARRAY (1..3) OF INTEGER;
VAR F1,F:ISF;
   VZ1,VZ:ZONE;
FILNAVN1,FILNAVN2:STRING(20);
      NREC,RECSIZE,KEYFLDS,IER,I:INTEGER;
      KEYDESC:KEYDESCRIPTION;
       RESTORD:RORPOST;
       R:REAL;
(*$L-*)
(*$R-,IEXCOMCOP*)
(*$ICREATE*)
(*$IINITIATE*)
(*$IIOPEN*)
(*$ISÆTØG*)
(*$IREADPROC*)
(*$IFINDPOST*)
(*$IFORSKYD*)
(*$IICLOSE*)
(*$IINSERT*)
(*$INEXTREC*)
(*$R+*)
(*$L+*)
PROCEDURE STOP;
VAR I:INTEGER;
BEGIN I:=I DIV 0 END;
PROCEDURE ERROR;
BEGIN
  WRITELN('FEJL I VAREREG ',IER);
  ICLOSE(VZ1.H,F1);
  WRITELN('ICLOSE ',IER);
  STOP
END;
BEGIN
  FILNAVN1:='RESTREG:P1';
  NREC:=2000;
  RECSIZE:=9;
  KEYFLDS:=1;
  KEYDESC(1,1):=1;KEYDESC(1,2):=3;KEYDESC(1,3):=1;
  CREATE(FILNAVN1,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);
  REWRITE(F1,FILNAVN1);
  IOPEN(VZ1.H,F1,SKRIV);IF IER<>0 THEN ERROR;
  FILNAVN2:='RESTREG:P2:0000:I';
  REWRITE(F,FILNAVN2);
  IOPEN(VZ.H,F,LÆS);
  IF IER<>0 THEN ERROR;
  INITIATE(VZ1.H,F1,VZ.H.RECINUSE);
  IF IER<>0 THEN ERROR;
  I:=0;
  RESTORD.HEAD(1):=0;
  RESTORD.HEAD(2):=0;
  RESTORD.HEAD(3):=0;
  NEXTREC(VZ.H,F,RESTORD.A);
  IF IER<>-1 THEN ERROR;
  IER:=0;
  WHILE (IER=0) AND (RESTORD.HEAD(1)<10) DO
  BEGIN
    WRITELN(RESTORD.HEAD(1)*10000.0+RESTORD.HEAD(2):12:-2,
            RESTORD.HEAD(3):12);
    INSERT(VZ1.H,F1,RESTORD.A);
    IF IER<>0 THEN ERROR;
    NEXTREC(VZ.H,F,RESTORD.A);
    I:=I+1
  END;
  IF (IER<>-2) AND (IER<>0) THEN ERROR;
  WRITELN('INDPOSTER,UDPOSTER',VZ.H.RECINUSE:6,I:6);
  ICLOSE(VZ.H,F);
  ICLOSE(VZ1.H,F1);
  WRITELN('ICLOSE ',IER)
END.

Full view