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

⟦beaf26bc9⟧ TextFile

    Length: 27808 (0x6ca0)
    Types: TextFile
    Notes: Mikados_K
    Names: »SKÆRMBIL.K«

Derivation

└─⟦6b1c9961a⟧ Bits:30008989 INDPERM P1
    └─⟦this⟧ »SKÆRMBIL.K« 

Mikados K File

PROGRAM SKÆRMBILLEDGENERATOR;
CONST MAXFELTER=30;
      MAXPOST=250;
TYPE
PARMARRAY=PACKED ARRAY (1..39) OF CHAR;
NFELT=^FELTBESKRIVELSE;
NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);
SKÆRMPOS=RECORD
   X,Y:INTEGER
END;
FTYPE=(HELTAL,DOBBTAL,REEL,TEKST);
VTYPE=(HINTERVAL,DINTERVAL,RINTERVAL,DATO,CPR);
BESKRIVELSESTYPE=(FELTDESC,VALIDESC);
FELTBESKRIVELSE=RECORD
   NÆSTEVAL:NFELT;
   CASE DESCTYPE:BESKRIVELSESTYPE OF
   FELTDESC:
  (INDPOS,UDPOS:SKÆRMPOS;
   KIKKENIVEAU,ÆNDRENIVEAU:NIVEAU;
   EDITERING:INTEGER;
   LEDETEKST,FØLGETEKST:STRING;
   INDEKS:INTEGER;
   LÆNGDE:INTEGER;
   FORAN0:INTEGER;
   CASE FELTTYPE:FTYPE OF
   REEL:(DEC:INTEGER);
   HELTAL,DOBBTAL,TEKST:());
   VALIDESC:
  (CASE VALIDITETSTYPE:VTYPE OF
      HINTERVAL:(MIN,MAX:INTEGER);
      DINTERVAL:(MIN1,MIN2,MAX1,MAX2:INTEGER);
      RINTERVAL:(RMIN,RMAX:REAL);
      DATO,CPR:())
END;
FELTFIL=FILE OF FELTBESKRIVELSE;
AR=ARRAY (-4..-4) OF INTEGER;
ARAR=PACKED ARRAY (-11..-10) OF CHAR;
RAR=ARRAY (0..0) OF REAL;
OPERATIONSPOST=RECORD
      AA:ARAR;
      A:AR;
      AAA:RAR;
      CONTENTS: ARRAY (1..MAXPOST) OF INTEGER
END;
VAR PARM:^PARMARRAY;
    QUQ:^INTEGER;
    FELT:NFELT;
    USERNIVEAU,HUSKNIV:NIVEAU;
    PICTURE:ARRAY (1..MAXFELTER) OF NFELT;
    I,ANTALFELTER:INTEGER;
    LINE:STRING;
    POST:OPERATIONSPOST;
    FFIL:FELTFIL;
    FNAVN:STRING;
    NIVEAUD:ARRAY (0..9) OF STRING(8);
    FTYPED: ARRAY (0..4) OF STRING(8);
    VTYPED: ARRAY (0..5) OF STRING(9);
(*$R-*)
(*$P*)
PROCEDURE OPRET;
TYPE ISF=FILE OF ARRAY (1..232) OF INTEGER;
     KEYDESCRIPTION=ARRAY (1..9) OF ARRAY (1..3) OF INTEGER;
VAR NREC,RECSIZE,KEYFLDS,IER,L,POSI,OUTOFRANGE,FKEYS:INTEGER;
    FILNAVN:STRING;
    KEYDESC:KEYDESCRIPTION;
    CH:STRING(1);
(*$ICREATE*)
BEGIN
  CLEARSCREEN;
  WRITELN('Datafilnavn:Pn');
  GOTOXY(16,1);
  READLN;READ(FILNAVN);
  WRITELN('Antal poster');
  GOTOXY(16,2);
  READLN;READ(NREC);
  FOR I:=1 TO MAXPOST DO POST.CONTENTS(I):=0;
  RECSIZE:=0;OUTOFRANGE:=0;FKEYS:=0;KEYFLDS:=0;
  FOR I:=1 TO ANTALFELTER DO
  WITH PICTURE(I)^ DO
  BEGIN
    CASE FELTTYPE OF
    HELTAL :BEGIN
              POSI:=INDEKS;
              L:=1
            END;
    DOBBTAL:BEGIN
              POSI:=INDEKS;
              L:=2
            END;
    REEL   :BEGIN
              POSI:=1+(INDEKS-1)*4;
              L:=4
            END;
    TEKST  :BEGIN
              POSI:=(INDEKS+1) DIV 2;
              L:=(LÆNGDE+1) DIV 2
            END
    END;
    IF (POSI<1) OR (POSI+L-1>MAXPOST) THEN
      OUTOFRANGE:=OUTOFRANGE+1
    ELSE
    BEGIN
      RECSIZE:=RECSIZE+L;
      IF ÆNDRENIVEAU=UMULIUS THEN
      BEGIN
        IF FELTTYPE>DOBBTAL THEN
          FKEYS:=FKEYS+1
        ELSE
        BEGIN
          KEYFLDS:=KEYFLDS+1;
          KEYDESC(KEYFLDS,1):=POSI;
          KEYDESC(KEYFLDS,2):=L;
          KEYDESC(KEYFLDS,3):=1
        END
      END;
      REPEAT
        POST.CONTENTS(POSI):=POST.CONTENTS(POSI)+1;
        POSI:=POSI+1;
        L:=L-1
      UNTIL L=0
    END
  END;
  FOR I:=1 TO RECSIZE DO
    IF POST.CONTENTS(I)>1 THEN
      WRITELN('OVERLAPNING',I:5)
    ELSE
      IF POST.CONTENTS(I)<1 THEN WRITELN('HUL',I:5);
  FOR I:=RECSIZE+1 TO MAXPOST DO
    IF POST.CONTENTS(I)<>0 THEN WRITELN('FORBIER',I:5);
  IF OUTOFRANGE>0 THEN WRITELN('OUTOFRANGE',OUTOFRANGE:5);
  IF FKEYS>0 THEN WRITELN('IKKE-IMPLEMENTEREDE NØGLER',FKEYS:5);
  WRITELN('Nøglebeskrivelse');
  FOR I:=1 TO KEYFLDS DO
    WRITELN(KEYDESC(I,1):10,KEYDESC(I,2):10,KEYDESC(I,3):10);
  GOTOXY(1,23);
  WRITELN('Skal filen oprettes J/N');
  GOTOXY(27,23);
  CH:='N';
  EDIT(CH);
  IF CH='J' THEN
  BEGIN
    CREATE(FILNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);
    FNAVN:=CONCAT(COPY(FILNAVN,1,4),'DESC:P');
    FNAVN:=CONCAT(FNAVN,COPY(FILNAVN,POS(':P',FILNAVN)+2,1),':30:J');
    WRITELN('IER : ',IER)
  END
END;
(*$P*)
PROCEDURE INIT;
BEGIN
  NIVEAUD(0):='MENIG';
  NIVEAUD(1):='SERGENT';
  NIVEAUD(2):='LØJTNANT';
  NIVEAUD(3):='KAPTAJN';
  NIVEAUD(4):='MAJOR';
  NIVEAUD(5):='OBERST';
  NIVEAUD(6):='GENERAL';
  NIVEAUD(7):='HSM';
  NIVEAUD(8):='UMULIUS';
  FTYPED(0):='HELTAL';
  FTYPED(1):='DOBBTAL';
  FTYPED(2):='REEL';
  FTYPED(3):='TEKST';
  VTYPED(0):='HINTERVAL';
  VTYPED(1):='DINTERVAL';
  VTYPED(2):='RINTERVAL';
  VTYPED(3):='DATO';
  VTYPED(4):='CPR'
END;
(*$P*)
PROCEDURE LÆSDESC;
BEGIN
  REWRITE(FFIL,FNAVN);
 
  GET(FFIL);
  I:=0;
  WHILE FFIL^.INDPOS.X>0 DO
  BEGIN
    I:=I+1;
    CASE FFIL^.FELTTYPE OF
    REEL:NEW(PICTURE(I),FELTDESC,REEL);
    HELTAL,DOBBTAL,TEKST:NEW(PICTURE(I),FELTDESC,HELTAL)
    END;
    FELT:=PICTURE(I);
 
    WITH PICTURE(I)^ DO
    BEGIN
      DESCTYPE:=FELTDESC;
      INDPOS.X:=FFIL^.INDPOS.X;
      INDPOS.Y:=FFIL^.INDPOS.Y;
      UDPOS.X:=FFIL^.UDPOS.X;
      UDPOS.Y:=FFIL^.UDPOS.Y;
      KIKKENIVEAU:=FFIL^.KIKKENIVEAU;
      ÆNDRENIVEAU:=FFIL^.ÆNDRENIVEAU;
      LEDETEKST:=FFIL^.LEDETEKST;
      FØLGETEKST:=FFIL^.FØLGETEKST;
      EDITERING:=FFIL^.EDITERING;
      FELTTYPE:=FFIL^.FELTTYPE;
      INDEKS:=FFIL^.INDEKS;
      LÆNGDE:=FFIL^.LÆNGDE;
      FORAN0:=FFIL^.FORAN0;
      IF FELTTYPE=REEL THEN DEC:=FFIL^.DEC;
      WHILE FFIL^.NÆSTEVAL<>NIL DO
      BEGIN
        GET(FFIL);
        WITH FELT^ DO
        CASE FFIL^.VALIDITETSTYPE OF
          HINTERVAL:BEGIN
                      NEW(NÆSTEVAL,VALIDESC,HINTERVAL);
                      NÆSTEVAL^.MIN:=FFIL^.MIN;
                      NÆSTEVAL^.MAX:=FFIL^.MAX
                    END;
          DINTERVAL:BEGIN
                      NEW(NÆSTEVAL,VALIDESC,DINTERVAL);
                      NÆSTEVAL^.MIN1:=FFIL^.MIN1;NÆSTEVAL^.MIN2:=FFIL^.MIN2;
                      NÆSTEVAL^.MAX1:=FFIL^.MAX1;NÆSTEVAL^.MAX2:=FFIL^.MAX2
                    END;
          RINTERVAL:BEGIN
                      NEW(NÆSTEVAL,VALIDESC,RINTERVAL);
                      NÆSTEVAL^.RMIN:=FFIL^.RMIN;
                      NÆSTEVAL^.RMAX:=FFIL^.RMAX
                    END;
          DATO,CPR:NEW(NÆSTEVAL,VALIDESC,DATO)
        END;
        FELT:=FELT^.NÆSTEVAL;
        FELT^.DESCTYPE:=VALIDESC;
        FELT^.VALIDITETSTYPE:=FFIL^.VALIDITETSTYPE
      END;
      FELT^.NÆSTEVAL:=NIL
    END;
    GET(FFIL)
  END;
  CLOSE(FFIL);
  ANTALFELTER:=I
END;
(*$P*)
PROCEDURE SKRIVDESC;
BEGIN
  REWRITE(FFIL,FNAVN);
 
  FOR I:=1 TO ANTALFELTER DO
  BEGIN
    FELT:=PICTURE(I);
    REPEAT
      FFIL^:=FELT^;
      PUT(FFIL);
      FELT:=FELT^.NÆSTEVAL
    UNTIL FELT=NIL
  END;
  FFIL^.DESCTYPE:=FELTDESC;
  FFIL^.INDPOS.X:=0;
  PUT(FFIL);
  CLOSE(FFIL)
END;
(*$P*)
PROCEDURE MOVETOLINE(VAR F:NFELT);
VAR CH:STRING(1);
    TAL,DECS,I:INTEGER;
    RESULT,DM,DD:REAL;
BEGIN
  CH:=' ';
      CASE F^.FELTTYPE OF
      HELTAL:BEGIN
               LINE:='';
               TAL:=ABS(POST.A(F^.INDEKS));
               REPEAT
                 CH(1):=CHR(TAL MOD 10+48);
                 LINE:=CONCAT(CH,LINE);
                 TAL:=TAL DIV 10
               UNTIL TAL=0;
               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);
               IF POST.A(F^.INDEKS)<0 THEN LINE:=CONCAT('-',LINE)
             END;
     DOBBTAL:BEGIN
               LINE:='';
               RESULT:=ABS(POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1));
               DM:=100000000.0;
               REPEAT
                 I:=TRUNC(RESULT/DM)+48;
                 RESULT:=RESULT-DM*(I-48);
                 DM:=DM/10
               UNTIL (I>48) OR (DM<1.0);
               REPEAT
                 CH(1):=CHR(I);
                 LINE:=CONCAT(LINE,CH);
                 I:=TRUNC(RESULT/DM)+48;
                 RESULT:=RESULT-DM*(I-48);
                 DM:=DM/10.0
               UNTIL DM<0.09;
               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);
               IF POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1)<0.0 THEN
                 LINE:=CONCAT('-',LINE)
             END;
       TEKST:BEGIN
               LINE:='';
               FOR I:=F^.INDEKS TO F^.INDEKS+F^.LÆNGDE-1 DO
               BEGIN
                 CH(1):=POST.AA(I);
                 LINE:=CONCAT(LINE,CH)
               END
             END;
        REEL:BEGIN
               RESULT:=ABS(POST.AAA(F^.INDEKS));
               DECS:=F^.DEC;
               IF DECS=0 THEN
                 DD:=0.0
               ELSE
               BEGIN
                 DD:=0.1;
                 FOR I:=1 TO DECS DO BEGIN RESULT:=RESULT*10.0;DD:=DD*10 END
               END;
               LINE:='';
               IF F^.FORAN0=0 THEN
               BEGIN
                 DM:=100000000000.0;
                 REPEAT
                   I:=TRUNC(RESULT/DM)+48;
                   RESULT:=RESULT-DM*(I-48);
                   DM:=DM/10.0
                 UNTIL (I>48) OR (DM<1.0) OR (DM=DD)
               END
               ELSE
               BEGIN
                 DM:=1.0;
                 FOR I:=2 TO F^.FORAN0 DO DM:=DM*10.0;
                 I:=TRUNC(RESULT/DM)+48;
                 RESULT:=RESULT-DM*(I-48);
                 DM:=DM/10.0
               END;
               REPEAT
                 CH(1):=CHR(I);
                 LINE:=CONCAT(LINE,CH);
                 IF DM=DD THEN LINE:=CONCAT(LINE,'.');
                 I:=TRUNC(RESULT/DM)+48;
                 RESULT:=RESULT-DM*(I-48);
                 DM:=DM/10.0
               UNTIL DM<0.09;
               IF POST.AAA(F^.INDEKS)<0.0 THEN LINE:=CONCAT('-',LINE)
             END
      END
END;
(*$P*)
PROCEDURE NULPOST;
VAR I,J:INTEGER;
BEGIN
  FOR J:=1 TO ANTALFELTER DO WITH PICTURE(J)^ DO
  BEGIN
    CASE FELTTYPE OF
    HELTAL:POST.A(INDEKS):=0;
    DOBBTAL:BEGIN
              POST.A(INDEKS):=0;
              POST.A(INDEKS+1):=0
            END;
    REEL:POST.AAA(INDEKS):=0.0;
    TEKST:FOR I:=INDEKS TO LÆNGDE+INDEKS-1 DO
            POST.AA(I):=' ';
    END
  END
END;
 
PROCEDURE SKRIVFELT(VAR F:NFELT);
VAR I:INTEGER;
    R,DF:REAL;
BEGIN
 IF USERNIVEAU>=F^.KIKKENIVEAU THEN
 BEGIN
  GOTOXY(F^.UDPOS.X,F^.UDPOS.Y);
  WRITE(F^.LEDETEKST,' ');
  MOVETOLINE(F);
  WRITELN(LINE);
 END
END;
 
PROCEDURE SKRIVPOST;
VAR I:INTEGER;
BEGIN
  CLEARSCREEN;
  FOR I:=1 TO ANTALFELTER DO SKRIVFELT(PICTURE(I));
END;
(*$P*)
PROCEDURE LÆSFELT(VAR F:NFELT);
VAR I,TAL,TAL1:INTEGER;
    VAL:NFELT;
    RESULT:REAL;
    BUMMED:BOOLEAN;
 
(*$P*)
PROCEDURE LÆSLINIE;
VAR OK:BOOLEAN;
    DECS,I,FORTEGN:INTEGER;
    DM:REAL;
 
BEGIN
  REPEAT
    OK:=FALSE;
    RESULT:=0.0;
    TAL:=0;
    TAL1:=0;
    GOTOXY(F^.INDPOS.X,F^.INDPOS.Y);
    WRITELN(F^.LEDETEKST,' ':F^.LÆNGDE+2,F^.FØLGETEKST);
    GOTOXY(F^.INDPOS.X+LENGTH(F^.LEDETEKST)+1,F^.INDPOS.Y);
    IF F^.EDITERING=0 THEN
    BEGIN
      READLN;READ(LINE)
    END
    ELSE
    BEGIN
      MOVETOLINE(F);
      EDIT(LINE:F^.LÆNGDE);
      WHILE LINE(LENGTH(LINE))=' ' DO LINE(0):=CHR(ORD(LINE(0))-1)
    END;
    CASE F^.FELTTYPE OF
TEKST:
    IF LENGTH(LINE)<=F^.LÆNGDE THEN
    BEGIN
      OK:=TRUE;
      WHILE LENGTH(LINE)<F^.LÆNGDE DO
        IF F^.FORAN0=0 THEN
          LINE:=CONCAT(LINE,' ')
        ELSE
          LINE:=CONCAT(' ',LINE)
    END;
HELTAL,DOBBTAL:
    IF LENGTH(LINE)>0 THEN
    BEGIN
      I:=0;
      FORTEGN:=1;
      IF LINE(1)='-' THEN
      BEGIN
        FORTEGN:=-1;
        I:=1
      END;
      WHILE LENGTH(LINE)>I DO
      BEGIN
        OK:=TRUE;
        I:=I+1;
        IF NOT (LINE(I) IN (.'0'..'9'.)) THEN
        BEGIN
          OK:=FALSE;
          I:=LENGTH(LINE)
        END;
        RESULT:=10*RESULT+ORD(LINE(I))-48
      END;
      RESULT:=RESULT*FORTEGN;
      IF OK THEN
      CASE F^.FELTTYPE OF
      HELTAL:IF ABS(RESULT)<=32767 THEN TAL:=TRUNC(RESULT) ELSE OK:=FALSE;
      DOBBTAL:IF ABS(RESULT)<=327679999.0 THEN
              BEGIN
                TAL:=TRUNC(RESULT/10000.0);
                TAL1:=TRUNC(RESULT-10000.0*TAL)
              END
              ELSE OK:=FALSE
      END
    END ELSE OK:=TRUE;
REEL:
    IF LENGTH(LINE)>0 THEN
    BEGIN
      I:=0;
      FORTEGN:=1;
      DECS:=-1;
      IF LINE(1)='-' THEN
      BEGIN
        FORTEGN:=-1;
        I:=1
      END;
      WHILE (LENGTH(LINE)>I) AND (DECS<0) DO
      BEGIN
        OK:=TRUE;
        I:=I+1;
        IF LINE(I) IN (.'0'..'9'.) THEN
          RESULT:=10*RESULT+ORD(LINE(I))-48
        ELSE
        IF (LINE(I)='.') OR (LINE(I)=',') THEN
          DECS:=0
        ELSE
        BEGIN
          OK:=FALSE;
          I:=LENGTH(LINE)
        END
      END;
      DM:=1.0;
      WHILE LENGTH(LINE)>I DO
      BEGIN
        I:=I+1;
        DM:=DM/10.0;
        IF LINE(I) IN (.'0'..'9'.) THEN
        BEGIN
          RESULT:=RESULT+DM*(ORD(LINE(I))-48);
          DECS:=DECS+1
        END
        ELSE
        BEGIN
          OK:=FALSE;
          I:=LENGTH(LINE)
        END
      END;
      RESULT:=FORTEGN*RESULT;
      IF DECS>F^.DEC THEN OK:=FALSE
    END
    ELSE OK:=TRUE
    END
  UNTIL OK
END;
(*$P*)
PROCEDURE CHECKVAL;
VAR I,DAT0,MÅNED,ÅR,MODULC:INTEGER;
    CPN:ARRAY (1..10) OF INTEGER;
BEGIN
  CASE VAL^.VALIDITETSTYPE OF
  HINTERVAL:
    BUMMED:=((TAL<VAL^.MIN) OR (TAL>VAL^.MAX));
  DINTERVAL:
    BUMMED:=((TAL*10000.0+TAL1<VAL^.MIN1*10000.0+VAL^.MIN2) OR
             (TAL*10000.0+TAL1>VAL^.MAX1*10000.0+VAL^.MAX2));
  RINTERVAL:
    BUMMED:=((RESULT<VAL^.RMIN) OR (RESULT>VAL^.RMAX));
  DATO:
    IF LENGTH(LINE)=6 THEN
    BEGIN
      ÅR:=10*(ORD(LINE(1))-48)+ORD(LINE(2))-48;
      MÅNED:=10*(ORD(LINE(3))-48)+ORD(LINE(4))-48;
      DAT0:=10*(ORD(LINE(5))-48)+ORD(LINE(6))-48;
      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;
      IF NOT BUMMED THEN
      CASE MÅNED OF
      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;
      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4 <>0)) THEN BUMMED:=TRUE
      END
    END
    ELSE BUMMED:=TRUE;
  CPR:
    IF LENGTH(LINE)=10 THEN
    BEGIN
      FOR I:=1 TO 10 DO CPN(I):=ORD(LINE(I))-48;
      DAT0:=CPN(1)*10+CPN(2);
      MÅNED:=CPN(3)*10+CPN(4);
      ÅR:=CPN(5)*10+CPN(6);
      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;
      IF NOT BUMMED THEN
      CASE MÅNED OF
      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;
      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4<>0)) THEN BUMMED:=TRUE
      END;
      IF NOT BUMMED THEN
      BEGIN
      MODULC:=CPN(1)*4+CPN(2)*3+CPN(3)*2+CPN(4)*7+CPN(5)*6+CPN(6)*5+CPN(7)*4+
              CPN(8)*3+CPN(9)*2+CPN(10);
        IF MODULC MOD 11<>0 THEN BUMMED:=TRUE
      END
    END
    ELSE BUMMED:=TRUE;
  END
END;
(*$P*)
(*PROCEDURE LÆSFELT*)
BEGIN
 IF USERNIVEAU>=F^.ÆNDRENIVEAU THEN
 BEGIN
  REPEAT
    LÆSLINIE;
    VAL:=F^.NÆSTEVAL;
    BUMMED:=FALSE;
    WHILE (VAL<>NIL) AND (NOT BUMMED) DO
    BEGIN
      CHECKVAL;
      VAL:=VAL^.NÆSTEVAL
    END
  UNTIL NOT BUMMED;
  CASE F^.FELTTYPE OF
  HELTAL:POST.A(F^.INDEKS):=TAL;
  DOBBTAL:BEGIN
            POST.A(F^.INDEKS):=TAL;
            POST.A(F^.INDEKS+1):=TAL1
          END;
  REEL:POST.AAA(F^.INDEKS):=RESULT;
  TEKST:FOR I:=1 TO F^.LÆNGDE DO
            POST.AA(I+F^.INDEKS-1):=LINE(I)
  END
 END
END;
(*$P*)
PROCEDURE SKRIVVALI(VAR F:NFELT);
BEGIN
  CLEARSCREEN;
  WRITELN('Validitetstype',' ':6,VTYPED(ORD(F^.VALIDITETSTYPE)));
  CASE F^.VALIDITETSTYPE OF
HINTERVAL:
    WRITELN('Minimum',' ':13,F^.MIN:10,' ':10,'Maksimum',' ':12,F^.MAX:10);
DINTERVAL:
    WRITELN('Minimum',' ':13,F^.MIN1*10000.0+F^.MIN2:10:-2,' ':10,
            'Maksimum',' ':12,F^.MAX1*10000.0+F^.MAX2:10:-2);
RINTERVAL:
    WRITELN('Minimum',' ':13,F^.RMIN:10:2,' ':10,'Maksimum',' ':12,
                                                     F^.RMAX:10:2);
DATO,CPR:WRITELN
  END
END;
(*$P*)
PROCEDURE INDVALI(VAR F:NFELT);
VAR I:INTEGER;
    R:REAL;
BEGIN
  REPEAT
    GOTOXY(1,3);
    WRITELN('Validitetstype');
    GOTOXY(20,3);
    READLN;READ(VTYPED(5));
    I:=0;
    WHILE VTYPED(I)<>VTYPED(5) DO I:=I+1
  UNTIL (I>=0) AND (I<=4);
  CASE I OF
  0:BEGIN
      F^.VALIDITETSTYPE:=HINTERVAL;
      GOTOXY(1,5);
      WRITELN('Minimum');
      GOTOXY(20,5);
      READLN;READ(F^.MIN);
      GOTOXY(31,5);
      WRITELN('Maksimum');
      GOTOXY(50,5);
      READLN;READ(F^.MAX)
    END;
  1:BEGIN
      F^.VALIDITETSTYPE:=DINTERVAL;
      GOTOXY(1,5);
      WRITELN('Minimum');
      GOTOXY(20,5);
      READLN;READ(R);
      F^.MIN1:=TRUNC(R/10000.0);
      F^.MIN2:=TRUNC(R-F^.MIN1*10000.0);
      GOTOXY(31,5);
      WRITELN('Maksimum');
      GOTOXY(50,5);
      READLN;READ(R);
      F^.MAX1:=TRUNC(R/10000.0);
      F^.MAX2:=TRUNC(R-F^.MAX1*10000.0)
    END;
  2:BEGIN
      F^.VALIDITETSTYPE:=RINTERVAL;
      GOTOXY(1,5);
      WRITELN('Minimum');
      GOTOXY(20,5);
      READLN;READ(F^.RMIN);
      GOTOXY(31,5);
      WRITELN('Maksimum');
      GOTOXY(50,5);
      READLN;READ(F^.RMAX)
    END;
  3:F^.VALIDITETSTYPE:=DATO;
  4:F^.VALIDITETSTYPE:=CPR
  END
END;
(*$P*)
PROCEDURE SKRIVPARAMS(VAR F:NFELT);
BEGIN
  CLEARSCREEN;
  WITH F^ DO
  BEGIN
    WRITELN(' 1 Indpos X Y',' ':10,INDPOS.X:10,INDPOS.Y:10);
    WRITELN(' 2 Udpos  X Y',' ':10,UDPOS.X:10,UDPOS.Y:10);
    WRITELN(' 3 Kikkeniveau',' ':9,NIVEAUD(ORD(KIKKENIVEAU)));
    WRITELN(' 4 Ændreniveau',' ':9,NIVEAUD(ORD(ÆNDRENIVEAU)));
    WRITELN(' 5 Ledetekst',' ':11,LEDETEKST);
    WRITELN(' 6 Følgetekst',' ':10,FØLGETEKST);
    WRITELN(' 7 Editering',' ':11,EDITERING:10);
    WRITELN(' 8 Indeks',' ':14,INDEKS:10);
    WRITELN(' 9 Længde',' ':14,LÆNGDE:10);
    WRITELN('10 Foran0',' ':14,FORAN0:10);
    WRITE('11 Felttype',' ':12,FTYPED(ORD(FELTTYPE)));
    IF FELTTYPE=REEL THEN WRITELN(' ':10,'Dec',DEC:5) ELSE WRITELN
  END
END;
(*$P*)
PROCEDURE INDPARAM(VAR F:NFELT;PARAMNR:INTEGER);
VAR I:INTEGER;
BEGIN
  CASE PARAMNR OF
  1:BEGIN
      GOTOXY(4,1);
      WRITELN('Indpos X Y');
      GOTOXY(20,1);
      READLN;READ(F^.INDPOS.X,F^.INDPOS.Y)
    END;
  2:BEGIN
      GOTOXY(4,2);
      WRITELN('Udpos  X Y');
      GOTOXY(20,2);
      READLN;READ(F^.UDPOS.X,F^.UDPOS.Y)
    END;
  3:BEGIN
     REPEAT
      GOTOXY(4,3);
      WRITELN('Kikkeniveau');
      GOTOXY(20,3);
      READLN;READ(NIVEAUD(9));
      I:=0;
      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1
     UNTIL (I>=0) AND (I<=8);
      CASE I OF
      0:F^.KIKKENIVEAU:=MENIG;
      1:F^.KIKKENIVEAU:=SERGENT;
      2:F^.KIKKENIVEAU:=LØJTNANT;
      3:F^.KIKKENIVEAU:=KAPTAJN;
      4:F^.KIKKENIVEAU:=MAJOR;
      5:F^.KIKKENIVEAU:=OBERST;
      6:F^.KIKKENIVEAU:=GENERAL;
      7:F^.KIKKENIVEAU:=HSM;
      8:F^.KIKKENIVEAU:=UMULIUS
      END
    END;
  4:BEGIN
     REPEAT
      GOTOXY(4,4);
      WRITELN('Ændreniveau');
      GOTOXY(20,4);
      READLN;READ(NIVEAUD(9));
      I:=0;
      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1
     UNTIL (I>=0) AND (I<=8);
      CASE I OF
      0:F^.ÆNDRENIVEAU:=MENIG;
      1:F^.ÆNDRENIVEAU:=SERGENT;
      2:F^.ÆNDRENIVEAU:=LØJTNANT;
      3:F^.ÆNDRENIVEAU:=KAPTAJN;
      4:F^.ÆNDRENIVEAU:=MAJOR;
      5:F^.ÆNDRENIVEAU:=OBERST;
      6:F^.ÆNDRENIVEAU:=GENERAL;
      7:F^.ÆNDRENIVEAU:=HSM;
      8:F^.ÆNDRENIVEAU:=UMULIUS
      END
    END;
  5:BEGIN
      GOTOXY(4,5);
      WRITELN('Ledetekst');
      GOTOXY(20,5);
      READLN;READ(F^.LEDETEKST)
    END;
  6:BEGIN
      GOTOXY(4,6);
      WRITELN('Følgetekst');
      GOTOXY(20,6);
      READLN;READ(F^.FØLGETEKST)
    END;
  7:BEGIN
      GOTOXY(4,7);
      WRITELN('Editering 0-1');
      GOTOXY(20,7);
      READLN;READ(F^.EDITERING)
    END;
  8:BEGIN
      GOTOXY(4,8);
      WRITELN('Indeks');
      GOTOXY(20,8);
      READLN;READ(F^.INDEKS)
    END;
  9:BEGIN
      GOTOXY(4,9);
      WRITELN('Længde');
      GOTOXY(20,9);
      READLN;READ(F^.LÆNGDE)
    END;
 10:BEGIN
      GOTOXY(4,10);
      WRITELN('Foran0');
      GOTOXY(20,10);
      READLN;READ(F^.FORAN0)
    END;
 11:BEGIN
     REPEAT
      GOTOXY(4,11);
      WRITELN('Felttype');
      GOTOXY(20,11);
      READLN;READ(FTYPED(4));
      I:=0;
      WHILE FTYPED(I)<>FTYPED(4) DO I:=I+1
     UNTIL (I>=0) AND (I<=3);
      CASE I OF
      2:BEGIN
          F^.FELTTYPE:=REEL;
          GOTOXY(30,11);
          WRITELN('Dec');
          GOTOXY(40,11);
          READLN;READ(F^.DEC)
        END;
      0:F^.FELTTYPE:=HELTAL;
      1:F^.FELTTYPE:=DOBBTAL;
      3:F^.FELTTYPE:=TEKST
      END
    END
  END
END;
(*$P*)
PROCEDURE VEDLFD(VAR F:NFELT);
VAR I:INTEGER;
BEGIN
  REPEAT
    SKRIVPARAMS(F);
    GOTOXY(1,23);
    WRITELN('Feltnr, 0 for færdig');
    GOTOXY(22,23);
    READLN;READ(I);
    IF (USERNIVEAU>=HSM) OR ((I<>8) AND (I<>9) AND (I<>11) AND
       ((I<>3) OR (USERNIVEAU>=F^.KIKKENIVEAU)) AND
       ((I<>4) OR (USERNIVEAU>=F^.ÆNDRENIVEAU))) THEN
       INDPARAM(F,I)
  UNTIL I=0
END;
(*$P*)
PROCEDURE MAINPD;
VAR I:INTEGER;
    CH:STRING(1);
    NF,F:NFELT;
BEGIN
  REPEAT
    CLEARSCREEN;
    FOR I:=1 TO ANTALFELTER DO
      WRITELN(I:3,' ':5,PICTURE(I)^.LEDETEKST);
    GOTOXY(1,23);
    WRITELN('Feltnr, 0 for færdig');
    GOTOXY(22,23);
    READLN;READ(I);
    IF (I>0) AND (I<=ANTALFELTER) THEN
    BEGIN
      VEDLFD(PICTURE(I));
      F:=PICTURE(I);
      CH:='J';
      WHILE (F^.NÆSTEVAL<>NIL) AND (CH='J') DO
      BEGIN
        GOTOXY(1,23);
        WRITELN('Næste validitet J/N',' ':58);
        GOTOXY(21,23);
        EDIT(CH);
        IF CH='J' THEN
        BEGIN
          F:=F^.NÆSTEVAL;
          SKRIVVALI(F);
          GOTOXY(1,23);
          WRITELN('Ændres J/N',' ':68);
          GOTOXY(12,23);
          EDIT(CH);
          IF (CH='J') AND (USERNIVEAU>=HSM) THEN
            INDVALI(F)
          ELSE
            CH:='J'
        END
      END;
      GOTOXY(1,23);
      WRITELN('Slet: S, Tilføj: T, Færdig: F');
      CH:='F';
      GOTOXY(34,23);
      EDIT(CH);
      IF USERNIVEAU>=HSM THEN
      CASE CH(1) OF
      'S':IF F^.NÆSTEVAL<>NIL THEN F^.NÆSTEVAL:=F^.NÆSTEVAL^.NÆSTEVAL;
      'T':BEGIN
          NEW(NF,VALIDESC);
          NF^.DESCTYPE:=VALIDESC;
          INDVALI(NF);
          NF^.NÆSTEVAL:=F^.NÆSTEVAL;
          F^.NÆSTEVAL:=NF
        END
      END
    END
  UNTIL I=0
END;
(*$P*)
PROCEDURE CREATEPD;
VAR FRA,TIL,I:INTEGER;
    CH:STRING(1);
    F:NFELT;
BEGIN
  GOTOXY(1,23);
  WRITELN('Tilføjelse: T, Sletning: S, Flytning: F, Afslutning: A');
  GOTOXY(56,23);
  CH:='T';
  EDIT(CH);
  WHILE CH<>'A' DO
  BEGIN
  CASE CH(1) OF
'T':BEGIN
    CLEARSCREEN;
    ANTALFELTER:=ANTALFELTER+1;
    NEW(PICTURE(ANTALFELTER),FELTDESC);
    F:=PICTURE(ANTALFELTER);
    F^.DESCTYPE:=FELTDESC;
    FOR I:=1 TO 11 DO INDPARAM(F,I);
    VEDLFD(F);
    REPEAT
      GOTOXY(1,23);
      WRITELN('Flere validitetscheck J/N');
      GOTOXY(30,23);
      CH:='J';
      EDIT(CH);
      IF CH='J' THEN
      BEGIN
        NEW(F^.NÆSTEVAL,VALIDESC);
        F^.DESCTYPE:=VALIDESC;
        F:=F^.NÆSTEVAL;
        REPEAT
          CLEARSCREEN;
          INDVALI(F);
          SKRIVVALI(F);
          GOTOXY(1,23);
          WRITELN('Validitetscheck OK J/N',' ':56);
          GOTOXY(30,23);
          EDIT(CH)
        UNTIL CH='J'
      END
    UNTIL CH<>'J';
    F^.NÆSTEVAL:=NIL;
  END;
'S':BEGIN
    PICTURE(ANTALFELTER):=NIL;
    ANTALFELTER:=ANTALFELTER-1
  END;
'F':BEGIN
    GOTOXY(1,20);
    WRITELN('FRA TIL');
    GOTOXY(9,20);
    READLN;READ(FRA,TIL);
    F:=PICTURE(FRA);
    IF FRA<TIL THEN
      FOR I:=FRA TO TIL-1 DO PICTURE(I):=PICTURE(I+1)
    ELSE
      FOR I:=FRA DOWNTO TIL+1 DO PICTURE(I):=PICTURE(I-1);
    PICTURE(TIL):=F
  END
  END;
  GOTOXY(1,23);
  WRITELN('Tilføjelse: T, Sletning: S, Flytning: F, Afslutning: A');
  GOTOXY(56,23);
  CH:='T';
  EDIT(CH)
  END
END;
(*$P*)
PROCEDURE LISTDESC;
BEGIN
  WRITELN(LIST);
  WRITELN(LIST,FNAVN);
  WRITELN(LIST);
  WRITELN(LIST,'Felt Ledetekst',' ':21,'Følgetekst');
  WRITELN(LIST,' ':5,'Kikkeniveau   Indpos Edit     Ændreniveau',
             '     Udpos Længde Foran0');
  WRITELN(LIST,' ':5,'Felttype  Indeks          Decimaler');
  WRITELN(LIST,' ':15,'Validitetstype      Minimum          Maximum');
  WRITELN(LIST);
  WRITELN(LIST);
  FOR I:=1 TO ANTALFELTER DO
  BEGIN
    FELT:=PICTURE(I);
    WITH FELT^ DO
    BEGIN
      WRITELN(LIST,I:4,' ',LEDETEKST,' ':30-LENGTH(LEDETEKST),FØLGETEKST);
      WRITELN(LIST,' ':5,NIVEAUD(ORD(KIKKENIVEAU)),
              ' ':10-LENGTH(NIVEAUD(ORD(KIKKENIVEAU))),INDPOS.X:5,INDPOS.Y:5,
                                                                 EDITERING:5,
              ' ':5,NIVEAUD(ORD(ÆNDRENIVEAU)),
                ' ':11-LENGTH(NIVEAUD(ORD(ÆNDRENIVEAU))),UDPOS.X:5,UDPOS.Y:5,
                                                          LÆNGDE:7,FORAN0:7);
      WRITE(LIST,' ':5,FTYPED(ORD(FELTTYPE)),
            ' ':11-LENGTH(FTYPED(ORD(FELTTYPE))),INDEKS:4);
      IF FELTTYPE=REEL THEN WRITELN(LIST,DEC:12) ELSE WRITELN(LIST)
    END;
    FELT:=FELT^.NÆSTEVAL;
    WHILE FELT<>NIL DO
    BEGIN
      WRITE(LIST,' ':15,VTYPED(ORD(FELT^.VALIDITETSTYPE)),
            ' ':15-LENGTH(VTYPED(ORD(FELT^.VALIDITETSTYPE))));
      CASE FELT^.VALIDITETSTYPE OF
      HINTERVAL:WRITELN(LIST,FELT^.MIN:12,FELT^.MAX:17);
      DINTERVAL:WRITELN(LIST,FELT^.MIN1*10000.0+FELT^.MIN2:12:-2,
                                    FELT^.MAX1*10000.0+FELT^.MAX2:17:-2);
      RINTERVAL:WRITELN(LIST,FELT^.RMIN:12:2,FELT^.RMAX:17:2);
      DATO,CPR: WRITELN(LIST)
      END;
      FELT:=FELT^.NÆSTEVAL
    END;
    WRITELN(LIST)
  END;
  PAGE(LIST)
END;
(*$P*)
(*HOVEDPROGRAM*)
BEGIN
  INIT;
  USERNIVEAU:=MENIG;
  I:=ORD(PARM^(1))-48;
  WHILE I>0 DO
  BEGIN
    USERNIVEAU:=SUCC(USERNIVEAU);
    I:=I-1
  END;
  CLEARSCREEN;
  ANTALFELTER:=0;
  FNAVN:='NONE';
  WRITELN('Input-fil');
  GOTOXY(11,1);
  EDIT(FNAVN:16);
  IF POS('NONE',FNAVN)<>1 THEN LÆSDESC;
  REPEAT
    CLEARSCREEN;
    WRITELN('1 Opbygning af feltbeskrivelse');
    WRITELN('2 Ændring af eksisterende feltbeskrivelse');
    WRITELN('3 Simulering');
    WRITELN('4 Oprettelse af datafil');
    WRITELN('5 Printerudskrift af feltbeskrivelse');
    WRITELN('Vælg 0-5');
    REPEAT
      GOTOXY(12,6);
      READLN;READ(I)
    UNTIL (I>=0) AND (I<=5);
    CASE I OF
    1:IF USERNIVEAU>=HSM THEN CREATEPD;
    2:MAINPD;
    3:BEGIN
        HUSKNIV:=USERNIVEAU;
        USERNIVEAU:=UMULIUS;
        NULPOST;
        SKRIVPOST;
        REPEAT
          READLN;
          FOR I:=1 TO ANTALFELTER DO
            LÆSFELT(PICTURE(I));
          READLN;READ(I);
          IF I<>-1 THEN SKRIVPOST
        UNTIL I=-1;
        USERNIVEAU:=HUSKNIV
      END;
    4:IF USERNIVEAU>=HSM THEN OPRET;
    5:LISTDESC
    END
  UNTIL I=0;
  CLEARSCREEN;
  WRITELN('Output-fil');
  GOTOXY(12,1);
  EDIT(FNAVN:16);
  IF FNAVN<>'                ' THEN SKRIVDESC;
  FNAVN:=' ';
  FNAVN(1):=PARM^(1);
  CHAIN('L       *1',CONCAT('HOVED:P2,',FNAVN),QUQ);
  IF IORESULT<>0 THEN WRITELN('IORESULT ',IORESULT)
 
END.

Mikados K File

0x0000…001f Line {l1=0x1d, l2=»PROGRAM SKÆRMBILLEDGENERATOR;«, l3=0x1d}
0x001f…0034 Line {l1=0x13, l2=»CONST MAXFELTER=30;«, l3=0x13}
0x0034…0048 Line {l1=0x12, l2=»      MAXPOST=250;«, l3=0x12}
0x0048…004e Line {l1=0x04, l2=»TYPE«, l3=0x04}
0x004e…0077 Line {l1=0x27, l2=»PARMARRAY=PACKED ARRAY (1..39) OF CHAR;«, l3=0x27}
0x0077…0090 Line {l1=0x17, l2=»NFELT=^FELTBESKRIVELSE;«, l3=0x17}
0x0090…00db Line {l1=0x49, l2=»NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);«, l3=0x49}
0x00db…00ec Line {l1=0x0f, l2=»SKÆRMPOS=RECORD«, l3=0x0f}
0x00ec…00fc Line {l1=0x0e, l2=»   X,Y:INTEGER«, l3=0x0e}
0x00fc…0102 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0102…0126 Line {l1=0x22, l2=»FTYPE=(HELTAL,DOBBTAL,REEL,TEKST);«, l3=0x22}
0x0126…0157 Line {l1=0x2f, l2=»VTYPE=(HINTERVAL,DINTERVAL,RINTERVAL,DATO,CPR);«, l3=0x2f}
0x0157…017e Line {l1=0x25, l2=»BESKRIVELSESTYPE=(FELTDESC,VALIDESC);«, l3=0x25}
0x017e…0196 Line {l1=0x16, l2=»FELTBESKRIVELSE=RECORD«, l3=0x16}
0x0196…01aa Line {l1=0x12, l2=»   NÆSTEVAL:NFELT;«, l3=0x12}
0x01aa…01d0 Line {l1=0x24, l2=»   CASE DESCTYPE:BESKRIVELSESTYPE OF«, l3=0x24}
0x01d0…01de Line {l1=0x0c, l2=»   FELTDESC:«, l3=0x0c}
0x01de…01f9 Line {l1=0x19, l2=»  (INDPOS,UDPOS:SKÆRMPOS;«, l3=0x19}
0x01f9…021d Line {l1=0x22, l2=»   KIKKENIVEAU,ÆNDRENIVEAU:NIVEAU;«, l3=0x22}
0x021d…0234 Line {l1=0x15, l2=»   EDITERING:INTEGER;«, l3=0x15}
0x0234…0255 Line {l1=0x1f, l2=»   LEDETEKST,FØLGETEKST:STRING;«, l3=0x1f}
0x0255…0269 Line {l1=0x12, l2=»   INDEKS:INTEGER;«, l3=0x12}
0x0269…027d Line {l1=0x12, l2=»   LÆNGDE:INTEGER;«, l3=0x12}
0x027d…0291 Line {l1=0x12, l2=»   FORAN0:INTEGER;«, l3=0x12}
0x0291…02ac Line {l1=0x19, l2=»   CASE FELTTYPE:FTYPE OF«, l3=0x19}
0x02ac…02c4 Line {l1=0x16, l2=»   REEL:(DEC:INTEGER);«, l3=0x16}
0x02c4…02e2 Line {l1=0x1c, l2=»   HELTAL,DOBBTAL,TEKST:());«, l3=0x1c}
0x02e2…02f0 Line {l1=0x0c, l2=»   VALIDESC:«, l3=0x0c}
0x02f0…0311 Line {l1=0x1f, l2=»  (CASE VALIDITETSTYPE:VTYPE OF«, l3=0x1f}
0x0311…0335 Line {l1=0x22, l2=»      HINTERVAL:(MIN,MAX:INTEGER);«, l3=0x22}
0x0335…0365 Line {l1=0x2e, l2=»      DINTERVAL:(MIN1,MIN2,MAX1,MAX2:INTEGER);«, l3=0x2e}
0x0365…0388 Line {l1=0x21, l2=»      RINTERVAL:(RMIN,RMAX:REAL);«, l3=0x21}
0x0388…039c Line {l1=0x12, l2=»      DATO,CPR:())«, l3=0x12}
0x039c…03a2 Line {l1=0x04, l2=»END;«, l3=0x04}
0x03a2…03c4 Line {l1=0x20, l2=»FELTFIL=FILE OF FELTBESKRIVELSE;«, l3=0x20}
0x03c4…03e3 Line {l1=0x1d, l2=»AR=ARRAY (-4..-4) OF INTEGER;«, l3=0x1d}
0x03e3…040a Line {l1=0x25, l2=»ARAR=PACKED ARRAY (-11..-10) OF CHAR;«, l3=0x25}
0x040a…0425 Line {l1=0x19, l2=»RAR=ARRAY (0..0) OF REAL;«, l3=0x19}
0x0425…043c Line {l1=0x15, l2=»OPERATIONSPOST=RECORD«, l3=0x15}
0x043c…044c Line {l1=0x0e, l2=»      AA:ARAR;«, l3=0x0e}
0x044c…0459 Line {l1=0x0b, l2=»      A:AR;«, l3=0x0b}
0x0459…0469 Line {l1=0x0e, l2=»      AAA:RAR;«, l3=0x0e}
0x0469…0498 Line {l1=0x2d, l2=»      CONTENTS: ARRAY (1..MAXPOST) OF INTEGER«, l3=0x2d}
0x0498…049e Line {l1=0x04, l2=»END;«, l3=0x04}
0x049e…04b4 Line {l1=0x14, l2=»VAR PARM:^PARMARRAY;«, l3=0x14}
0x04b4…04c7 Line {l1=0x11, l2=»    QUQ:^INTEGER;«, l3=0x11}
0x04c7…04d8 Line {l1=0x0f, l2=»    FELT:NFELT;«, l3=0x0f}
0x04d8…04f8 Line {l1=0x1e, l2=»    USERNIVEAU,HUSKNIV:NIVEAU;«, l3=0x1e}
0x04f8…0524 Line {l1=0x2a, l2=»    PICTURE:ARRAY (1..MAXFELTER) OF NFELT;«, l3=0x2a}
0x0524…0540 Line {l1=0x1a, l2=»    I,ANTALFELTER:INTEGER;«, l3=0x1a}
0x0540…0552 Line {l1=0x10, l2=»    LINE:STRING;«, l3=0x10}
0x0552…056c Line {l1=0x18, l2=»    POST:OPERATIONSPOST;«, l3=0x18}
0x056c…057f Line {l1=0x11, l2=»    FFIL:FELTFIL;«, l3=0x11}
0x057f…0592 Line {l1=0x11, l2=»    FNAVN:STRING;«, l3=0x11}
0x0592…05ba Line {l1=0x26, l2=»    NIVEAUD:ARRAY (0..9) OF STRING(8);«, l3=0x26}
0x05ba…05e2 Line {l1=0x26, l2=»    FTYPED: ARRAY (0..4) OF STRING(8);«, l3=0x26}
0x05e2…060a Line {l1=0x26, l2=»    VTYPED: ARRAY (0..5) OF STRING(9);«, l3=0x26}
0x060a…0613 Line {l1=0x07, l2=»(*$R-*)«, l3=0x07}
0x0613…061b Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x061b…062d Line {l1=0x10, l2=»PROCEDURE OPRET;«, l3=0x10}
0x062d…065a Line {l1=0x2b, l2=»TYPE ISF=FILE OF ARRAY (1..232) OF INTEGER;«, l3=0x2b}
0x065a…0698 Line {l1=0x3c, l2=»     KEYDESCRIPTION=ARRAY (1..9) OF ARRAY (1..3) OF INTEGER;«, l3=0x3c}
0x0698…06d7 Line {l1=0x3d, l2=»VAR NREC,RECSIZE,KEYFLDS,IER,L,POSI,OUTOFRANGE,FKEYS:INTEGER;«, l3=0x3d}
0x06d7…06ec Line {l1=0x13, l2=»    FILNAVN:STRING;«, l3=0x13}
0x06ec…0709 Line {l1=0x1b, l2=»    KEYDESC:KEYDESCRIPTION;«, l3=0x1b}
0x0709…071c Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x071c…072a Line {l1=0x0c, l2=»(*$ICREATE*)«, l3=0x0c}
0x072a…0731 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0731…0741 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x0741…075f Line {l1=0x1c, l2=»  WRITELN('Datafilnavn:Pn');«, l3=0x1c}
0x075f…0770 Line {l1=0x0f, l2=»  GOTOXY(16,1);«, l3=0x0f}
0x0770…0789 Line {l1=0x17, l2=»  READLN;READ(FILNAVN);«, l3=0x17}
0x0789…07a5 Line {l1=0x1a, l2=»  WRITELN('Antal poster');«, l3=0x1a}
0x07a5…07b6 Line {l1=0x0f, l2=»  GOTOXY(16,2);«, l3=0x0f}
0x07b6…07cc Line {l1=0x14, l2=»  READLN;READ(NREC);«, l3=0x14}
0x07cc…07fb Line {l1=0x2d, l2=»  FOR I:=1 TO MAXPOST DO POST.CONTENTS(I):=0;«, l3=0x2d}
0x07fb…082c Line {l1=0x2f, l2=»  RECSIZE:=0;OUTOFRANGE:=0;FKEYS:=0;KEYFLDS:=0;«, l3=0x2f}
0x082c…084a Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x084a…0861 Line {l1=0x15, l2=»  WITH PICTURE(I)^ DO«, l3=0x15}
0x0861…086a Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x086a…0880 Line {l1=0x14, l2=»    CASE FELTTYPE OF«, l3=0x14}
0x0880…0893 Line {l1=0x11, l2=»    HELTAL :BEGIN«, l3=0x11}
0x0893…08b0 Line {l1=0x1b, l2=»              POSI:=INDEKS;«, l3=0x1b}
0x08b0…08c4 Line {l1=0x12, l2=»              L:=1«, l3=0x12}
0x08c4…08d6 Line {l1=0x10, l2=»            END;«, l3=0x10}
0x08d6…08e9 Line {l1=0x11, l2=»    DOBBTAL:BEGIN«, l3=0x11}
0x08e9…0906 Line {l1=0x1b, l2=»              POSI:=INDEKS;«, l3=0x1b}
0x0906…091a Line {l1=0x12, l2=»              L:=2«, l3=0x12}
0x091a…092c Line {l1=0x10, l2=»            END;«, l3=0x10}
0x092c…093f Line {l1=0x11, l2=»    REEL   :BEGIN«, l3=0x11}
0x093f…0964 Line {l1=0x23, l2=»              POSI:=1+(INDEKS-1)*4;«, l3=0x23}
0x0964…0978 Line {l1=0x12, l2=»              L:=4«, l3=0x12}
0x0978…098a Line {l1=0x10, l2=»            END;«, l3=0x10}
0x098a…099d Line {l1=0x11, l2=»    TEKST  :BEGIN«, l3=0x11}
0x099d…09c4 Line {l1=0x25, l2=»              POSI:=(INDEKS+1) DIV 2;«, l3=0x25}
0x09c4…09e7 Line {l1=0x21, l2=»              L:=(LÆNGDE+1) DIV 2«, l3=0x21}
0x09e7…09f8 Line {l1=0x0f, l2=»            END«, l3=0x0f}
0x09f8…0a02 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0a02…0a2e Line {l1=0x2a, l2=»    IF (POSI<1) OR (POSI+L-1>MAXPOST) THEN«, l3=0x2a}
0x0a2e…0a4e Line {l1=0x1e, l2=»      OUTOFRANGE:=OUTOFRANGE+1«, l3=0x1e}
0x0a4e…0a58 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x0a58…0a63 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0a63…0a7e Line {l1=0x19, l2=»      RECSIZE:=RECSIZE+L;«, l3=0x19}
0x0a7e…0aa1 Line {l1=0x21, l2=»      IF ÆNDRENIVEAU=UMULIUS THEN«, l3=0x21}
0x0aa1…0aae Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x0aae…0ad0 Line {l1=0x20, l2=»        IF FELTTYPE>DOBBTAL THEN«, l3=0x20}
0x0ad0…0aea Line {l1=0x18, l2=»          FKEYS:=FKEYS+1«, l3=0x18}
0x0aea…0af8 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x0af8…0b07 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x0b07…0b26 Line {l1=0x1d, l2=»          KEYFLDS:=KEYFLDS+1;«, l3=0x1d}
0x0b26…0b4b Line {l1=0x23, l2=»          KEYDESC(KEYFLDS,1):=POSI;«, l3=0x23}
0x0b4b…0b6d Line {l1=0x20, l2=»          KEYDESC(KEYFLDS,2):=L;«, l3=0x20}
0x0b6d…0b8e Line {l1=0x1f, l2=»          KEYDESC(KEYFLDS,3):=1«, l3=0x1f}
0x0b8e…0b9b Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x0b9b…0ba7 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x0ba7…0bb5 Line {l1=0x0c, l2=»      REPEAT«, l3=0x0c}
0x0bb5…0bea Line {l1=0x33, l2=»        POST.CONTENTS(POSI):=POST.CONTENTS(POSI)+1;«, l3=0x33}
0x0bea…0c01 Line {l1=0x15, l2=»        POSI:=POSI+1;«, l3=0x15}
0x0c01…0c11 Line {l1=0x0e, l2=»        L:=L-1«, l3=0x0e}
0x0c11…0c22 Line {l1=0x0f, l2=»      UNTIL L=0«, l3=0x0f}
0x0c22…0c2b Line {l1=0x07, l2=»    END«, l3=0x07}
0x0c2b…0c33 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x0c33…0c4d Line {l1=0x18, l2=»  FOR I:=1 TO RECSIZE DO«, l3=0x18}
0x0c4d…0c6d Line {l1=0x1e, l2=»    IF POST.CONTENTS(I)>1 THEN«, l3=0x1e}
0x0c6d…0c8f Line {l1=0x20, l2=»      WRITELN('OVERLAPNING',I:5)«, l3=0x20}
0x0c8f…0c99 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x0c99…0ccf Line {l1=0x34, l2=»      IF POST.CONTENTS(I)<1 THEN WRITELN('HUL',I:5);«, l3=0x34}
0x0ccf…0cf1 Line {l1=0x20, l2=»  FOR I:=RECSIZE+1 TO MAXPOST DO«, l3=0x20}
0x0cf1…0d2a Line {l1=0x37, l2=»    IF POST.CONTENTS(I)<>0 THEN WRITELN('FORBIER',I:5);«, l3=0x37}
0x0d2a…0d66 Line {l1=0x3a, l2=»  IF OUTOFRANGE>0 THEN WRITELN('OUTOFRANGE',OUTOFRANGE:5);«, l3=0x3a}
0x0d66…0da8 Line {l1=0x40, l2=»  IF FKEYS>0 THEN WRITELN('IKKE-IMPLEMENTEREDE NØGLER',FKEYS:5);«, l3=0x40}
0x0da8…0dc8 Line {l1=0x1e, l2=»  WRITELN('Nøglebeskrivelse');«, l3=0x1e}
0x0dc8…0de2 Line {l1=0x18, l2=»  FOR I:=1 TO KEYFLDS DO«, l3=0x18}
0x0de2…0e21 Line {l1=0x3d, l2=»    WRITELN(KEYDESC(I,1):10,KEYDESC(I,2):10,KEYDESC(I,3):10);«, l3=0x3d}
0x0e21…0e32 Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x0e32…0e59 Line {l1=0x25, l2=»  WRITELN('Skal filen oprettes J/N');«, l3=0x25}
0x0e59…0e6b Line {l1=0x10, l2=»  GOTOXY(27,23);«, l3=0x10}
0x0e6b…0e77 Line {l1=0x0a, l2=»  CH:='N';«, l3=0x0a}
0x0e77…0e84 Line {l1=0x0b, l2=»  EDIT(CH);«, l3=0x0b}
0x0e84…0e96 Line {l1=0x10, l2=»  IF CH='J' THEN«, l3=0x10}
0x0e96…0e9f Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0e9f…0ed6 Line {l1=0x35, l2=»    CREATE(FILNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,IER);«, l3=0x35}
0x0ed6…0f06 Line {l1=0x2e, l2=»    FNAVN:=CONCAT(COPY(FILNAVN,1,4),'DESC:P');«, l3=0x2e}
0x0f06…0f4d Line {l1=0x45, l2=»    FNAVN:=CONCAT(FNAVN,COPY(FILNAVN,POS(':P',FILNAVN)+2,1),':30:J');«, l3=0x45}
0x0f4d…0f68 Line {l1=0x19, l2=»    WRITELN('IER : ',IER)«, l3=0x19}
0x0f68…0f6f Line {l1=0x05, l2=»  END«, l3=0x05}
0x0f6f…0f75 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0f75…0f7d Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x0f7d…0f8e Line {l1=0x0f, l2=»PROCEDURE INIT;«, l3=0x0f}
0x0f8e…0f95 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0f95…0fad Line {l1=0x16, l2=»  NIVEAUD(0):='MENIG';«, l3=0x16}
0x0fad…0fc7 Line {l1=0x18, l2=»  NIVEAUD(1):='SERGENT';«, l3=0x18}
0x0fc7…0fe2 Line {l1=0x19, l2=»  NIVEAUD(2):='LØJTNANT';«, l3=0x19}
0x0fe2…0ffc Line {l1=0x18, l2=»  NIVEAUD(3):='KAPTAJN';«, l3=0x18}
0x0ffc…1014 Line {l1=0x16, l2=»  NIVEAUD(4):='MAJOR';«, l3=0x16}
0x1014…102d Line {l1=0x17, l2=»  NIVEAUD(5):='OBERST';«, l3=0x17}
0x102d…1047 Line {l1=0x18, l2=»  NIVEAUD(6):='GENERAL';«, l3=0x18}
0x1047…105d Line {l1=0x14, l2=»  NIVEAUD(7):='HSM';«, l3=0x14}
0x105d…1077 Line {l1=0x18, l2=»  NIVEAUD(8):='UMULIUS';«, l3=0x18}
0x1077…108f Line {l1=0x16, l2=»  FTYPED(0):='HELTAL';«, l3=0x16}
0x108f…10a8 Line {l1=0x17, l2=»  FTYPED(1):='DOBBTAL';«, l3=0x17}
0x10a8…10be Line {l1=0x14, l2=»  FTYPED(2):='REEL';«, l3=0x14}
0x10be…10d5 Line {l1=0x15, l2=»  FTYPED(3):='TEKST';«, l3=0x15}
0x10d5…10f0 Line {l1=0x19, l2=»  VTYPED(0):='HINTERVAL';«, l3=0x19}
0x10f0…110b Line {l1=0x19, l2=»  VTYPED(1):='DINTERVAL';«, l3=0x19}
0x110b…1126 Line {l1=0x19, l2=»  VTYPED(2):='RINTERVAL';«, l3=0x19}
0x1126…113c Line {l1=0x14, l2=»  VTYPED(3):='DATO';«, l3=0x14}
0x113c…1150 Line {l1=0x12, l2=»  VTYPED(4):='CPR'«, l3=0x12}
0x1150…1156 Line {l1=0x04, l2=»END;«, l3=0x04}
0x1156…115e Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x115e…1172 Line {l1=0x12, l2=»PROCEDURE LÆSDESC;«, l3=0x12}
0x1172…1179 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1179…1191 Line {l1=0x16, l2=»  REWRITE(FFIL,FNAVN);«, l3=0x16}
0x1191…1194 Line {l1=0x01, l2=» «, l3=0x01}
0x1194…11a2 Line {l1=0x0c, l2=»  GET(FFIL);«, l3=0x0c}
0x11a2…11ab Line {l1=0x07, l2=»  I:=0;«, l3=0x07}
0x11ab…11c8 Line {l1=0x1b, l2=»  WHILE FFIL^.INDPOS.X>0 DO«, l3=0x1b}
0x11c8…11d1 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x11d1…11de Line {l1=0x0b, l2=»    I:=I+1;«, l3=0x0b}
0x11de…11fa Line {l1=0x1a, l2=»    CASE FFIL^.FELTTYPE OF«, l3=0x1a}
0x11fa…1223 Line {l1=0x27, l2=»    REEL:NEW(PICTURE(I),FELTDESC,REEL);«, l3=0x27}
0x1223…125d Line {l1=0x38, l2=»    HELTAL,DOBBTAL,TEKST:NEW(PICTURE(I),FELTDESC,HELTAL)«, l3=0x38}
0x125d…1267 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1267…127e Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x127e…1281 Line {l1=0x01, l2=» «, l3=0x01}
0x1281…129a Line {l1=0x17, l2=»    WITH PICTURE(I)^ DO«, l3=0x17}
0x129a…12a5 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x12a5…12c0 Line {l1=0x19, l2=»      DESCTYPE:=FELTDESC;«, l3=0x19}
0x12c0…12e1 Line {l1=0x1f, l2=»      INDPOS.X:=FFIL^.INDPOS.X;«, l3=0x1f}
0x12e1…1302 Line {l1=0x1f, l2=»      INDPOS.Y:=FFIL^.INDPOS.Y;«, l3=0x1f}
0x1302…1321 Line {l1=0x1d, l2=»      UDPOS.X:=FFIL^.UDPOS.X;«, l3=0x1d}
0x1321…1340 Line {l1=0x1d, l2=»      UDPOS.Y:=FFIL^.UDPOS.Y;«, l3=0x1d}
0x1340…1367 Line {l1=0x25, l2=»      KIKKENIVEAU:=FFIL^.KIKKENIVEAU;«, l3=0x25}
0x1367…138e Line {l1=0x25, l2=»      ÆNDRENIVEAU:=FFIL^.ÆNDRENIVEAU;«, l3=0x25}
0x138e…13b1 Line {l1=0x21, l2=»      LEDETEKST:=FFIL^.LEDETEKST;«, l3=0x21}
0x13b1…13d6 Line {l1=0x23, l2=»      FØLGETEKST:=FFIL^.FØLGETEKST;«, l3=0x23}
0x13d6…13f9 Line {l1=0x21, l2=»      EDITERING:=FFIL^.EDITERING;«, l3=0x21}
0x13f9…141a Line {l1=0x1f, l2=»      FELTTYPE:=FFIL^.FELTTYPE;«, l3=0x1f}
0x141a…1437 Line {l1=0x1b, l2=»      INDEKS:=FFIL^.INDEKS;«, l3=0x1b}
0x1437…1454 Line {l1=0x1b, l2=»      LÆNGDE:=FFIL^.LÆNGDE;«, l3=0x1b}
0x1454…1471 Line {l1=0x1b, l2=»      FORAN0:=FFIL^.FORAN0;«, l3=0x1b}
0x1471…149e Line {l1=0x2b, l2=»      IF FELTTYPE=REEL THEN DEC:=FFIL^.DEC;«, l3=0x2b}
0x149e…14c2 Line {l1=0x22, l2=»      WHILE FFIL^.NÆSTEVAL<>NIL DO«, l3=0x22}
0x14c2…14cf Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x14cf…14e3 Line {l1=0x12, l2=»        GET(FFIL);«, l3=0x12}
0x14e3…14fa Line {l1=0x15, l2=»        WITH FELT^ DO«, l3=0x15}
0x14fa…1520 Line {l1=0x24, l2=»        CASE FFIL^.VALIDITETSTYPE OF«, l3=0x24}
0x1520…153b Line {l1=0x19, l2=»          HINTERVAL:BEGIN«, l3=0x19}
0x153b…1574 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,HINTERVAL);«, l3=0x37}
0x1574…15a5 Line {l1=0x2f, l2=»                      NÆSTEVAL^.MIN:=FFIL^.MIN;«, l3=0x2f}
0x15a5…15d5 Line {l1=0x2e, l2=»                      NÆSTEVAL^.MAX:=FFIL^.MAX«, l3=0x2e}
0x15d5…15ef Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x15ef…160a Line {l1=0x19, l2=»          DINTERVAL:BEGIN«, l3=0x19}
0x160a…1643 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,DINTERVAL);«, l3=0x37}
0x1643…1691 Line {l1=0x4c, l2=»                      NÆSTEVAL^.MIN1:=FFIL^.MIN1;NÆSTEVAL^.MIN2:=FFIL^.MIN2;«, l3=0x4c}
0x1691…16de Line {l1=0x4b, l2=»                      NÆSTEVAL^.MAX1:=FFIL^.MAX1;NÆSTEVAL^.MAX2:=FFIL^.MAX2«, l3=0x4b}
0x16de…16f8 Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x16f8…1713 Line {l1=0x19, l2=»          RINTERVAL:BEGIN«, l3=0x19}
0x1713…174c Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,RINTERVAL);«, l3=0x37}
0x174c…177f Line {l1=0x31, l2=»                      NÆSTEVAL^.RMIN:=FFIL^.RMIN;«, l3=0x31}
0x177f…17b1 Line {l1=0x30, l2=»                      NÆSTEVAL^.RMAX:=FFIL^.RMAX«, l3=0x30}
0x17b1…17cb Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x17cb…17fb Line {l1=0x2e, l2=»          DATO,CPR:NEW(NÆSTEVAL,VALIDESC,DATO)«, l3=0x2e}
0x17fb…1809 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x1809…1828 Line {l1=0x1d, l2=»        FELT:=FELT^.NÆSTEVAL;«, l3=0x1d}
0x1828…184b Line {l1=0x21, l2=»        FELT^.DESCTYPE:=VALIDESC;«, l3=0x21}
0x184b…187f Line {l1=0x32, l2=»        FELT^.VALIDITETSTYPE:=FFIL^.VALIDITETSTYPE«, l3=0x32}
0x187f…188b Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x188b…18a6 Line {l1=0x19, l2=»      FELT^.NÆSTEVAL:=NIL«, l3=0x19}
0x18a6…18b0 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x18b0…18bf Line {l1=0x0d, l2=»    GET(FFIL)«, l3=0x0d}
0x18bf…18c7 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x18c7…18d7 Line {l1=0x0e, l2=»  CLOSE(FFIL);«, l3=0x0e}
0x18d7…18e9 Line {l1=0x10, l2=»  ANTALFELTER:=I«, l3=0x10}
0x18e9…18ef Line {l1=0x04, l2=»END;«, l3=0x04}
0x18ef…18f7 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x18f7…190d Line {l1=0x14, l2=»PROCEDURE SKRIVDESC;«, l3=0x14}
0x190d…1914 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1914…192c Line {l1=0x16, l2=»  REWRITE(FFIL,FNAVN);«, l3=0x16}
0x192c…192f Line {l1=0x01, l2=» «, l3=0x01}
0x192f…194d Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x194d…1956 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x1956…196d Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x196d…1979 Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x1979…198e Line {l1=0x13, l2=»      FFIL^:=FELT^;«, l3=0x13}
0x198e…19a0 Line {l1=0x10, l2=»      PUT(FFIL);«, l3=0x10}
0x19a0…19bc Line {l1=0x1a, l2=»      FELT:=FELT^.NÆSTEVAL«, l3=0x1a}
0x19bc…19d0 Line {l1=0x12, l2=»    UNTIL FELT=NIL«, l3=0x12}
0x19d0…19d8 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x19d8…19f5 Line {l1=0x1b, l2=»  FFIL^.DESCTYPE:=FELTDESC;«, l3=0x1b}
0x19f5…1a0b Line {l1=0x14, l2=»  FFIL^.INDPOS.X:=0;«, l3=0x14}
0x1a0b…1a19 Line {l1=0x0c, l2=»  PUT(FFIL);«, l3=0x0c}
0x1a19…1a28 Line {l1=0x0d, l2=»  CLOSE(FFIL)«, l3=0x0d}
0x1a28…1a2e Line {l1=0x04, l2=»END;«, l3=0x04}
0x1a2e…1a36 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x1a36…1a5a Line {l1=0x22, l2=»PROCEDURE MOVETOLINE(VAR F:NFELT);«, l3=0x22}
0x1a5a…1a6d Line {l1=0x11, l2=»VAR CH:STRING(1);«, l3=0x11}
0x1a6d…1a86 Line {l1=0x17, l2=»    TAL,DECS,I:INTEGER;«, l3=0x17}
0x1a86…1a9e Line {l1=0x16, l2=»    RESULT,DM,DD:REAL;«, l3=0x16}
0x1a9e…1aa5 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1aa5…1ab1 Line {l1=0x0a, l2=»  CH:=' ';«, l3=0x0a}
0x1ab1…1acc Line {l1=0x19, l2=»      CASE F^.FELTTYPE OF«, l3=0x19}
0x1acc…1ae0 Line {l1=0x12, l2=»      HELTAL:BEGIN«, l3=0x12}
0x1ae0…1afa Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x1afa…1b27 Line {l1=0x2b, l2=»               TAL:=ABS(POST.A(F^.INDEKS));«, l3=0x2b}
0x1b27…1b3e Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x1b3e…1b6b Line {l1=0x2b, l2=»                 CH(1):=CHR(TAL MOD 10+48);«, l3=0x2b}
0x1b6b…1b94 Line {l1=0x27, l2=»                 LINE:=CONCAT(CH,LINE);«, l3=0x27}
0x1b94…1bb6 Line {l1=0x20, l2=»                 TAL:=TAL DIV 10«, l3=0x20}
0x1bb6…1bd3 Line {l1=0x1b, l2=»               UNTIL TAL=0;«, l3=0x1b}
0x1bd3…1c1b Line {l1=0x46, l2=»               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);«, l3=0x46}
0x1c1b…1c5e Line {l1=0x41, l2=»               IF POST.A(F^.INDEKS)<0 THEN LINE:=CONCAT('-',LINE)«, l3=0x41}
0x1c5e…1c71 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x1c71…1c85 Line {l1=0x12, l2=»     DOBBTAL:BEGIN«, l3=0x12}
0x1c85…1c9f Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x1c9f…1ceb Line {l1=0x4a, l2=»               RESULT:=ABS(POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1));«, l3=0x4a}
0x1ceb…1d0c Line {l1=0x1f, l2=»               DM:=100000000.0;«, l3=0x1f}
0x1d0c…1d23 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x1d23…1d4d Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x1d4d…1d79 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x1d79…1d95 Line {l1=0x1a, l2=»                 DM:=DM/10«, l3=0x1a}
0x1d95…1dbf Line {l1=0x28, l2=»               UNTIL (I>48) OR (DM<1.0);«, l3=0x28}
0x1dbf…1dd6 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x1dd6…1df7 Line {l1=0x1f, l2=»                 CH(1):=CHR(I);«, l3=0x1f}
0x1df7…1e20 Line {l1=0x27, l2=»                 LINE:=CONCAT(LINE,CH);«, l3=0x27}
0x1e20…1e4a Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x1e4a…1e76 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x1e76…1e94 Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x1e94…1eb3 Line {l1=0x1d, l2=»               UNTIL DM<0.09;«, l3=0x1d}
0x1eb3…1efb Line {l1=0x46, l2=»               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);«, l3=0x46}
0x1efb…1f45 Line {l1=0x48, l2=»               IF POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1)<0.0 THEN«, l3=0x48}
0x1f45…1f6e Line {l1=0x27, l2=»                 LINE:=CONCAT('-',LINE)«, l3=0x27}
0x1f6e…1f81 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x1f81…1f95 Line {l1=0x12, l2=»       TEKST:BEGIN«, l3=0x12}
0x1f95…1faf Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x1faf…1fec Line {l1=0x3b, l2=»               FOR I:=F^.INDEKS TO F^.INDEKS+F^.LÆNGDE-1 DO«, l3=0x3b}
0x1fec…2002 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x2002…2027 Line {l1=0x23, l2=»                 CH(1):=POST.AA(I);«, l3=0x23}
0x2027…204f Line {l1=0x26, l2=»                 LINE:=CONCAT(LINE,CH)«, l3=0x26}
0x204f…2063 Line {l1=0x12, l2=»               END«, l3=0x12}
0x2063…2076 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x2076…208a Line {l1=0x12, l2=»        REEL:BEGIN«, l3=0x12}
0x208a…20bc Line {l1=0x30, l2=»               RESULT:=ABS(POST.AAA(F^.INDEKS));«, l3=0x30}
0x20bc…20da Line {l1=0x1c, l2=»               DECS:=F^.DEC;«, l3=0x1c}
0x20da…20f9 Line {l1=0x1d, l2=»               IF DECS=0 THEN«, l3=0x1d}
0x20f9…2113 Line {l1=0x18, l2=»                 DD:=0.0«, l3=0x18}
0x2113…2128 Line {l1=0x13, l2=»               ELSE«, l3=0x13}
0x2128…213e Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x213e…2159 Line {l1=0x19, l2=»                 DD:=0.1;«, l3=0x19}
0x2159…21a7 Line {l1=0x4c, l2=»                 FOR I:=1 TO DECS DO BEGIN RESULT:=RESULT*10.0;DD:=DD*10 END«, l3=0x4c}
0x21a7…21bc Line {l1=0x13, l2=»               END;«, l3=0x13}
0x21bc…21d6 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x21d6…21fa Line {l1=0x22, l2=»               IF F^.FORAN0=0 THEN«, l3=0x22}
0x21fa…2210 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x2210…2236 Line {l1=0x24, l2=»                 DM:=100000000000.0;«, l3=0x24}
0x2236…224f Line {l1=0x17, l2=»                 REPEAT«, l3=0x17}
0x224f…227b Line {l1=0x2a, l2=»                   I:=TRUNC(RESULT/DM)+48;«, l3=0x2a}
0x227b…22a9 Line {l1=0x2c, l2=»                   RESULT:=RESULT-DM*(I-48);«, l3=0x2c}
0x22a9…22c9 Line {l1=0x1e, l2=»                   DM:=DM/10.0«, l3=0x1e}
0x22c9…22ff Line {l1=0x34, l2=»                 UNTIL (I>48) OR (DM<1.0) OR (DM=DD)«, l3=0x34}
0x22ff…2313 Line {l1=0x12, l2=»               END«, l3=0x12}
0x2313…2328 Line {l1=0x13, l2=»               ELSE«, l3=0x13}
0x2328…233e Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x233e…2359 Line {l1=0x19, l2=»                 DM:=1.0;«, l3=0x19}
0x2359…2391 Line {l1=0x36, l2=»                 FOR I:=2 TO F^.FORAN0 DO DM:=DM*10.0;«, l3=0x36}
0x2391…23bb Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x23bb…23e7 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x23e7…2405 Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x2405…241a Line {l1=0x13, l2=»               END;«, l3=0x13}
0x241a…2431 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x2431…2452 Line {l1=0x1f, l2=»                 CH(1):=CHR(I);«, l3=0x1f}
0x2452…247b Line {l1=0x27, l2=»                 LINE:=CONCAT(LINE,CH);«, l3=0x27}
0x247b…24b3 Line {l1=0x36, l2=»                 IF DM=DD THEN LINE:=CONCAT(LINE,'.');«, l3=0x36}
0x24b3…24dd Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x24dd…2509 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x2509…2527 Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x2527…2546 Line {l1=0x1d, l2=»               UNTIL DM<0.09;«, l3=0x1d}
0x2546…258d Line {l1=0x45, l2=»               IF POST.AAA(F^.INDEKS)<0.0 THEN LINE:=CONCAT('-',LINE)«, l3=0x45}
0x258d…259f Line {l1=0x10, l2=»             END«, l3=0x10}
0x259f…25aa Line {l1=0x09, l2=»      END«, l3=0x09}
0x25aa…25b0 Line {l1=0x04, l2=»END;«, l3=0x04}
0x25b0…25b8 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x25b8…25cc Line {l1=0x12, l2=»PROCEDURE NULPOST;«, l3=0x12}
0x25cc…25de Line {l1=0x10, l2=»VAR I,J:INTEGER;«, l3=0x10}
0x25de…25e5 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x25e5…2617 Line {l1=0x30, l2=»  FOR J:=1 TO ANTALFELTER DO WITH PICTURE(J)^ DO«, l3=0x30}
0x2617…2620 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x2620…2636 Line {l1=0x14, l2=»    CASE FELTTYPE OF«, l3=0x14}
0x2636…2655 Line {l1=0x1d, l2=»    HELTAL:POST.A(INDEKS):=0;«, l3=0x1d}
0x2655…2668 Line {l1=0x11, l2=»    DOBBTAL:BEGIN«, l3=0x11}
0x2668…268a Line {l1=0x20, l2=»              POST.A(INDEKS):=0;«, l3=0x20}
0x268a…26ad Line {l1=0x21, l2=»              POST.A(INDEKS+1):=0«, l3=0x21}
0x26ad…26bf Line {l1=0x10, l2=»            END;«, l3=0x10}
0x26bf…26e0 Line {l1=0x1f, l2=»    REEL:POST.AAA(INDEKS):=0.0;«, l3=0x1f}
0x26e0…270f Line {l1=0x2d, l2=»    TEKST:FOR I:=INDEKS TO LÆNGDE+INDEKS-1 DO«, l3=0x2d}
0x270f…272d Line {l1=0x1c, l2=»            POST.AA(I):=' ';«, l3=0x1c}
0x272d…2736 Line {l1=0x07, l2=»    END«, l3=0x07}
0x2736…273d Line {l1=0x05, l2=»  END«, l3=0x05}
0x273d…2743 Line {l1=0x04, l2=»END;«, l3=0x04}
0x2743…2746 Line {l1=0x01, l2=» «, l3=0x01}
0x2746…2769 Line {l1=0x21, l2=»PROCEDURE SKRIVFELT(VAR F:NFELT);«, l3=0x21}
0x2769…2779 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x2779…2789 Line {l1=0x0e, l2=»    R,DF:REAL;«, l3=0x0e}
0x2789…2790 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2790…27b5 Line {l1=0x23, l2=» IF USERNIVEAU>=F^.KIKKENIVEAU THEN«, l3=0x23}
0x27b5…27bd Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x27bd…27df Line {l1=0x20, l2=»  GOTOXY(F^.UDPOS.X,F^.UDPOS.Y);«, l3=0x20}
0x27df…27fb Line {l1=0x1a, l2=»  WRITE(F^.LEDETEKST,' ');«, l3=0x1a}
0x27fb…280d Line {l1=0x10, l2=»  MOVETOLINE(F);«, l3=0x10}
0x280d…281f Line {l1=0x10, l2=»  WRITELN(LINE);«, l3=0x10}
0x281f…2825 Line {l1=0x04, l2=» END«, l3=0x04}
0x2825…282b Line {l1=0x04, l2=»END;«, l3=0x04}
0x282b…282e Line {l1=0x01, l2=» «, l3=0x01}
0x282e…2844 Line {l1=0x14, l2=»PROCEDURE SKRIVPOST;«, l3=0x14}
0x2844…2854 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x2854…285b Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x285b…286b Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x286b…28a0 Line {l1=0x33, l2=»  FOR I:=1 TO ANTALFELTER DO SKRIVFELT(PICTURE(I));«, l3=0x33}
0x28a0…28a6 Line {l1=0x04, l2=»END;«, l3=0x04}
0x28a6…28ae Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x28ae…28cf Line {l1=0x1f, l2=»PROCEDURE LÆSFELT(VAR F:NFELT);«, l3=0x1f}
0x28cf…28e8 Line {l1=0x17, l2=»VAR I,TAL,TAL1:INTEGER;«, l3=0x17}
0x28e8…28f8 Line {l1=0x0e, l2=»    VAL:NFELT;«, l3=0x0e}
0x28f8…290a Line {l1=0x10, l2=»    RESULT:REAL;«, l3=0x10}
0x290a…291f Line {l1=0x13, l2=»    BUMMED:BOOLEAN;«, l3=0x13}
0x291f…2922 Line {l1=0x01, l2=» «, l3=0x01}
0x2922…292a Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x292a…293f Line {l1=0x13, l2=»PROCEDURE LÆSLINIE;«, l3=0x13}
0x293f…2950 Line {l1=0x0f, l2=»VAR OK:BOOLEAN;«, l3=0x0f}
0x2950…296d Line {l1=0x1b, l2=»    DECS,I,FORTEGN:INTEGER;«, l3=0x1b}
0x296d…297b Line {l1=0x0c, l2=»    DM:REAL;«, l3=0x0c}
0x297b…297e Line {l1=0x01, l2=» «, l3=0x01}
0x297e…2985 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2985…298f Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x298f…299f Line {l1=0x0e, l2=»    OK:=FALSE;«, l3=0x0e}
0x299f…29b1 Line {l1=0x10, l2=»    RESULT:=0.0;«, l3=0x10}
0x29b1…29be Line {l1=0x0b, l2=»    TAL:=0;«, l3=0x0b}
0x29be…29cc Line {l1=0x0c, l2=»    TAL1:=0;«, l3=0x0c}
0x29cc…29f2 Line {l1=0x24, l2=»    GOTOXY(F^.INDPOS.X,F^.INDPOS.Y);«, l3=0x24}
0x29f2…2a2c Line {l1=0x38, l2=»    WRITELN(F^.LEDETEKST,' ':F^.LÆNGDE+2,F^.FØLGETEKST);«, l3=0x38}
0x2a2c…2a69 Line {l1=0x3b, l2=»    GOTOXY(F^.INDPOS.X+LENGTH(F^.LEDETEKST)+1,F^.INDPOS.Y);«, l3=0x3b}
0x2a69…2a85 Line {l1=0x1a, l2=»    IF F^.EDITERING=0 THEN«, l3=0x1a}
0x2a85…2a90 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2a90…2aa9 Line {l1=0x17, l2=»      READLN;READ(LINE)«, l3=0x17}
0x2aa9…2ab2 Line {l1=0x07, l2=»    END«, l3=0x07}
0x2ab2…2abc Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x2abc…2ac7 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2ac7…2add Line {l1=0x14, l2=»      MOVETOLINE(F);«, l3=0x14}
0x2add…2afa Line {l1=0x1b, l2=»      EDIT(LINE:F^.LÆNGDE);«, l3=0x1b}
0x2afa…2b3e Line {l1=0x42, l2=»      WHILE LINE(LENGTH(LINE))=' ' DO LINE(0):=CHR(ORD(LINE(0))-1)«, l3=0x42}
0x2b3e…2b48 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x2b48…2b61 Line {l1=0x17, l2=»    CASE F^.FELTTYPE OF«, l3=0x17}
0x2b61…2b69 Line {l1=0x06, l2=»TEKST:«, l3=0x06}
0x2b69…2b8e Line {l1=0x23, l2=»    IF LENGTH(LINE)<=F^.LÆNGDE THEN«, l3=0x23}
0x2b8e…2b99 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2b99…2baa Line {l1=0x0f, l2=»      OK:=TRUE;«, l3=0x0f}
0x2baa…2bd1 Line {l1=0x25, l2=»      WHILE LENGTH(LINE)<F^.LÆNGDE DO«, l3=0x25}
0x2bd1…2bee Line {l1=0x1b, l2=»        IF F^.FORAN0=0 THEN«, l3=0x1b}
0x2bee…2c10 Line {l1=0x20, l2=»          LINE:=CONCAT(LINE,' ')«, l3=0x20}
0x2c10…2c1e Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x2c1e…2c40 Line {l1=0x20, l2=»          LINE:=CONCAT(' ',LINE)«, l3=0x20}
0x2c40…2c4a Line {l1=0x08, l2=»    END;«, l3=0x08}
0x2c4a…2c5b Line {l1=0x0f, l2=»HELTAL,DOBBTAL:«, l3=0x0f}
0x2c5b…2c77 Line {l1=0x1a, l2=»    IF LENGTH(LINE)>0 THEN«, l3=0x1a}
0x2c77…2c82 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2c82…2c8f Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x2c8f…2ca2 Line {l1=0x11, l2=»      FORTEGN:=1;«, l3=0x11}
0x2ca2…2cbd Line {l1=0x19, l2=»      IF LINE(1)='-' THEN«, l3=0x19}
0x2cbd…2cca Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x2cca…2ce0 Line {l1=0x14, l2=»        FORTEGN:=-1;«, l3=0x14}
0x2ce0…2cee Line {l1=0x0c, l2=»        I:=1«, l3=0x0c}
0x2cee…2cfa Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2cfa…2d19 Line {l1=0x1d, l2=»      WHILE LENGTH(LINE)>I DO«, l3=0x1d}
0x2d19…2d26 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x2d26…2d39 Line {l1=0x11, l2=»        OK:=TRUE;«, l3=0x11}
0x2d39…2d4a Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x2d4a…2d79 Line {l1=0x2d, l2=»        IF NOT (LINE(I) IN (.'0'..'9'.)) THEN«, l3=0x2d}
0x2d79…2d88 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x2d88…2d9e Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x2d9e…2db9 Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x2db9…2dc7 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x2dc7…2df2 Line {l1=0x29, l2=»        RESULT:=10*RESULT+ORD(LINE(I))-48«, l3=0x29}
0x2df2…2dfe Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2dfe…2e1d Line {l1=0x1d, l2=»      RESULT:=RESULT*FORTEGN;«, l3=0x1d}
0x2e1d…2e2f Line {l1=0x10, l2=»      IF OK THEN«, l3=0x10}
0x2e2f…2e4a Line {l1=0x19, l2=»      CASE F^.FELTTYPE OF«, l3=0x19}
0x2e4a…2e96 Line {l1=0x4a, l2=»      HELTAL:IF ABS(RESULT)<=32767 THEN TAL:=TRUNC(RESULT) ELSE OK:=FALSE;«, l3=0x4a}
0x2e96…2ec6 Line {l1=0x2e, l2=»      DOBBTAL:IF ABS(RESULT)<=327679999.0 THEN«, l3=0x2e}
0x2ec6…2edb Line {l1=0x13, l2=»              BEGIN«, l3=0x13}
0x2edb…2f08 Line {l1=0x2b, l2=»                TAL:=TRUNC(RESULT/10000.0);«, l3=0x2b}
0x2f08…2f39 Line {l1=0x2f, l2=»                TAL1:=TRUNC(RESULT-10000.0*TAL)«, l3=0x2f}
0x2f39…2f4c Line {l1=0x11, l2=»              END«, l3=0x11}
0x2f4c…2f6a Line {l1=0x1c, l2=»              ELSE OK:=FALSE«, l3=0x1c}
0x2f6a…2f75 Line {l1=0x09, l2=»      END«, l3=0x09}
0x2f75…2f8d Line {l1=0x16, l2=»    END ELSE OK:=TRUE;«, l3=0x16}
0x2f8d…2f94 Line {l1=0x05, l2=»REEL:«, l3=0x05}
0x2f94…2fb0 Line {l1=0x1a, l2=»    IF LENGTH(LINE)>0 THEN«, l3=0x1a}
0x2fb0…2fbb Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2fbb…2fc8 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x2fc8…2fdb Line {l1=0x11, l2=»      FORTEGN:=1;«, l3=0x11}
0x2fdb…2fec Line {l1=0x0f, l2=»      DECS:=-1;«, l3=0x0f}
0x2fec…3007 Line {l1=0x19, l2=»      IF LINE(1)='-' THEN«, l3=0x19}
0x3007…3014 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x3014…302a Line {l1=0x14, l2=»        FORTEGN:=-1;«, l3=0x14}
0x302a…3038 Line {l1=0x0c, l2=»        I:=1«, l3=0x0c}
0x3038…3044 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x3044…3072 Line {l1=0x2c, l2=»      WHILE (LENGTH(LINE)>I) AND (DECS<0) DO«, l3=0x2c}
0x3072…307f Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x307f…3092 Line {l1=0x11, l2=»        OK:=TRUE;«, l3=0x11}
0x3092…30a3 Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x30a3…30cc Line {l1=0x27, l2=»        IF LINE(I) IN (.'0'..'9'.) THEN«, l3=0x27}
0x30cc…30f9 Line {l1=0x2b, l2=»          RESULT:=10*RESULT+ORD(LINE(I))-48«, l3=0x2b}
0x30f9…3107 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x3107…3137 Line {l1=0x2e, l2=»        IF (LINE(I)='.') OR (LINE(I)=',') THEN«, l3=0x2e}
0x3137…314a Line {l1=0x11, l2=»          DECS:=0«, l3=0x11}
0x314a…3158 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x3158…3167 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x3167…317d Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x317d…3198 Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x3198…31a5 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x31a5…31b1 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x31b1…31c1 Line {l1=0x0e, l2=»      DM:=1.0;«, l3=0x0e}
0x31c1…31e0 Line {l1=0x1d, l2=»      WHILE LENGTH(LINE)>I DO«, l3=0x1d}
0x31e0…31ed Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x31ed…31fe Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x31fe…3214 Line {l1=0x14, l2=»        DM:=DM/10.0;«, l3=0x14}
0x3214…323d Line {l1=0x27, l2=»        IF LINE(I) IN (.'0'..'9'.) THEN«, l3=0x27}
0x323d…324c Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x324c…327c Line {l1=0x2e, l2=»          RESULT:=RESULT+DM*(ORD(LINE(I))-48);«, l3=0x2e}
0x327c…3294 Line {l1=0x16, l2=»          DECS:=DECS+1«, l3=0x16}
0x3294…32a1 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x32a1…32af Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x32af…32be Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x32be…32d4 Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x32d4…32ef Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x32ef…32fc Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x32fc…3308 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x3308…3327 Line {l1=0x1d, l2=»      RESULT:=FORTEGN*RESULT;«, l3=0x1d}
0x3327…334c Line {l1=0x23, l2=»      IF DECS>F^.DEC THEN OK:=FALSE«, l3=0x23}
0x334c…3355 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3355…3368 Line {l1=0x11, l2=»    ELSE OK:=TRUE«, l3=0x11}
0x3368…3371 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3371…337d Line {l1=0x0a, l2=»  UNTIL OK«, l3=0x0a}
0x337d…3383 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3383…338b Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x338b…33a0 Line {l1=0x13, l2=»PROCEDURE CHECKVAL;«, l3=0x13}
0x33a0…33c5 Line {l1=0x23, l2=»VAR I,DAT0,MÅNED,ÅR,MODULC:INTEGER;«, l3=0x23}
0x33c5…33e8 Line {l1=0x21, l2=»    CPN:ARRAY (1..10) OF INTEGER;«, l3=0x21}
0x33e8…33ef Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x33ef…340e Line {l1=0x1d, l2=»  CASE VAL^.VALIDITETSTYPE OF«, l3=0x1d}
0x340e…341c Line {l1=0x0c, l2=»  HINTERVAL:«, l3=0x0c}
0x341c…344d Line {l1=0x2f, l2=»    BUMMED:=((TAL<VAL^.MIN) OR (TAL>VAL^.MAX));«, l3=0x2f}
0x344d…345b Line {l1=0x0c, l2=»  DINTERVAL:«, l3=0x0c}
0x345b…349b Line {l1=0x3e, l2=»    BUMMED:=((TAL*10000.0+TAL1<VAL^.MIN1*10000.0+VAL^.MIN2) OR«, l3=0x3e}
0x349b…34da Line {l1=0x3d, l2=»             (TAL*10000.0+TAL1>VAL^.MAX1*10000.0+VAL^.MAX2));«, l3=0x3d}
0x34da…34e8 Line {l1=0x0c, l2=»  RINTERVAL:«, l3=0x0c}
0x34e8…3521 Line {l1=0x37, l2=»    BUMMED:=((RESULT<VAL^.RMIN) OR (RESULT>VAL^.RMAX));«, l3=0x37}
0x3521…352a Line {l1=0x07, l2=»  DATO:«, l3=0x07}
0x352a…3546 Line {l1=0x1a, l2=»    IF LENGTH(LINE)=6 THEN«, l3=0x1a}
0x3546…3551 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3551…3582 Line {l1=0x2f, l2=»      ÅR:=10*(ORD(LINE(1))-48)+ORD(LINE(2))-48;«, l3=0x2f}
0x3582…35b6 Line {l1=0x32, l2=»      MÅNED:=10*(ORD(LINE(3))-48)+ORD(LINE(4))-48;«, l3=0x32}
0x35b6…35e9 Line {l1=0x31, l2=»      DAT0:=10*(ORD(LINE(5))-48)+ORD(LINE(6))-48;«, l3=0x31}
0x35e9…3637 Line {l1=0x4c, l2=»      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;«, l3=0x4c}
0x3637…3651 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x3651…3666 Line {l1=0x13, l2=»      CASE MÅNED OF«, l3=0x13}
0x3666…3695 Line {l1=0x2d, l2=»      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;«, l3=0x2d}
0x3695…36e0 Line {l1=0x49, l2=»      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4 <>0)) THEN BUMMED:=TRUE«, l3=0x49}
0x36e0…36eb Line {l1=0x09, l2=»      END«, l3=0x09}
0x36eb…36f4 Line {l1=0x07, l2=»    END«, l3=0x07}
0x36f4…370c Line {l1=0x16, l2=»    ELSE BUMMED:=TRUE;«, l3=0x16}
0x370c…3714 Line {l1=0x06, l2=»  CPR:«, l3=0x06}
0x3714…3731 Line {l1=0x1b, l2=»    IF LENGTH(LINE)=10 THEN«, l3=0x1b}
0x3731…373c Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x373c…376e Line {l1=0x30, l2=»      FOR I:=1 TO 10 DO CPN(I):=ORD(LINE(I))-48;«, l3=0x30}
0x376e…378d Line {l1=0x1d, l2=»      DAT0:=CPN(1)*10+CPN(2);«, l3=0x1d}
0x378d…37ad Line {l1=0x1e, l2=»      MÅNED:=CPN(3)*10+CPN(4);«, l3=0x1e}
0x37ad…37ca Line {l1=0x1b, l2=»      ÅR:=CPN(5)*10+CPN(6);«, l3=0x1b}
0x37ca…3818 Line {l1=0x4c, l2=»      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;«, l3=0x4c}
0x3818…3832 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x3832…3847 Line {l1=0x13, l2=»      CASE MÅNED OF«, l3=0x13}
0x3847…3876 Line {l1=0x2d, l2=»      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;«, l3=0x2d}
0x3876…38c0 Line {l1=0x48, l2=»      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4<>0)) THEN BUMMED:=TRUE«, l3=0x48}
0x38c0…38cc Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x38cc…38e6 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x38e6…38f3 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x38f3…3942 Line {l1=0x4d, l2=»      MODULC:=CPN(1)*4+CPN(2)*3+CPN(3)*2+CPN(4)*7+CPN(5)*6+CPN(6)*5+CPN(7)*4+«, l3=0x4d}
0x3942…396c Line {l1=0x28, l2=»              CPN(8)*3+CPN(9)*2+CPN(10);«, l3=0x28}
0x396c…399b Line {l1=0x2d, l2=»        IF MODULC MOD 11<>0 THEN BUMMED:=TRUE«, l3=0x2d}
0x399b…39a6 Line {l1=0x09, l2=»      END«, l3=0x09}
0x39a6…39af Line {l1=0x07, l2=»    END«, l3=0x07}
0x39af…39c7 Line {l1=0x16, l2=»    ELSE BUMMED:=TRUE;«, l3=0x16}
0x39c7…39ce Line {l1=0x05, l2=»  END«, l3=0x05}
0x39ce…39d4 Line {l1=0x04, l2=»END;«, l3=0x04}
0x39d4…39dc Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x39dc…39f3 Line {l1=0x15, l2=»(*PROCEDURE LÆSFELT*)«, l3=0x15}
0x39f3…39fa Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x39fa…3a1f Line {l1=0x23, l2=» IF USERNIVEAU>=F^.ÆNDRENIVEAU THEN«, l3=0x23}
0x3a1f…3a27 Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x3a27…3a31 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x3a31…3a40 Line {l1=0x0d, l2=»    LÆSLINIE;«, l3=0x0d}
0x3a40…3a57 Line {l1=0x15, l2=»    VAL:=F^.NÆSTEVAL;«, l3=0x15}
0x3a57…3a6b Line {l1=0x12, l2=»    BUMMED:=FALSE;«, l3=0x12}
0x3a6b…3a95 Line {l1=0x28, l2=»    WHILE (VAL<>NIL) AND (NOT BUMMED) DO«, l3=0x28}
0x3a95…3aa0 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3aa0…3ab1 Line {l1=0x0f, l2=»      CHECKVAL;«, l3=0x0f}
0x3ab1…3acb Line {l1=0x18, l2=»      VAL:=VAL^.NÆSTEVAL«, l3=0x18}
0x3acb…3ad4 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3ad4…3ae9 Line {l1=0x13, l2=»  UNTIL NOT BUMMED;«, l3=0x13}
0x3ae9…3b00 Line {l1=0x15, l2=»  CASE F^.FELTTYPE OF«, l3=0x15}
0x3b00…3b22 Line {l1=0x20, l2=»  HELTAL:POST.A(F^.INDEKS):=TAL;«, l3=0x20}
0x3b22…3b33 Line {l1=0x0f, l2=»  DOBBTAL:BEGIN«, l3=0x0f}
0x3b33…3b58 Line {l1=0x23, l2=»            POST.A(F^.INDEKS):=TAL;«, l3=0x23}
0x3b58…3b7f Line {l1=0x25, l2=»            POST.A(F^.INDEKS+1):=TAL1«, l3=0x25}
0x3b7f…3b8f Line {l1=0x0e, l2=»          END;«, l3=0x0e}
0x3b8f…3bb4 Line {l1=0x23, l2=»  REEL:POST.AAA(F^.INDEKS):=RESULT;«, l3=0x23}
0x3bb4…3bd6 Line {l1=0x20, l2=»  TEKST:FOR I:=1 TO F^.LÆNGDE DO«, l3=0x20}
0x3bd6…3c03 Line {l1=0x2b, l2=»            POST.AA(I+F^.INDEKS-1):=LINE(I)«, l3=0x2b}
0x3c03…3c0a Line {l1=0x05, l2=»  END«, l3=0x05}
0x3c0a…3c10 Line {l1=0x04, l2=» END«, l3=0x04}
0x3c10…3c16 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3c16…3c1e Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x3c1e…3c41 Line {l1=0x21, l2=»PROCEDURE SKRIVVALI(VAR F:NFELT);«, l3=0x21}
0x3c41…3c48 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x3c48…3c58 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x3c58…3c9b Line {l1=0x41, l2=»  WRITELN('Validitetstype',' ':6,VTYPED(ORD(F^.VALIDITETSTYPE)));«, l3=0x41}
0x3c9b…3cb8 Line {l1=0x1b, l2=»  CASE F^.VALIDITETSTYPE OF«, l3=0x1b}
0x3cb8…3cc4 Line {l1=0x0a, l2=»HINTERVAL:«, l3=0x0a}
0x3cc4…3d11 Line {l1=0x4b, l2=»    WRITELN('Minimum',' ':13,F^.MIN:10,' ':10,'Maksimum',' ':12,F^.MAX:10);«, l3=0x4b}
0x3d11…3d1d Line {l1=0x0a, l2=»DINTERVAL:«, l3=0x0a}
0x3d1d…3d61 Line {l1=0x42, l2=»    WRITELN('Minimum',' ':13,F^.MIN1*10000.0+F^.MIN2:10:-2,' ':10,«, l3=0x42}
0x3d61…3da0 Line {l1=0x3d, l2=»            'Maksimum',' ':12,F^.MAX1*10000.0+F^.MAX2:10:-2);«, l3=0x3d}
0x3da0…3dac Line {l1=0x0a, l2=»RINTERVAL:«, l3=0x0a}
0x3dac…3df1 Line {l1=0x43, l2=»    WRITELN('Minimum',' ':13,F^.RMIN:10:2,' ':10,'Maksimum',' ':12,«, l3=0x43}
0x3df1…3e36 Line {l1=0x43, l2=»                                                     F^.RMAX:10:2);«, l3=0x43}
0x3e36…3e48 Line {l1=0x10, l2=»DATO,CPR:WRITELN«, l3=0x10}
0x3e48…3e4f Line {l1=0x05, l2=»  END«, l3=0x05}
0x3e4f…3e55 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3e55…3e5d Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x3e5d…3e7e Line {l1=0x1f, l2=»PROCEDURE INDVALI(VAR F:NFELT);«, l3=0x1f}
0x3e7e…3e8e Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x3e8e…3e9b Line {l1=0x0b, l2=»    R:REAL;«, l3=0x0b}
0x3e9b…3ea2 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x3ea2…3eac Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x3eac…3ebe Line {l1=0x10, l2=»    GOTOXY(1,3);«, l3=0x10}
0x3ebe…3ede Line {l1=0x1e, l2=»    WRITELN('Validitetstype');«, l3=0x1e}
0x3ede…3ef1 Line {l1=0x11, l2=»    GOTOXY(20,3);«, l3=0x11}
0x3ef1…3f0e Line {l1=0x1b, l2=»    READLN;READ(VTYPED(5));«, l3=0x1b}
0x3f0e…3f19 Line {l1=0x09, l2=»    I:=0;«, l3=0x09}
0x3f19…3f43 Line {l1=0x28, l2=»    WHILE VTYPED(I)<>VTYPED(5) DO I:=I+1«, l3=0x28}
0x3f43…3f5f Line {l1=0x1a, l2=»  UNTIL (I>=0) AND (I<=4);«, l3=0x1a}
0x3f5f…3f6c Line {l1=0x0b, l2=»  CASE I OF«, l3=0x0b}
0x3f6c…3f77 Line {l1=0x09, l2=»  0:BEGIN«, l3=0x09}
0x3f77…3f9c Line {l1=0x23, l2=»      F^.VALIDITETSTYPE:=HINTERVAL;«, l3=0x23}
0x3f9c…3fb0 Line {l1=0x12, l2=»      GOTOXY(1,5);«, l3=0x12}
0x3fb0…3fcb Line {l1=0x19, l2=»      WRITELN('Minimum');«, l3=0x19}
0x3fcb…3fe0 Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x3fe0…3ffc Line {l1=0x1a, l2=»      READLN;READ(F^.MIN);«, l3=0x1a}
0x3ffc…4011 Line {l1=0x13, l2=»      GOTOXY(31,5);«, l3=0x13}
0x4011…402d Line {l1=0x1a, l2=»      WRITELN('Maksimum');«, l3=0x1a}
0x402d…4042 Line {l1=0x13, l2=»      GOTOXY(50,5);«, l3=0x13}
0x4042…405d Line {l1=0x19, l2=»      READLN;READ(F^.MAX)«, l3=0x19}
0x405d…4067 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4067…4072 Line {l1=0x09, l2=»  1:BEGIN«, l3=0x09}
0x4072…4097 Line {l1=0x23, l2=»      F^.VALIDITETSTYPE:=DINTERVAL;«, l3=0x23}
0x4097…40ab Line {l1=0x12, l2=»      GOTOXY(1,5);«, l3=0x12}
0x40ab…40c6 Line {l1=0x19, l2=»      WRITELN('Minimum');«, l3=0x19}
0x40c6…40db Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x40db…40f2 Line {l1=0x15, l2=»      READLN;READ(R);«, l3=0x15}
0x40f2…4114 Line {l1=0x20, l2=»      F^.MIN1:=TRUNC(R/10000.0);«, l3=0x20}
0x4114…413e Line {l1=0x28, l2=»      F^.MIN2:=TRUNC(R-F^.MIN1*10000.0);«, l3=0x28}
0x413e…4153 Line {l1=0x13, l2=»      GOTOXY(31,5);«, l3=0x13}
0x4153…416f Line {l1=0x1a, l2=»      WRITELN('Maksimum');«, l3=0x1a}
0x416f…4184 Line {l1=0x13, l2=»      GOTOXY(50,5);«, l3=0x13}
0x4184…419b Line {l1=0x15, l2=»      READLN;READ(R);«, l3=0x15}
0x419b…41bd Line {l1=0x20, l2=»      F^.MAX1:=TRUNC(R/10000.0);«, l3=0x20}
0x41bd…41e6 Line {l1=0x27, l2=»      F^.MAX2:=TRUNC(R-F^.MAX1*10000.0)«, l3=0x27}
0x41e6…41f0 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x41f0…41fb Line {l1=0x09, l2=»  2:BEGIN«, l3=0x09}
0x41fb…4220 Line {l1=0x23, l2=»      F^.VALIDITETSTYPE:=RINTERVAL;«, l3=0x23}
0x4220…4234 Line {l1=0x12, l2=»      GOTOXY(1,5);«, l3=0x12}
0x4234…424f Line {l1=0x19, l2=»      WRITELN('Minimum');«, l3=0x19}
0x424f…4264 Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x4264…4281 Line {l1=0x1b, l2=»      READLN;READ(F^.RMIN);«, l3=0x1b}
0x4281…4296 Line {l1=0x13, l2=»      GOTOXY(31,5);«, l3=0x13}
0x4296…42b2 Line {l1=0x1a, l2=»      WRITELN('Maksimum');«, l3=0x1a}
0x42b2…42c7 Line {l1=0x13, l2=»      GOTOXY(50,5);«, l3=0x13}
0x42c7…42e3 Line {l1=0x1a, l2=»      READLN;READ(F^.RMAX)«, l3=0x1a}
0x42e3…42ed Line {l1=0x08, l2=»    END;«, l3=0x08}
0x42ed…430b Line {l1=0x1c, l2=»  3:F^.VALIDITETSTYPE:=DATO;«, l3=0x1c}
0x430b…4327 Line {l1=0x1a, l2=»  4:F^.VALIDITETSTYPE:=CPR«, l3=0x1a}
0x4327…432e Line {l1=0x05, l2=»  END«, l3=0x05}
0x432e…4334 Line {l1=0x04, l2=»END;«, l3=0x04}
0x4334…433c Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x433c…4361 Line {l1=0x23, l2=»PROCEDURE SKRIVPARAMS(VAR F:NFELT);«, l3=0x23}
0x4361…4368 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4368…4378 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x4378…4386 Line {l1=0x0c, l2=»  WITH F^ DO«, l3=0x0c}
0x4386…438f Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x438f…43cd Line {l1=0x3c, l2=»    WRITELN(' 1 Indpos X Y',' ':10,INDPOS.X:10,INDPOS.Y:10);«, l3=0x3c}
0x43cd…4409 Line {l1=0x3a, l2=»    WRITELN(' 2 Udpos  X Y',' ':10,UDPOS.X:10,UDPOS.Y:10);«, l3=0x3a}
0x4409…4449 Line {l1=0x3e, l2=»    WRITELN(' 3 Kikkeniveau',' ':9,NIVEAUD(ORD(KIKKENIVEAU)));«, l3=0x3e}
0x4449…4489 Line {l1=0x3e, l2=»    WRITELN(' 4 Ændreniveau',' ':9,NIVEAUD(ORD(ÆNDRENIVEAU)));«, l3=0x3e}
0x4489…44b8 Line {l1=0x2d, l2=»    WRITELN(' 5 Ledetekst',' ':11,LEDETEKST);«, l3=0x2d}
0x44b8…44e9 Line {l1=0x2f, l2=»    WRITELN(' 6 Følgetekst',' ':10,FØLGETEKST);«, l3=0x2f}
0x44e9…451b Line {l1=0x30, l2=»    WRITELN(' 7 Editering',' ':11,EDITERING:10);«, l3=0x30}
0x451b…4547 Line {l1=0x2a, l2=»    WRITELN(' 8 Indeks',' ':14,INDEKS:10);«, l3=0x2a}
0x4547…4573 Line {l1=0x2a, l2=»    WRITELN(' 9 Længde',' ':14,LÆNGDE:10);«, l3=0x2a}
0x4573…459f Line {l1=0x2a, l2=»    WRITELN('10 Foran0',' ':14,FORAN0:10);«, l3=0x2a}
0x459f…45d7 Line {l1=0x36, l2=»    WRITE('11 Felttype',' ':12,FTYPED(ORD(FELTTYPE)));«, l3=0x36}
0x45d7…461b Line {l1=0x42, l2=»    IF FELTTYPE=REEL THEN WRITELN(' ':10,'Dec',DEC:5) ELSE WRITELN«, l3=0x42}
0x461b…4622 Line {l1=0x05, l2=»  END«, l3=0x05}
0x4622…4628 Line {l1=0x04, l2=»END;«, l3=0x04}
0x4628…4630 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x4630…4662 Line {l1=0x30, l2=»PROCEDURE INDPARAM(VAR F:NFELT;PARAMNR:INTEGER);«, l3=0x30}
0x4662…4672 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x4672…4679 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4679…468c Line {l1=0x11, l2=»  CASE PARAMNR OF«, l3=0x11}
0x468c…4697 Line {l1=0x09, l2=»  1:BEGIN«, l3=0x09}
0x4697…46ab Line {l1=0x12, l2=»      GOTOXY(4,1);«, l3=0x12}
0x46ab…46c9 Line {l1=0x1c, l2=»      WRITELN('Indpos X Y');«, l3=0x1c}
0x46c9…46de Line {l1=0x13, l2=»      GOTOXY(20,1);«, l3=0x13}
0x46de…470a Line {l1=0x2a, l2=»      READLN;READ(F^.INDPOS.X,F^.INDPOS.Y)«, l3=0x2a}
0x470a…4714 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4714…471f Line {l1=0x09, l2=»  2:BEGIN«, l3=0x09}
0x471f…4733 Line {l1=0x12, l2=»      GOTOXY(4,2);«, l3=0x12}
0x4733…4751 Line {l1=0x1c, l2=»      WRITELN('Udpos  X Y');«, l3=0x1c}
0x4751…4766 Line {l1=0x13, l2=»      GOTOXY(20,2);«, l3=0x13}
0x4766…4790 Line {l1=0x28, l2=»      READLN;READ(F^.UDPOS.X,F^.UDPOS.Y)«, l3=0x28}
0x4790…479a Line {l1=0x08, l2=»    END;«, l3=0x08}
0x479a…47a5 Line {l1=0x09, l2=»  3:BEGIN«, l3=0x09}
0x47a5…47b2 Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x47b2…47c6 Line {l1=0x12, l2=»      GOTOXY(4,3);«, l3=0x12}
0x47c6…47e5 Line {l1=0x1d, l2=»      WRITELN('Kikkeniveau');«, l3=0x1d}
0x47e5…47fa Line {l1=0x13, l2=»      GOTOXY(20,3);«, l3=0x13}
0x47fa…481a Line {l1=0x1e, l2=»      READLN;READ(NIVEAUD(9));«, l3=0x1e}
0x481a…4827 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x4827…4855 Line {l1=0x2c, l2=»      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1«, l3=0x2c}
0x4855…4874 Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=8);«, l3=0x1d}
0x4874…4885 Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x4885…48a5 Line {l1=0x1e, l2=»      0:F^.KIKKENIVEAU:=MENIG;«, l3=0x1e}
0x48a5…48c7 Line {l1=0x20, l2=»      1:F^.KIKKENIVEAU:=SERGENT;«, l3=0x20}
0x48c7…48ea Line {l1=0x21, l2=»      2:F^.KIKKENIVEAU:=LØJTNANT;«, l3=0x21}
0x48ea…490c Line {l1=0x20, l2=»      3:F^.KIKKENIVEAU:=KAPTAJN;«, l3=0x20}
0x490c…492c Line {l1=0x1e, l2=»      4:F^.KIKKENIVEAU:=MAJOR;«, l3=0x1e}
0x492c…494d Line {l1=0x1f, l2=»      5:F^.KIKKENIVEAU:=OBERST;«, l3=0x1f}
0x494d…496f Line {l1=0x20, l2=»      6:F^.KIKKENIVEAU:=GENERAL;«, l3=0x20}
0x496f…498d Line {l1=0x1c, l2=»      7:F^.KIKKENIVEAU:=HSM;«, l3=0x1c}
0x498d…49ae Line {l1=0x1f, l2=»      8:F^.KIKKENIVEAU:=UMULIUS«, l3=0x1f}
0x49ae…49b9 Line {l1=0x09, l2=»      END«, l3=0x09}
0x49b9…49c3 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x49c3…49ce Line {l1=0x09, l2=»  4:BEGIN«, l3=0x09}
0x49ce…49db Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x49db…49ef Line {l1=0x12, l2=»      GOTOXY(4,4);«, l3=0x12}
0x49ef…4a0e Line {l1=0x1d, l2=»      WRITELN('Ændreniveau');«, l3=0x1d}
0x4a0e…4a23 Line {l1=0x13, l2=»      GOTOXY(20,4);«, l3=0x13}
0x4a23…4a43 Line {l1=0x1e, l2=»      READLN;READ(NIVEAUD(9));«, l3=0x1e}
0x4a43…4a50 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x4a50…4a7e Line {l1=0x2c, l2=»      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1«, l3=0x2c}
0x4a7e…4a9d Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=8);«, l3=0x1d}
0x4a9d…4aae Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x4aae…4ace Line {l1=0x1e, l2=»      0:F^.ÆNDRENIVEAU:=MENIG;«, l3=0x1e}
0x4ace…4af0 Line {l1=0x20, l2=»      1:F^.ÆNDRENIVEAU:=SERGENT;«, l3=0x20}
0x4af0…4b13 Line {l1=0x21, l2=»      2:F^.ÆNDRENIVEAU:=LØJTNANT;«, l3=0x21}
0x4b13…4b35 Line {l1=0x20, l2=»      3:F^.ÆNDRENIVEAU:=KAPTAJN;«, l3=0x20}
0x4b35…4b55 Line {l1=0x1e, l2=»      4:F^.ÆNDRENIVEAU:=MAJOR;«, l3=0x1e}
0x4b55…4b76 Line {l1=0x1f, l2=»      5:F^.ÆNDRENIVEAU:=OBERST;«, l3=0x1f}
0x4b76…4b98 Line {l1=0x20, l2=»      6:F^.ÆNDRENIVEAU:=GENERAL;«, l3=0x20}
0x4b98…4bb6 Line {l1=0x1c, l2=»      7:F^.ÆNDRENIVEAU:=HSM;«, l3=0x1c}
0x4bb6…4bd7 Line {l1=0x1f, l2=»      8:F^.ÆNDRENIVEAU:=UMULIUS«, l3=0x1f}
0x4bd7…4be2 Line {l1=0x09, l2=»      END«, l3=0x09}
0x4be2…4bec Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4bec…4bf7 Line {l1=0x09, l2=»  5:BEGIN«, l3=0x09}
0x4bf7…4c0b Line {l1=0x12, l2=»      GOTOXY(4,5);«, l3=0x12}
0x4c0b…4c28 Line {l1=0x1b, l2=»      WRITELN('Ledetekst');«, l3=0x1b}
0x4c28…4c3d Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x4c3d…4c5e Line {l1=0x1f, l2=»      READLN;READ(F^.LEDETEKST)«, l3=0x1f}
0x4c5e…4c68 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4c68…4c73 Line {l1=0x09, l2=»  6:BEGIN«, l3=0x09}
0x4c73…4c87 Line {l1=0x12, l2=»      GOTOXY(4,6);«, l3=0x12}
0x4c87…4ca5 Line {l1=0x1c, l2=»      WRITELN('Følgetekst');«, l3=0x1c}
0x4ca5…4cba Line {l1=0x13, l2=»      GOTOXY(20,6);«, l3=0x13}
0x4cba…4cdc Line {l1=0x20, l2=»      READLN;READ(F^.FØLGETEKST)«, l3=0x20}
0x4cdc…4ce6 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4ce6…4cf1 Line {l1=0x09, l2=»  7:BEGIN«, l3=0x09}
0x4cf1…4d05 Line {l1=0x12, l2=»      GOTOXY(4,7);«, l3=0x12}
0x4d05…4d26 Line {l1=0x1f, l2=»      WRITELN('Editering 0-1');«, l3=0x1f}
0x4d26…4d3b Line {l1=0x13, l2=»      GOTOXY(20,7);«, l3=0x13}
0x4d3b…4d5c Line {l1=0x1f, l2=»      READLN;READ(F^.EDITERING)«, l3=0x1f}
0x4d5c…4d66 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4d66…4d71 Line {l1=0x09, l2=»  8:BEGIN«, l3=0x09}
0x4d71…4d85 Line {l1=0x12, l2=»      GOTOXY(4,8);«, l3=0x12}
0x4d85…4d9f Line {l1=0x18, l2=»      WRITELN('Indeks');«, l3=0x18}
0x4d9f…4db4 Line {l1=0x13, l2=»      GOTOXY(20,8);«, l3=0x13}
0x4db4…4dd2 Line {l1=0x1c, l2=»      READLN;READ(F^.INDEKS)«, l3=0x1c}
0x4dd2…4ddc Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4ddc…4de7 Line {l1=0x09, l2=»  9:BEGIN«, l3=0x09}
0x4de7…4dfb Line {l1=0x12, l2=»      GOTOXY(4,9);«, l3=0x12}
0x4dfb…4e15 Line {l1=0x18, l2=»      WRITELN('Længde');«, l3=0x18}
0x4e15…4e2a Line {l1=0x13, l2=»      GOTOXY(20,9);«, l3=0x13}
0x4e2a…4e48 Line {l1=0x1c, l2=»      READLN;READ(F^.LÆNGDE)«, l3=0x1c}
0x4e48…4e52 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4e52…4e5d Line {l1=0x09, l2=» 10:BEGIN«, l3=0x09}
0x4e5d…4e72 Line {l1=0x13, l2=»      GOTOXY(4,10);«, l3=0x13}
0x4e72…4e8c Line {l1=0x18, l2=»      WRITELN('Foran0');«, l3=0x18}
0x4e8c…4ea2 Line {l1=0x14, l2=»      GOTOXY(20,10);«, l3=0x14}
0x4ea2…4ec0 Line {l1=0x1c, l2=»      READLN;READ(F^.FORAN0)«, l3=0x1c}
0x4ec0…4eca Line {l1=0x08, l2=»    END;«, l3=0x08}
0x4eca…4ed5 Line {l1=0x09, l2=» 11:BEGIN«, l3=0x09}
0x4ed5…4ee2 Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x4ee2…4ef7 Line {l1=0x13, l2=»      GOTOXY(4,11);«, l3=0x13}
0x4ef7…4f13 Line {l1=0x1a, l2=»      WRITELN('Felttype');«, l3=0x1a}
0x4f13…4f29 Line {l1=0x14, l2=»      GOTOXY(20,11);«, l3=0x14}
0x4f29…4f48 Line {l1=0x1d, l2=»      READLN;READ(FTYPED(4));«, l3=0x1d}
0x4f48…4f55 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x4f55…4f81 Line {l1=0x2a, l2=»      WHILE FTYPED(I)<>FTYPED(4) DO I:=I+1«, l3=0x2a}
0x4f81…4fa0 Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=3);«, l3=0x1d}
0x4fa0…4fb1 Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x4fb1…4fc0 Line {l1=0x0d, l2=»      2:BEGIN«, l3=0x0d}
0x4fc0…4fde Line {l1=0x1c, l2=»          F^.FELTTYPE:=REEL;«, l3=0x1c}
0x4fde…4ff8 Line {l1=0x18, l2=»          GOTOXY(30,11);«, l3=0x18}
0x4ff8…5013 Line {l1=0x19, l2=»          WRITELN('Dec');«, l3=0x19}
0x5013…502d Line {l1=0x18, l2=»          GOTOXY(40,11);«, l3=0x18}
0x502d…504c Line {l1=0x1d, l2=»          READLN;READ(F^.DEC)«, l3=0x1d}
0x504c…505a Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x505a…5078 Line {l1=0x1c, l2=»      0:F^.FELTTYPE:=HELTAL;«, l3=0x1c}
0x5078…5097 Line {l1=0x1d, l2=»      1:F^.FELTTYPE:=DOBBTAL;«, l3=0x1d}
0x5097…50b3 Line {l1=0x1a, l2=»      3:F^.FELTTYPE:=TEKST«, l3=0x1a}
0x50b3…50be Line {l1=0x09, l2=»      END«, l3=0x09}
0x50be…50c7 Line {l1=0x07, l2=»    END«, l3=0x07}
0x50c7…50ce Line {l1=0x05, l2=»  END«, l3=0x05}
0x50ce…50d4 Line {l1=0x04, l2=»END;«, l3=0x04}
0x50d4…50dc Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x50dc…50fc Line {l1=0x1e, l2=»PROCEDURE VEDLFD(VAR F:NFELT);«, l3=0x1e}
0x50fc…510c Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x510c…5113 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x5113…511d Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x511d…5132 Line {l1=0x13, l2=»    SKRIVPARAMS(F);«, l3=0x13}
0x5132…5145 Line {l1=0x11, l2=»    GOTOXY(1,23);«, l3=0x11}
0x5145…516b Line {l1=0x24, l2=»    WRITELN('Feltnr, 0 for færdig');«, l3=0x24}
0x516b…517f Line {l1=0x12, l2=»    GOTOXY(22,23);«, l3=0x12}
0x517f…5194 Line {l1=0x13, l2=»    READLN;READ(I);«, l3=0x13}
0x5194…51d4 Line {l1=0x3e, l2=»    IF (USERNIVEAU>=HSM) OR ((I<>8) AND (I<>9) AND (I<>11) AND«, l3=0x3e}
0x51d4…5209 Line {l1=0x33, l2=»       ((I<>3) OR (USERNIVEAU>=F^.KIKKENIVEAU)) AND«, l3=0x33}
0x5209…5240 Line {l1=0x35, l2=»       ((I<>4) OR (USERNIVEAU>=F^.ÆNDRENIVEAU))) THEN«, l3=0x35}
0x5240…5256 Line {l1=0x14, l2=»       INDPARAM(F,I)«, l3=0x14}
0x5256…5263 Line {l1=0x0b, l2=»  UNTIL I=0«, l3=0x0b}
0x5263…5269 Line {l1=0x04, l2=»END;«, l3=0x04}
0x5269…5271 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x5271…5284 Line {l1=0x11, l2=»PROCEDURE MAINPD;«, l3=0x11}
0x5284…5294 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x5294…52a7 Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x52a7…52b8 Line {l1=0x0f, l2=»    NF,F:NFELT;«, l3=0x0f}
0x52b8…52bf Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x52bf…52c9 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x52c9…52db Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x52db…52fb Line {l1=0x1e, l2=»    FOR I:=1 TO ANTALFELTER DO«, l3=0x1e}
0x52fb…532c Line {l1=0x2f, l2=»      WRITELN(I:3,' ':5,PICTURE(I)^.LEDETEKST);«, l3=0x2f}
0x532c…533f Line {l1=0x11, l2=»    GOTOXY(1,23);«, l3=0x11}
0x533f…5365 Line {l1=0x24, l2=»    WRITELN('Feltnr, 0 for færdig');«, l3=0x24}
0x5365…5379 Line {l1=0x12, l2=»    GOTOXY(22,23);«, l3=0x12}
0x5379…538e Line {l1=0x13, l2=»    READLN;READ(I);«, l3=0x13}
0x538e…53b6 Line {l1=0x26, l2=»    IF (I>0) AND (I<=ANTALFELTER) THEN«, l3=0x26}
0x53b6…53c1 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x53c1…53dc Line {l1=0x19, l2=»      VEDLFD(PICTURE(I));«, l3=0x19}
0x53dc…53f2 Line {l1=0x14, l2=»      F:=PICTURE(I);«, l3=0x14}
0x53f2…5402 Line {l1=0x0e, l2=»      CH:='J';«, l3=0x0e}
0x5402…5432 Line {l1=0x2e, l2=»      WHILE (F^.NÆSTEVAL<>NIL) AND (CH='J') DO«, l3=0x2e}
0x5432…543f Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x543f…5456 Line {l1=0x15, l2=»        GOTOXY(1,23);«, l3=0x15}
0x5456…5486 Line {l1=0x2e, l2=»        WRITELN('Næste validitet J/N',' ':58);«, l3=0x2e}
0x5486…549e Line {l1=0x16, l2=»        GOTOXY(21,23);«, l3=0x16}
0x549e…54b1 Line {l1=0x11, l2=»        EDIT(CH);«, l3=0x11}
0x54b1…54c9 Line {l1=0x16, l2=»        IF CH='J' THEN«, l3=0x16}
0x54c9…54d8 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x54d8…54f3 Line {l1=0x19, l2=»          F:=F^.NÆSTEVAL;«, l3=0x19}
0x54f3…550c Line {l1=0x17, l2=»          SKRIVVALI(F);«, l3=0x17}
0x550c…5525 Line {l1=0x17, l2=»          GOTOXY(1,23);«, l3=0x17}
0x5525…554e Line {l1=0x27, l2=»          WRITELN('Ændres J/N',' ':68);«, l3=0x27}
0x554e…5568 Line {l1=0x18, l2=»          GOTOXY(12,23);«, l3=0x18}
0x5568…557d Line {l1=0x13, l2=»          EDIT(CH);«, l3=0x13}
0x557d…55af Line {l1=0x30, l2=»          IF (CH='J') AND (USERNIVEAU>=HSM) THEN«, l3=0x30}
0x55af…55c7 Line {l1=0x16, l2=»            INDVALI(F)«, l3=0x16}
0x55c7…55d7 Line {l1=0x0e, l2=»          ELSE«, l3=0x0e}
0x55d7…55ec Line {l1=0x13, l2=»            CH:='J'«, l3=0x13}
0x55ec…55f9 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x55f9…5605 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x5605…561a Line {l1=0x13, l2=»      GOTOXY(1,23);«, l3=0x13}
0x561a…564b Line {l1=0x2f, l2=»      WRITELN('Slet: S, Tilføj: T, Færdig: F');«, l3=0x2f}
0x564b…565b Line {l1=0x0e, l2=»      CH:='F';«, l3=0x0e}
0x565b…5671 Line {l1=0x14, l2=»      GOTOXY(34,23);«, l3=0x14}
0x5671…5682 Line {l1=0x0f, l2=»      EDIT(CH);«, l3=0x0f}
0x5682…56a1 Line {l1=0x1d, l2=»      IF USERNIVEAU>=HSM THEN«, l3=0x1d}
0x56a1…56b6 Line {l1=0x13, l2=»      CASE CH(1) OF«, l3=0x13}
0x56b6…56fe Line {l1=0x46, l2=»      'S':IF F^.NÆSTEVAL<>NIL THEN F^.NÆSTEVAL:=F^.NÆSTEVAL^.NÆSTEVAL;«, l3=0x46}
0x56fe…570f Line {l1=0x0f, l2=»      'T':BEGIN«, l3=0x0f}
0x570f…572c Line {l1=0x1b, l2=»          NEW(NF,VALIDESC);«, l3=0x1b}
0x572c…574f Line {l1=0x21, l2=»          NF^.DESCTYPE:=VALIDESC;«, l3=0x21}
0x574f…5767 Line {l1=0x16, l2=»          INDVALI(NF);«, l3=0x16}
0x5767…578d Line {l1=0x24, l2=»          NF^.NÆSTEVAL:=F^.NÆSTEVAL;«, l3=0x24}
0x578d…57a8 Line {l1=0x19, l2=»          F^.NÆSTEVAL:=NF«, l3=0x19}
0x57a8…57b5 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x57b5…57c0 Line {l1=0x09, l2=»      END«, l3=0x09}
0x57c0…57c9 Line {l1=0x07, l2=»    END«, l3=0x07}
0x57c9…57d6 Line {l1=0x0b, l2=»  UNTIL I=0«, l3=0x0b}
0x57d6…57dc Line {l1=0x04, l2=»END;«, l3=0x04}
0x57dc…57e4 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x57e4…57f9 Line {l1=0x13, l2=»PROCEDURE CREATEPD;«, l3=0x13}
0x57f9…5811 Line {l1=0x16, l2=»VAR FRA,TIL,I:INTEGER;«, l3=0x16}
0x5811…5824 Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x5824…5832 Line {l1=0x0c, l2=»    F:NFELT;«, l3=0x0c}
0x5832…5839 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x5839…584a Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x584a…5890 Line {l1=0x44, l2=»  WRITELN('Tilføjelse: T, Sletning: S, Flytning: F, Afslutning: A');«, l3=0x44}
0x5890…58a2 Line {l1=0x10, l2=»  GOTOXY(56,23);«, l3=0x10}
0x58a2…58ae Line {l1=0x0a, l2=»  CH:='T';«, l3=0x0a}
0x58ae…58bb Line {l1=0x0b, l2=»  EDIT(CH);«, l3=0x0b}
0x58bb…58cf Line {l1=0x12, l2=»  WHILE CH<>'A' DO«, l3=0x12}
0x58cf…58d8 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x58d8…58e9 Line {l1=0x0f, l2=»  CASE CH(1) OF«, l3=0x0f}
0x58e9…58f4 Line {l1=0x09, l2=»'T':BEGIN«, l3=0x09}
0x58f4…5906 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x5906…5927 Line {l1=0x1f, l2=»    ANTALFELTER:=ANTALFELTER+1;«, l3=0x1f}
0x5927…5950 Line {l1=0x27, l2=»    NEW(PICTURE(ANTALFELTER),FELTDESC);«, l3=0x27}
0x5950…596e Line {l1=0x1c, l2=»    F:=PICTURE(ANTALFELTER);«, l3=0x1c}
0x596e…598a Line {l1=0x1a, l2=»    F^.DESCTYPE:=FELTDESC;«, l3=0x1a}
0x598a…59b0 Line {l1=0x24, l2=»    FOR I:=1 TO 11 DO INDPARAM(F,I);«, l3=0x24}
0x59b0…59c0 Line {l1=0x0e, l2=»    VEDLFD(F);«, l3=0x0e}
0x59c0…59cc Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x59cc…59e1 Line {l1=0x13, l2=»      GOTOXY(1,23);«, l3=0x13}
0x59e1…5a0e Line {l1=0x2b, l2=»      WRITELN('Flere validitetscheck J/N');«, l3=0x2b}
0x5a0e…5a24 Line {l1=0x14, l2=»      GOTOXY(30,23);«, l3=0x14}
0x5a24…5a34 Line {l1=0x0e, l2=»      CH:='J';«, l3=0x0e}
0x5a34…5a45 Line {l1=0x0f, l2=»      EDIT(CH);«, l3=0x0f}
0x5a45…5a5b Line {l1=0x14, l2=»      IF CH='J' THEN«, l3=0x14}
0x5a5b…5a68 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x5a68…5a8c Line {l1=0x22, l2=»        NEW(F^.NÆSTEVAL,VALIDESC);«, l3=0x22}
0x5a8c…5aac Line {l1=0x1e, l2=»        F^.DESCTYPE:=VALIDESC;«, l3=0x1e}
0x5aac…5ac5 Line {l1=0x17, l2=»        F:=F^.NÆSTEVAL;«, l3=0x17}
0x5ac5…5ad5 Line {l1=0x0e, l2=»        REPEAT«, l3=0x0e}
0x5ad5…5aed Line {l1=0x16, l2=»          CLEARSCREEN;«, l3=0x16}
0x5aed…5b04 Line {l1=0x15, l2=»          INDVALI(F);«, l3=0x15}
0x5b04…5b1d Line {l1=0x17, l2=»          SKRIVVALI(F);«, l3=0x17}
0x5b1d…5b36 Line {l1=0x17, l2=»          GOTOXY(1,23);«, l3=0x17}
0x5b36…5b6b Line {l1=0x33, l2=»          WRITELN('Validitetscheck OK J/N',' ':56);«, l3=0x33}
0x5b6b…5b85 Line {l1=0x18, l2=»          GOTOXY(30,23);«, l3=0x18}
0x5b85…5b99 Line {l1=0x12, l2=»          EDIT(CH)«, l3=0x12}
0x5b99…5baf Line {l1=0x14, l2=»        UNTIL CH='J'«, l3=0x14}
0x5baf…5bba Line {l1=0x09, l2=»      END«, l3=0x09}
0x5bba…5bce Line {l1=0x12, l2=»    UNTIL CH<>'J';«, l3=0x12}
0x5bce…5be5 Line {l1=0x15, l2=»    F^.NÆSTEVAL:=NIL;«, l3=0x15}
0x5be5…5bed Line {l1=0x06, l2=»  END;«, l3=0x06}
0x5bed…5bf8 Line {l1=0x09, l2=»'S':BEGIN«, l3=0x09}
0x5bf8…5c18 Line {l1=0x1e, l2=»    PICTURE(ANTALFELTER):=NIL;«, l3=0x1e}
0x5c18…5c38 Line {l1=0x1e, l2=»    ANTALFELTER:=ANTALFELTER-1«, l3=0x1e}
0x5c38…5c40 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x5c40…5c4b Line {l1=0x09, l2=»'F':BEGIN«, l3=0x09}
0x5c4b…5c5e Line {l1=0x11, l2=»    GOTOXY(1,20);«, l3=0x11}
0x5c5e…5c77 Line {l1=0x17, l2=»    WRITELN('FRA TIL');«, l3=0x17}
0x5c77…5c8a Line {l1=0x11, l2=»    GOTOXY(9,20);«, l3=0x11}
0x5c8a…5ca5 Line {l1=0x19, l2=»    READLN;READ(FRA,TIL);«, l3=0x19}
0x5ca5…5cbb Line {l1=0x14, l2=»    F:=PICTURE(FRA);«, l3=0x14}
0x5cbb…5cd0 Line {l1=0x13, l2=»    IF FRA<TIL THEN«, l3=0x13}
0x5cd0…5d07 Line {l1=0x35, l2=»      FOR I:=FRA TO TIL-1 DO PICTURE(I):=PICTURE(I+1)«, l3=0x35}
0x5d07…5d11 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x5d11…5d4d Line {l1=0x3a, l2=»      FOR I:=FRA DOWNTO TIL+1 DO PICTURE(I):=PICTURE(I-1);«, l3=0x3a}
0x5d4d…5d62 Line {l1=0x13, l2=»    PICTURE(TIL):=F«, l3=0x13}
0x5d62…5d69 Line {l1=0x05, l2=»  END«, l3=0x05}
0x5d69…5d71 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x5d71…5d82 Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x5d82…5dc8 Line {l1=0x44, l2=»  WRITELN('Tilføjelse: T, Sletning: S, Flytning: F, Afslutning: A');«, l3=0x44}
0x5dc8…5dda Line {l1=0x10, l2=»  GOTOXY(56,23);«, l3=0x10}
0x5dda…5de6 Line {l1=0x0a, l2=»  CH:='T';«, l3=0x0a}
0x5de6…5df2 Line {l1=0x0a, l2=»  EDIT(CH)«, l3=0x0a}
0x5df2…5df9 Line {l1=0x05, l2=»  END«, l3=0x05}
0x5df9…5dff Line {l1=0x04, l2=»END;«, l3=0x04}
0x5dff…5e07 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x5e07…5e1c Line {l1=0x13, l2=»PROCEDURE LISTDESC;«, l3=0x13}
0x5e1c…5e23 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x5e23…5e35 Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
0x5e35…5e4d Line {l1=0x16, l2=»  WRITELN(LIST,FNAVN);«, l3=0x16}
0x5e4d…5e5f Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
0x5e5f…5e96 Line {l1=0x35, l2=»  WRITELN(LIST,'Felt Ledetekst',' ':21,'Følgetekst');«, l3=0x35}
0x5e96…5ed9 Line {l1=0x41, l2=»  WRITELN(LIST,' ':5,'Kikkeniveau   Indpos Edit     Ændreniveau',«, l3=0x41}
0x5ed9…5f04 Line {l1=0x29, l2=»             '     Udpos Længde Foran0');«, l3=0x29}
0x5f04…5f42 Line {l1=0x3c, l2=»  WRITELN(LIST,' ':5,'Felttype  Indeks          Decimaler');«, l3=0x3c}
0x5f42…5f8a Line {l1=0x46, l2=»  WRITELN(LIST,' ':15,'Validitetstype      Minimum          Maximum');«, l3=0x46}
0x5f8a…5f9c Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
            […0x1…]
0x5fae…5fcc Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x5fcc…5fd5 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x5fd5…5fec Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x5fec…5fff Line {l1=0x11, l2=»    WITH FELT^ DO«, l3=0x11}
0x5fff…600a Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x600a…6056 Line {l1=0x4a, l2=»      WRITELN(LIST,I:4,' ',LEDETEKST,' ':30-LENGTH(LEDETEKST),FØLGETEKST);«, l3=0x4a}
0x6056…608b Line {l1=0x33, l2=»      WRITELN(LIST,' ':5,NIVEAUD(ORD(KIKKENIVEAU)),«, l3=0x33}
0x608b…60da Line {l1=0x4d, l2=»              ' ':10-LENGTH(NIVEAUD(ORD(KIKKENIVEAU))),INDPOS.X:5,INDPOS.Y:5,«, l3=0x4d}
0x60da…6129 Line {l1=0x4d, l2=»                                                                 EDITERING:5,«, l3=0x4d}
0x6129…6159 Line {l1=0x2e, l2=»              ' ':5,NIVEAUD(ORD(ÆNDRENIVEAU)),«, l3=0x2e}
0x6159…61a8 Line {l1=0x4d, l2=»                ' ':11-LENGTH(NIVEAUD(ORD(ÆNDRENIVEAU))),UDPOS.X:5,UDPOS.Y:5,«, l3=0x4d}
0x61a8…61f7 Line {l1=0x4d, l2=»                                                          LÆNGDE:7,FORAN0:7);«, l3=0x4d}
0x61f7…6226 Line {l1=0x2d, l2=»      WRITE(LIST,' ':5,FTYPED(ORD(FELTTYPE)),«, l3=0x2d}
0x6226…6263 Line {l1=0x3b, l2=»            ' ':11-LENGTH(FTYPED(ORD(FELTTYPE))),INDEKS:4);«, l3=0x3b}
0x6263…62a8 Line {l1=0x43, l2=»      IF FELTTYPE=REEL THEN WRITELN(LIST,DEC:12) ELSE WRITELN(LIST)«, l3=0x43}
0x62a8…62b2 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x62b2…62cd Line {l1=0x19, l2=»    FELT:=FELT^.NÆSTEVAL;«, l3=0x19}
0x62cd…62e5 Line {l1=0x16, l2=»    WHILE FELT<>NIL DO«, l3=0x16}
0x62e5…62f0 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x62f0…632c Line {l1=0x3a, l2=»      WRITE(LIST,' ':15,VTYPED(ORD(FELT^.VALIDITETSTYPE)),«, l3=0x3a}
0x632c…636c Line {l1=0x3e, l2=»            ' ':15-LENGTH(VTYPED(ORD(FELT^.VALIDITETSTYPE))));«, l3=0x3e}
0x636c…6390 Line {l1=0x22, l2=»      CASE FELT^.VALIDITETSTYPE OF«, l3=0x22}
0x6390…63ca Line {l1=0x38, l2=»      HINTERVAL:WRITELN(LIST,FELT^.MIN:12,FELT^.MAX:17);«, l3=0x38}
0x63ca…640d Line {l1=0x41, l2=»      DINTERVAL:WRITELN(LIST,FELT^.MIN1*10000.0+FELT^.MIN2:12:-2,«, l3=0x41}
0x640d…6458 Line {l1=0x49, l2=»                                    FELT^.MAX1*10000.0+FELT^.MAX2:17:-2);«, l3=0x49}
0x6458…6498 Line {l1=0x3e, l2=»      RINTERVAL:WRITELN(LIST,FELT^.RMIN:12:2,FELT^.RMAX:17:2);«, l3=0x3e}
0x6498…64b7 Line {l1=0x1d, l2=»      DATO,CPR: WRITELN(LIST)«, l3=0x1d}
0x64b7…64c3 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x64c3…64df Line {l1=0x1a, l2=»      FELT:=FELT^.NÆSTEVAL«, l3=0x1a}
0x64df…64e9 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x64e9…64fc Line {l1=0x11, l2=»    WRITELN(LIST)«, l3=0x11}
0x64fc…6504 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x6504…6512 Line {l1=0x0c, l2=»  PAGE(LIST)«, l3=0x0c}
0x6512…6518 Line {l1=0x04, l2=»END;«, l3=0x04}
0x6518…6520 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x6520…6532 Line {l1=0x10, l2=»(*HOVEDPROGRAM*)«, l3=0x10}
0x6532…6539 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x6539…6542 Line {l1=0x07, l2=»  INIT;«, l3=0x07}
0x6542…6558 Line {l1=0x14, l2=»  USERNIVEAU:=MENIG;«, l3=0x14}
0x6558…6570 Line {l1=0x16, l2=»  I:=ORD(PARM^(1))-48;«, l3=0x16}
0x6570…6580 Line {l1=0x0e, l2=»  WHILE I>0 DO«, l3=0x0e}
0x6580…6589 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x6589…65ac Line {l1=0x21, l2=»    USERNIVEAU:=SUCC(USERNIVEAU);«, l3=0x21}
0x65ac…65b8 Line {l1=0x0a, l2=»    I:=I-1«, l3=0x0a}
0x65b8…65c0 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x65c0…65d0 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x65d0…65e3 Line {l1=0x11, l2=»  ANTALFELTER:=0;«, l3=0x11}
0x65e3…65f5 Line {l1=0x10, l2=»  FNAVN:='NONE';«, l3=0x10}
0x65f5…660e Line {l1=0x17, l2=»  WRITELN('Input-fil');«, l3=0x17}
0x660e…661f Line {l1=0x0f, l2=»  GOTOXY(11,1);«, l3=0x0f}
0x661f…6632 Line {l1=0x11, l2=»  EDIT(FNAVN:16);«, l3=0x11}
0x6632…665b Line {l1=0x27, l2=»  IF POS('NONE',FNAVN)<>1 THEN LÆSDESC;«, l3=0x27}
0x665b…6665 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x6665…6677 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x6677…66a7 Line {l1=0x2e, l2=»    WRITELN('1 Opbygning af feltbeskrivelse');«, l3=0x2e}
0x66a7…66e2 Line {l1=0x39, l2=»    WRITELN('2 Ændring af eksisterende feltbeskrivelse');«, l3=0x39}
0x66e2…6700 Line {l1=0x1c, l2=»    WRITELN('3 Simulering');«, l3=0x1c}
0x6700…6729 Line {l1=0x27, l2=»    WRITELN('4 Oprettelse af datafil');«, l3=0x27}
0x6729…675f Line {l1=0x34, l2=»    WRITELN('5 Printerudskrift af feltbeskrivelse');«, l3=0x34}
0x675f…6779 Line {l1=0x18, l2=»    WRITELN('Vælg 0-5');«, l3=0x18}
0x6779…6785 Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x6785…679a Line {l1=0x13, l2=»      GOTOXY(12,6);«, l3=0x13}
0x679a…67b0 Line {l1=0x14, l2=»      READLN;READ(I)«, l3=0x14}
0x67b0…67ce Line {l1=0x1c, l2=»    UNTIL (I>=0) AND (I<=5);«, l3=0x1c}
0x67ce…67dd Line {l1=0x0d, l2=»    CASE I OF«, l3=0x0d}
0x67dd…6806 Line {l1=0x27, l2=»    1:IF USERNIVEAU>=HSM THEN CREATEPD;«, l3=0x27}
0x6806…6815 Line {l1=0x0d, l2=»    2:MAINPD;«, l3=0x0d}
0x6815…6822 Line {l1=0x0b, l2=»    3:BEGIN«, l3=0x0b}
0x6822…6840 Line {l1=0x1c, l2=»        HUSKNIV:=USERNIVEAU;«, l3=0x1c}
0x6840…685e Line {l1=0x1c, l2=»        USERNIVEAU:=UMULIUS;«, l3=0x1c}
0x685e…6870 Line {l1=0x10, l2=»        NULPOST;«, l3=0x10}
0x6870…6884 Line {l1=0x12, l2=»        SKRIVPOST;«, l3=0x12}
0x6884…6894 Line {l1=0x0e, l2=»        REPEAT«, l3=0x0e}
0x6894…68a7 Line {l1=0x11, l2=»          READLN;«, l3=0x11}
0x68a7…68cd Line {l1=0x24, l2=»          FOR I:=1 TO ANTALFELTER DO«, l3=0x24}
0x68cd…68ef Line {l1=0x20, l2=»            LÆSFELT(PICTURE(I));«, l3=0x20}
0x68ef…690a Line {l1=0x19, l2=»          READLN;READ(I);«, l3=0x19}
0x690a…692d Line {l1=0x21, l2=»          IF I<>-1 THEN SKRIVPOST«, l3=0x21}
0x692d…6942 Line {l1=0x13, l2=»        UNTIL I=-1;«, l3=0x13}
0x6942…695f Line {l1=0x1b, l2=»        USERNIVEAU:=HUSKNIV«, l3=0x1b}
0x695f…696b Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x696b…6991 Line {l1=0x24, l2=»    4:IF USERNIVEAU>=HSM THEN OPRET;«, l3=0x24}
0x6991…69a1 Line {l1=0x0e, l2=»    5:LISTDESC«, l3=0x0e}
0x69a1…69aa Line {l1=0x07, l2=»    END«, l3=0x07}
0x69aa…69b8 Line {l1=0x0c, l2=»  UNTIL I=0;«, l3=0x0c}
0x69b8…69c8 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x69c8…69e2 Line {l1=0x18, l2=»  WRITELN('Output-fil');«, l3=0x18}
0x69e2…69f3 Line {l1=0x0f, l2=»  GOTOXY(12,1);«, l3=0x0f}
0x69f3…6a06 Line {l1=0x11, l2=»  EDIT(FNAVN:16);«, l3=0x11}
0x6a06…6a36 Line {l1=0x2e, l2=»  IF FNAVN<>'                ' THEN SKRIVDESC;«, l3=0x2e}
0x6a36…6a45 Line {l1=0x0d, l2=»  FNAVN:=' ';«, l3=0x0d}
0x6a45…6a5c Line {l1=0x15, l2=»  FNAVN(1):=PARM^(1);«, l3=0x15}
0x6a5c…6a92 Line {l1=0x34, l2=»  CHAIN('L       *1',CONCAT('HOVED:P2,',FNAVN),QUQ);«, l3=0x34}
0x6a92…6ac7 Line {l1=0x33, l2=»  IF IORESULT<>0 THEN WRITELN('IORESULT ',IORESULT)«, l3=0x33}
0x6ac7…6aca Line {l1=0x01, l2=» «, l3=0x01}
0x6aca…6ad0 Line {l1=0x04, l2=»END.«, l3=0x04}
0x6ad0…6ae0 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63                                                   ┆  cccccccccccccc┆
0x6ae0…6b00 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┆
            […0xc…]
0x6c80…6ca0 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 30   ┆ccccccccccccccccccccccccccccccc0┆

Reduced view