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

⟦2c4c698cf⟧ TextFile

    Length: 32864 (0x8060)
    Types: TextFile
    Notes: Mikados_K
    Names: »SKÆRMBIM.K«

Derivation

└─⟦5630b2e42⟧ Bits:30009005 START APRIL 1985 aft april 1985 (PASCAL kildetekster)
    └─⟦this⟧ »SKÆRMBIM.K« 

Mikados K File

PROGRAM SKÆRMBILLEDGENERATOR;
CONST MAXFELTER=45;
      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;
   FELTNAVN:STRING(8);
   CASE DESCTYPE:BESKRIVELSESTYPE OF
   FELTDESC:
  (INDPOS,UDPOS:SKÆRMPOS;
   KIKKENIVEAU,ÆNDRENIVEAU:NIVEAU;
   EDITERING:INTEGER;
   LEDETEKST,FØLGETEKST:STRING;
   INDEKS:INTEGER;
   LÆNGDE:INTEGER;
   HÆGTE,
   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;
FILDESC=RECORD
   FILNAVN:STRING(18);   (*ISF-FILENS NAVN*)
   DESCNAVN:STRING(18);  (*NAVNET PÅ DEN ENKELTE ISF-FILS BESKRIVELSESFIL*)
   POSTNAVN:STRING(18); (*NAVNET PÅ ET INDIVID I FILEN*)
   REGNAVN:STRING(18); (*FILENS BETEGNELSE*)
   VEDLNIVEAU:NIVEAU;(*ADGANGSNIVEAU FOR GENERELT VEDLIGEHOLDELSESPROGRAM*)
   ZONESIZE:INTEGER
END;
FILEDESC=FILE OF FILDESC;(*FORTEGNELSE OVER ALLE ISF-FILER*)
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);
PROCEDURE IOC;
VAR CH:STRING(1);
BEGIN
  IF IORESULT<>0 THEN
  BEGIN
    CLEARSCREEN;
    GOTOXY(1,10);
    WRITELN('Pladefejl ',IORESULT:5,' RETURN');
    CH:=' ';
    EDIT(CH);
    IF CH<>'R' THEN EXIT(SKÆRMBIL)
  END
END;
(*$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,LEDIGFIL:INTEGER;
    FILNAVN:STRING;
    KEYDESC:KEYDESCRIPTION;
    CH:STRING(1);
    ISFFILES:FILEDESC;
    ISFFNAVN:STRING(18);
(*$ICREATE*)
BEGIN
  ISFFNAVN:='ISFFILES:P2:0000:S';
  REWRITE(ISFFILES,ISFFNAVN);IOC;
  SEEK(ISFFILES,1);IOC;
  LEDIGFIL:=0;
  REPEAT
    GET(ISFFILES);IOC;
    LEDIGFIL:=LEDIGFIL+1
  UNTIL ISFFILES^.FILNAVN(1)='@';
  CLEARSCREEN;
  WRITELN('Datafilnavn:Pn');
  GOTOXY(16,1);
  READLN;READ(FILNAVN);
  WRITELN('Antal poster');
  GOTOXY(16,2);
  READLN;READ(NREC);
  WRITELN('Postnavn');
  GOTOXY(10,3);
  READLN;READ(ISFFILES^.POSTNAVN);
  GOTOXY(40,3);WRITELN('Filbetegnelse');
  GOTOXY(55,3);READLN;READ(ISFFILES^.REGNAVN);
     REPEAT
      GOTOXY(1,4);
      WRITELN('Vedligeholdelsesniveau');
      GOTOXY(24,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:ISFFILES^.VEDLNIVEAU:=MENIG;
      1:ISFFILES^.VEDLNIVEAU:=SERGENT;
      2:ISFFILES^.VEDLNIVEAU:=LØJTNANT;
      3:ISFFILES^.VEDLNIVEAU:=KAPTAJN;
      4:ISFFILES^.VEDLNIVEAU:=MAJOR;
      5:ISFFILES^.VEDLNIVEAU:=OBERST;
      6:ISFFILES^.VEDLNIVEAU:=GENERAL;
      7:ISFFILES^.VEDLNIVEAU:=HSM;
      8:ISFFILES^.VEDLNIVEAU:=UMULIUS
      END;
  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=REEL THEN
          FKEYS:=FKEYS+1
        ELSE
        BEGIN
          KEYFLDS:=KEYFLDS+1;
          KEYDESC(KEYFLDS,1):=POSI;
          KEYDESC(KEYFLDS,2):=L;
          IF FELTTYPE=TEKST THEN
            KEYDESC(KEYFLDS,3):=2
          ELSE
            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);
  REPEAT
    GOTOXY(1,22);
    WRITE('Faldende orden for nøgle nr ');
    READLN;
    IF EOLN THEN I:=0 ELSE READ(I);
    IF (I>0) AND (I<=KEYFLDS) THEN KEYDESC(I,3):=-KEYDESC(I,3)
  UNTIL I=0;I:=1;
  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,ISFFILES^.ZONESIZE,IER);
    FNAVN:=CONCAT(COPY(FILNAVN,1,4),'DESC:P');
    FNAVN:=CONCAT(FNAVN,COPY(FILNAVN,POS(':P',FILNAVN)+2,1),':05:J');
    WRITELN('IER : ',IER);
    ISFFILES^.FILNAVN:=FILNAVN;
    ISFFILES^.DESCNAVN:=FNAVN;
    SEEK(ISFFILES,LEDIGFIL);IOC;
    PUT(ISFFILES);IOC;
    ISFFILES^.FILNAVN(1):='@';
    PUT(ISFFILES);IOC
  END
END;
(*$P*)
PROCEDURE INIT;
BEGIN
  NIVEAUD(0):='M';
  NIVEAUD(1):='S';
  NIVEAUD(2):='L';
  NIVEAUD(3):='K';
  NIVEAUD(4):='MA';
  NIVEAUD(5):='O';
  NIVEAUD(6):='G';
  NIVEAUD(7):='H';
  NIVEAUD(8):='U';
  FTYPED(0):='H';
  FTYPED(1):='D';
  FTYPED(2):='R';
  FTYPED(3):='T';
  VTYPED(0):='H';
  VTYPED(1):='D';
  VTYPED(2):='R';
  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;
      FELTNAVN:=FFIL^.FELTNAVN;
      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;
      HÆGTE:=FFIL^.HÆGTE;
      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 READDESC;
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;
      FELTNAVN:=FFIL^.FELTNAVN;
      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;
      HÆGTE:=FFIL^.HÆGTE;
      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,' ');
  IF (F^.FELTTYPE=REEL) AND (F^.EDITERING=0) THEN
    WRITELN(POST.AAA(F^.INDEKS):F^.LÆNGDE+2:F^.DEC)
  ELSE
  BEGIN
    MOVETOLINE(F);
    WRITELN(LINE) 
  END
 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 Hægte',' ':15,HÆGTE:10);
    WRITELN('11 Foran0',' ':14,FORAN0:10);
    WRITE('12 Felttype',' ':12,FTYPED(ORD(FELTTYPE)));
    IF FELTTYPE=REEL THEN WRITELN(' ':10,'Dec',DEC:5) ELSE WRITELN;
    WRITELN('13 Feltnavn',' ':12,FELTNAVN)
  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('Hægte');
      GOTOXY(20,10);
      READLN;READ(F^.HÆGTE)
    END;
 11:BEGIN
      GOTOXY(4,11);
      WRITELN('Foran0');
      GOTOXY(20,11);
      READLN;READ(F^.FORAN0)
    END;
 12:BEGIN
     REPEAT
      GOTOXY(4,12);
      WRITELN('Felttype');
      GOTOXY(20,12);
      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,12);
          WRITELN('Dec');
          GOTOXY(40,12);
          READLN;READ(F^.DEC)
        END;
      0:F^.FELTTYPE:=HELTAL;
      1:F^.FELTTYPE:=DOBBTAL;
      3:F^.FELTTYPE:=TEKST
      END
    END;
 13:BEGIN
      GOTOXY(4,13);
      WRITELN('Feltnavn');
      GOTOXY(20,13);
      READLN;READ(F^.FELTNAVN)
    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<>12) 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 13 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     Feltnavn   Hægte');
  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 WRITE(LIST,DEC:12) ELSE WRITE(LIST,' ':12);
      WRITELN(LIST,' ':8,FELTNAVN,HÆGTE:5);
    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:='       ';
  FOR I:=1 TO 7 DO FNAVN(I):=PARM^(I);
  CHAIN('HOVED   *1',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=45;«, 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…01c2 Line {l1=0x16, l2=»   FELTNAVN:STRING(8);«, l3=0x16}
0x01c2…01e8 Line {l1=0x24, l2=»   CASE DESCTYPE:BESKRIVELSESTYPE OF«, l3=0x24}
0x01e8…01f6 Line {l1=0x0c, l2=»   FELTDESC:«, l3=0x0c}
0x01f6…0211 Line {l1=0x19, l2=»  (INDPOS,UDPOS:SKÆRMPOS;«, l3=0x19}
0x0211…0235 Line {l1=0x22, l2=»   KIKKENIVEAU,ÆNDRENIVEAU:NIVEAU;«, l3=0x22}
0x0235…024c Line {l1=0x15, l2=»   EDITERING:INTEGER;«, l3=0x15}
0x024c…026d Line {l1=0x1f, l2=»   LEDETEKST,FØLGETEKST:STRING;«, l3=0x1f}
0x026d…0281 Line {l1=0x12, l2=»   INDEKS:INTEGER;«, l3=0x12}
0x0281…0295 Line {l1=0x12, l2=»   LÆNGDE:INTEGER;«, l3=0x12}
0x0295…02a0 Line {l1=0x09, l2=»   HÆGTE,«, l3=0x09}
0x02a0…02b4 Line {l1=0x12, l2=»   FORAN0:INTEGER;«, l3=0x12}
0x02b4…02cf Line {l1=0x19, l2=»   CASE FELTTYPE:FTYPE OF«, l3=0x19}
0x02cf…02e7 Line {l1=0x16, l2=»   REEL:(DEC:INTEGER);«, l3=0x16}
0x02e7…0305 Line {l1=0x1c, l2=»   HELTAL,DOBBTAL,TEKST:());«, l3=0x1c}
0x0305…0313 Line {l1=0x0c, l2=»   VALIDESC:«, l3=0x0c}
0x0313…0334 Line {l1=0x1f, l2=»  (CASE VALIDITETSTYPE:VTYPE OF«, l3=0x1f}
0x0334…0358 Line {l1=0x22, l2=»      HINTERVAL:(MIN,MAX:INTEGER);«, l3=0x22}
0x0358…0388 Line {l1=0x2e, l2=»      DINTERVAL:(MIN1,MIN2,MAX1,MAX2:INTEGER);«, l3=0x2e}
0x0388…03ab Line {l1=0x21, l2=»      RINTERVAL:(RMIN,RMAX:REAL);«, l3=0x21}
0x03ab…03bf Line {l1=0x12, l2=»      DATO,CPR:())«, l3=0x12}
0x03bf…03c5 Line {l1=0x04, l2=»END;«, l3=0x04}
0x03c5…03e7 Line {l1=0x20, l2=»FELTFIL=FILE OF FELTBESKRIVELSE;«, l3=0x20}
0x03e7…0406 Line {l1=0x1d, l2=»AR=ARRAY (-4..-4) OF INTEGER;«, l3=0x1d}
0x0406…042d Line {l1=0x25, l2=»ARAR=PACKED ARRAY (-11..-10) OF CHAR;«, l3=0x25}
0x042d…0448 Line {l1=0x19, l2=»RAR=ARRAY (0..0) OF REAL;«, l3=0x19}
0x0448…045f Line {l1=0x15, l2=»OPERATIONSPOST=RECORD«, l3=0x15}
0x045f…046f Line {l1=0x0e, l2=»      AA:ARAR;«, l3=0x0e}
0x046f…047c Line {l1=0x0b, l2=»      A:AR;«, l3=0x0b}
0x047c…048c Line {l1=0x0e, l2=»      AAA:RAR;«, l3=0x0e}
0x048c…04bb Line {l1=0x2d, l2=»      CONTENTS: ARRAY (1..MAXPOST) OF INTEGER«, l3=0x2d}
0x04bb…04c1 Line {l1=0x04, l2=»END;«, l3=0x04}
0x04c1…04d1 Line {l1=0x0e, l2=»FILDESC=RECORD«, l3=0x0e}
0x04d1…04ff Line {l1=0x2c, l2=»   FILNAVN:STRING(18);   (*ISF-FILENS NAVN*)«, l3=0x2c}
0x04ff…054c Line {l1=0x4b, l2=»   DESCNAVN:STRING(18);  (*NAVNET PÅ DEN ENKELTE ISF-FILS BESKRIVELSESFIL*)«, l3=0x4b}
0x054c…0586 Line {l1=0x38, l2=»   POSTNAVN:STRING(18); (*NAVNET PÅ ET INDIVID I FILEN*)«, l3=0x38}
0x0586…05b4 Line {l1=0x2c, l2=»   REGNAVN:STRING(18); (*FILENS BETEGNELSE*)«, l3=0x2c}
0x05b4…0601 Line {l1=0x4b, l2=»   VEDLNIVEAU:NIVEAU;(*ADGANGSNIVEAU FOR GENERELT VEDLIGEHOLDELSESPROGRAM*)«, l3=0x4b}
0x0601…0616 Line {l1=0x13, l2=»   ZONESIZE:INTEGER«, l3=0x13}
0x0616…061c Line {l1=0x04, l2=»END;«, l3=0x04}
0x061c…065a Line {l1=0x3c, l2=»FILEDESC=FILE OF FILDESC;(*FORTEGNELSE OVER ALLE ISF-FILER*)«, l3=0x3c}
0x065a…0670 Line {l1=0x14, l2=»VAR PARM:^PARMARRAY;«, l3=0x14}
0x0670…0683 Line {l1=0x11, l2=»    QUQ:^INTEGER;«, l3=0x11}
0x0683…0694 Line {l1=0x0f, l2=»    FELT:NFELT;«, l3=0x0f}
0x0694…06b4 Line {l1=0x1e, l2=»    USERNIVEAU,HUSKNIV:NIVEAU;«, l3=0x1e}
0x06b4…06e0 Line {l1=0x2a, l2=»    PICTURE:ARRAY (1..MAXFELTER) OF NFELT;«, l3=0x2a}
0x06e0…06fc Line {l1=0x1a, l2=»    I,ANTALFELTER:INTEGER;«, l3=0x1a}
0x06fc…070e Line {l1=0x10, l2=»    LINE:STRING;«, l3=0x10}
0x070e…0728 Line {l1=0x18, l2=»    POST:OPERATIONSPOST;«, l3=0x18}
0x0728…073b Line {l1=0x11, l2=»    FFIL:FELTFIL;«, l3=0x11}
0x073b…074e Line {l1=0x11, l2=»    FNAVN:STRING;«, l3=0x11}
0x074e…0776 Line {l1=0x26, l2=»    NIVEAUD:ARRAY (0..9) OF STRING(8);«, l3=0x26}
0x0776…079e Line {l1=0x26, l2=»    FTYPED: ARRAY (0..4) OF STRING(8);«, l3=0x26}
0x079e…07c6 Line {l1=0x26, l2=»    VTYPED: ARRAY (0..5) OF STRING(9);«, l3=0x26}
0x07c6…07d6 Line {l1=0x0e, l2=»PROCEDURE IOC;«, l3=0x0e}
0x07d6…07e9 Line {l1=0x11, l2=»VAR CH:STRING(1);«, l3=0x11}
0x07e9…07f0 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x07f0…0807 Line {l1=0x15, l2=»  IF IORESULT<>0 THEN«, l3=0x15}
0x0807…0810 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0810…0822 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x0822…0835 Line {l1=0x11, l2=»    GOTOXY(1,10);«, l3=0x11}
0x0835…0866 Line {l1=0x2f, l2=»    WRITELN('Pladefejl ',IORESULT:5,' RETURN');«, l3=0x2f}
0x0866…0874 Line {l1=0x0c, l2=»    CH:=' ';«, l3=0x0c}
0x0874…0883 Line {l1=0x0d, l2=»    EDIT(CH);«, l3=0x0d}
0x0883…08a7 Line {l1=0x22, l2=»    IF CH<>'R' THEN EXIT(SKÆRMBIL)«, l3=0x22}
0x08a7…08ae Line {l1=0x05, l2=»  END«, l3=0x05}
0x08ae…08b4 Line {l1=0x04, l2=»END;«, l3=0x04}
0x08b4…08bd Line {l1=0x07, l2=»(*$R-*)«, l3=0x07}
0x08bd…08c5 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x08c5…08d7 Line {l1=0x10, l2=»PROCEDURE OPRET;«, l3=0x10}
0x08d7…0904 Line {l1=0x2b, l2=»TYPE ISF=FILE OF ARRAY (1..232) OF INTEGER;«, l3=0x2b}
0x0904…0942 Line {l1=0x3c, l2=»     KEYDESCRIPTION=ARRAY (1..9) OF ARRAY (1..3) OF INTEGER;«, l3=0x3c}
0x0942…098a Line {l1=0x46, l2=»VAR NREC,RECSIZE,KEYFLDS,IER,L,POSI,OUTOFRANGE,FKEYS,LEDIGFIL:INTEGER;«, l3=0x46}
0x098a…099f Line {l1=0x13, l2=»    FILNAVN:STRING;«, l3=0x13}
0x099f…09bc Line {l1=0x1b, l2=»    KEYDESC:KEYDESCRIPTION;«, l3=0x1b}
0x09bc…09cf Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x09cf…09e7 Line {l1=0x16, l2=»    ISFFILES:FILEDESC;«, l3=0x16}
0x09e7…0a01 Line {l1=0x18, l2=»    ISFFNAVN:STRING(18);«, l3=0x18}
0x0a01…0a0f Line {l1=0x0c, l2=»(*$ICREATE*)«, l3=0x0c}
0x0a0f…0a16 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0a16…0a39 Line {l1=0x21, l2=»  ISFFNAVN:='ISFFILES:P2:0000:S';«, l3=0x21}
0x0a39…0a5c Line {l1=0x21, l2=»  REWRITE(ISFFILES,ISFFNAVN);IOC;«, l3=0x21}
0x0a5c…0a75 Line {l1=0x17, l2=»  SEEK(ISFFILES,1);IOC;«, l3=0x17}
0x0a75…0a85 Line {l1=0x0e, l2=»  LEDIGFIL:=0;«, l3=0x0e}
0x0a85…0a8f Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x0a8f…0aa7 Line {l1=0x16, l2=»    GET(ISFFILES);IOC;«, l3=0x16}
0x0aa7…0ac1 Line {l1=0x18, l2=»    LEDIGFIL:=LEDIGFIL+1«, l3=0x18}
0x0ac1…0ae4 Line {l1=0x21, l2=»  UNTIL ISFFILES^.FILNAVN(1)='@';«, l3=0x21}
0x0ae4…0af4 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x0af4…0b12 Line {l1=0x1c, l2=»  WRITELN('Datafilnavn:Pn');«, l3=0x1c}
0x0b12…0b23 Line {l1=0x0f, l2=»  GOTOXY(16,1);«, l3=0x0f}
0x0b23…0b3c Line {l1=0x17, l2=»  READLN;READ(FILNAVN);«, l3=0x17}
0x0b3c…0b58 Line {l1=0x1a, l2=»  WRITELN('Antal poster');«, l3=0x1a}
0x0b58…0b69 Line {l1=0x0f, l2=»  GOTOXY(16,2);«, l3=0x0f}
0x0b69…0b7f Line {l1=0x14, l2=»  READLN;READ(NREC);«, l3=0x14}
0x0b7f…0b97 Line {l1=0x16, l2=»  WRITELN('Postnavn');«, l3=0x16}
0x0b97…0ba8 Line {l1=0x0f, l2=»  GOTOXY(10,3);«, l3=0x0f}
0x0ba8…0bcc Line {l1=0x22, l2=»  READLN;READ(ISFFILES^.POSTNAVN);«, l3=0x22}
0x0bcc…0bf6 Line {l1=0x28, l2=»  GOTOXY(40,3);WRITELN('Filbetegnelse');«, l3=0x28}
0x0bf6…0c26 Line {l1=0x2e, l2=»  GOTOXY(55,3);READLN;READ(ISFFILES^.REGNAVN);«, l3=0x2e}
0x0c26…0c33 Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x0c33…0c47 Line {l1=0x12, l2=»      GOTOXY(1,4);«, l3=0x12}
0x0c47…0c71 Line {l1=0x28, l2=»      WRITELN('Vedligeholdelsesniveau');«, l3=0x28}
0x0c71…0c86 Line {l1=0x13, l2=»      GOTOXY(24,4);«, l3=0x13}
0x0c86…0ca6 Line {l1=0x1e, l2=»      READLN;READ(NIVEAUD(9));«, l3=0x1e}
0x0ca6…0cb3 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x0cb3…0ce1 Line {l1=0x2c, l2=»      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1«, l3=0x2c}
0x0ce1…0d00 Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=8);«, l3=0x1d}
0x0d00…0d11 Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x0d11…0d37 Line {l1=0x24, l2=»      0:ISFFILES^.VEDLNIVEAU:=MENIG;«, l3=0x24}
0x0d37…0d5f Line {l1=0x26, l2=»      1:ISFFILES^.VEDLNIVEAU:=SERGENT;«, l3=0x26}
0x0d5f…0d88 Line {l1=0x27, l2=»      2:ISFFILES^.VEDLNIVEAU:=LØJTNANT;«, l3=0x27}
0x0d88…0db0 Line {l1=0x26, l2=»      3:ISFFILES^.VEDLNIVEAU:=KAPTAJN;«, l3=0x26}
0x0db0…0dd6 Line {l1=0x24, l2=»      4:ISFFILES^.VEDLNIVEAU:=MAJOR;«, l3=0x24}
0x0dd6…0dfd Line {l1=0x25, l2=»      5:ISFFILES^.VEDLNIVEAU:=OBERST;«, l3=0x25}
0x0dfd…0e25 Line {l1=0x26, l2=»      6:ISFFILES^.VEDLNIVEAU:=GENERAL;«, l3=0x26}
0x0e25…0e49 Line {l1=0x22, l2=»      7:ISFFILES^.VEDLNIVEAU:=HSM;«, l3=0x22}
0x0e49…0e70 Line {l1=0x25, l2=»      8:ISFFILES^.VEDLNIVEAU:=UMULIUS«, l3=0x25}
0x0e70…0e7c Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x0e7c…0eab Line {l1=0x2d, l2=»  FOR I:=1 TO MAXPOST DO POST.CONTENTS(I):=0;«, l3=0x2d}
0x0eab…0edc Line {l1=0x2f, l2=»  RECSIZE:=0;OUTOFRANGE:=0;FKEYS:=0;KEYFLDS:=0;«, l3=0x2f}
0x0edc…0efa Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x0efa…0f11 Line {l1=0x15, l2=»  WITH PICTURE(I)^ DO«, l3=0x15}
0x0f11…0f1a Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0f1a…0f30 Line {l1=0x14, l2=»    CASE FELTTYPE OF«, l3=0x14}
0x0f30…0f43 Line {l1=0x11, l2=»    HELTAL :BEGIN«, l3=0x11}
0x0f43…0f60 Line {l1=0x1b, l2=»              POSI:=INDEKS;«, l3=0x1b}
0x0f60…0f74 Line {l1=0x12, l2=»              L:=1«, l3=0x12}
0x0f74…0f86 Line {l1=0x10, l2=»            END;«, l3=0x10}
0x0f86…0f99 Line {l1=0x11, l2=»    DOBBTAL:BEGIN«, l3=0x11}
0x0f99…0fb6 Line {l1=0x1b, l2=»              POSI:=INDEKS;«, l3=0x1b}
0x0fb6…0fca Line {l1=0x12, l2=»              L:=2«, l3=0x12}
0x0fca…0fdc Line {l1=0x10, l2=»            END;«, l3=0x10}
0x0fdc…0fef Line {l1=0x11, l2=»    REEL   :BEGIN«, l3=0x11}
0x0fef…1014 Line {l1=0x23, l2=»              POSI:=1+(INDEKS-1)*4;«, l3=0x23}
0x1014…1028 Line {l1=0x12, l2=»              L:=4«, l3=0x12}
0x1028…103a Line {l1=0x10, l2=»            END;«, l3=0x10}
0x103a…104d Line {l1=0x11, l2=»    TEKST  :BEGIN«, l3=0x11}
0x104d…1074 Line {l1=0x25, l2=»              POSI:=(INDEKS+1) DIV 2;«, l3=0x25}
0x1074…1097 Line {l1=0x21, l2=»              L:=(LÆNGDE+1) DIV 2«, l3=0x21}
0x1097…10a8 Line {l1=0x0f, l2=»            END«, l3=0x0f}
0x10a8…10b2 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x10b2…10de Line {l1=0x2a, l2=»    IF (POSI<1) OR (POSI+L-1>MAXPOST) THEN«, l3=0x2a}
0x10de…10fe Line {l1=0x1e, l2=»      OUTOFRANGE:=OUTOFRANGE+1«, l3=0x1e}
0x10fe…1108 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x1108…1113 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x1113…112e Line {l1=0x19, l2=»      RECSIZE:=RECSIZE+L;«, l3=0x19}
0x112e…1151 Line {l1=0x21, l2=»      IF ÆNDRENIVEAU=UMULIUS THEN«, l3=0x21}
0x1151…115e Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x115e…117d Line {l1=0x1d, l2=»        IF FELTTYPE=REEL THEN«, l3=0x1d}
0x117d…1197 Line {l1=0x18, l2=»          FKEYS:=FKEYS+1«, l3=0x18}
0x1197…11a5 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x11a5…11b4 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x11b4…11d3 Line {l1=0x1d, l2=»          KEYFLDS:=KEYFLDS+1;«, l3=0x1d}
0x11d3…11f8 Line {l1=0x23, l2=»          KEYDESC(KEYFLDS,1):=POSI;«, l3=0x23}
0x11f8…121a Line {l1=0x20, l2=»          KEYDESC(KEYFLDS,2):=L;«, l3=0x20}
0x121a…123c Line {l1=0x20, l2=»          IF FELTTYPE=TEKST THEN«, l3=0x20}
0x123c…125f Line {l1=0x21, l2=»            KEYDESC(KEYFLDS,3):=2«, l3=0x21}
0x125f…126f Line {l1=0x0e, l2=»          ELSE«, l3=0x0e}
0x126f…1292 Line {l1=0x21, l2=»            KEYDESC(KEYFLDS,3):=1«, l3=0x21}
0x1292…129f Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x129f…12ab Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x12ab…12b9 Line {l1=0x0c, l2=»      REPEAT«, l3=0x0c}
0x12b9…12ee Line {l1=0x33, l2=»        POST.CONTENTS(POSI):=POST.CONTENTS(POSI)+1;«, l3=0x33}
0x12ee…1305 Line {l1=0x15, l2=»        POSI:=POSI+1;«, l3=0x15}
0x1305…1315 Line {l1=0x0e, l2=»        L:=L-1«, l3=0x0e}
0x1315…1326 Line {l1=0x0f, l2=»      UNTIL L=0«, l3=0x0f}
0x1326…132f Line {l1=0x07, l2=»    END«, l3=0x07}
0x132f…1337 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x1337…1351 Line {l1=0x18, l2=»  FOR I:=1 TO RECSIZE DO«, l3=0x18}
0x1351…1371 Line {l1=0x1e, l2=»    IF POST.CONTENTS(I)>1 THEN«, l3=0x1e}
0x1371…1393 Line {l1=0x20, l2=»      WRITELN('OVERLAPNING',I:5)«, l3=0x20}
0x1393…139d Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x139d…13d3 Line {l1=0x34, l2=»      IF POST.CONTENTS(I)<1 THEN WRITELN('HUL',I:5);«, l3=0x34}
0x13d3…13f5 Line {l1=0x20, l2=»  FOR I:=RECSIZE+1 TO MAXPOST DO«, l3=0x20}
0x13f5…142e Line {l1=0x37, l2=»    IF POST.CONTENTS(I)<>0 THEN WRITELN('FORBIER',I:5);«, l3=0x37}
0x142e…146a Line {l1=0x3a, l2=»  IF OUTOFRANGE>0 THEN WRITELN('OUTOFRANGE',OUTOFRANGE:5);«, l3=0x3a}
0x146a…14ac Line {l1=0x40, l2=»  IF FKEYS>0 THEN WRITELN('IKKE-IMPLEMENTEREDE NØGLER',FKEYS:5);«, l3=0x40}
0x14ac…14cc Line {l1=0x1e, l2=»  WRITELN('Nøglebeskrivelse');«, l3=0x1e}
0x14cc…14e6 Line {l1=0x18, l2=»  FOR I:=1 TO KEYFLDS DO«, l3=0x18}
0x14e6…1525 Line {l1=0x3d, l2=»    WRITELN(KEYDESC(I,1):10,KEYDESC(I,2):10,KEYDESC(I,3):10);«, l3=0x3d}
0x1525…152f Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x152f…1542 Line {l1=0x11, l2=»    GOTOXY(1,22);«, l3=0x11}
0x1542…156e Line {l1=0x2a, l2=»    WRITE('Faldende orden for nøgle nr ');«, l3=0x2a}
0x156e…157b Line {l1=0x0b, l2=»    READLN;«, l3=0x0b}
0x157b…15a0 Line {l1=0x23, l2=»    IF EOLN THEN I:=0 ELSE READ(I);«, l3=0x23}
0x15a0…15e0 Line {l1=0x3e, l2=»    IF (I>0) AND (I<=KEYFLDS) THEN KEYDESC(I,3):=-KEYDESC(I,3)«, l3=0x3e}
0x15e0…15f3 Line {l1=0x11, l2=»  UNTIL I=0;I:=1;«, l3=0x11}
0x15f3…1604 Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x1604…162b Line {l1=0x25, l2=»  WRITELN('Skal filen oprettes J/N');«, l3=0x25}
0x162b…163d Line {l1=0x10, l2=»  GOTOXY(27,23);«, l3=0x10}
0x163d…1649 Line {l1=0x0a, l2=»  CH:='N';«, l3=0x0a}
0x1649…1656 Line {l1=0x0b, l2=»  EDIT(CH);«, l3=0x0b}
0x1656…1668 Line {l1=0x10, l2=»  IF CH='J' THEN«, l3=0x10}
0x1668…1671 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x1671…16bb Line {l1=0x48, l2=»    CREATE(FILNAVN,NREC,RECSIZE,KEYFLDS,KEYDESC,ISFFILES^.ZONESIZE,IER);«, l3=0x48}
0x16bb…16eb Line {l1=0x2e, l2=»    FNAVN:=CONCAT(COPY(FILNAVN,1,4),'DESC:P');«, l3=0x2e}
0x16eb…1732 Line {l1=0x45, l2=»    FNAVN:=CONCAT(FNAVN,COPY(FILNAVN,POS(':P',FILNAVN)+2,1),':05:J');«, l3=0x45}
0x1732…174e Line {l1=0x1a, l2=»    WRITELN('IER : ',IER);«, l3=0x1a}
0x174e…176f Line {l1=0x1f, l2=»    ISFFILES^.FILNAVN:=FILNAVN;«, l3=0x1f}
0x176f…178f Line {l1=0x1e, l2=»    ISFFILES^.DESCNAVN:=FNAVN;«, l3=0x1e}
0x178f…17b1 Line {l1=0x20, l2=»    SEEK(ISFFILES,LEDIGFIL);IOC;«, l3=0x20}
0x17b1…17c9 Line {l1=0x16, l2=»    PUT(ISFFILES);IOC;«, l3=0x16}
0x17c9…17e9 Line {l1=0x1e, l2=»    ISFFILES^.FILNAVN(1):='@';«, l3=0x1e}
0x17e9…1800 Line {l1=0x15, l2=»    PUT(ISFFILES);IOC«, l3=0x15}
0x1800…1807 Line {l1=0x05, l2=»  END«, l3=0x05}
0x1807…180d Line {l1=0x04, l2=»END;«, l3=0x04}
0x180d…1815 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x1815…1826 Line {l1=0x0f, l2=»PROCEDURE INIT;«, l3=0x0f}
0x1826…182d Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x182d…1841 Line {l1=0x12, l2=»  NIVEAUD(0):='M';«, l3=0x12}
0x1841…1855 Line {l1=0x12, l2=»  NIVEAUD(1):='S';«, l3=0x12}
0x1855…1869 Line {l1=0x12, l2=»  NIVEAUD(2):='L';«, l3=0x12}
0x1869…187d Line {l1=0x12, l2=»  NIVEAUD(3):='K';«, l3=0x12}
0x187d…1892 Line {l1=0x13, l2=»  NIVEAUD(4):='MA';«, l3=0x13}
0x1892…18a6 Line {l1=0x12, l2=»  NIVEAUD(5):='O';«, l3=0x12}
0x18a6…18ba Line {l1=0x12, l2=»  NIVEAUD(6):='G';«, l3=0x12}
0x18ba…18ce Line {l1=0x12, l2=»  NIVEAUD(7):='H';«, l3=0x12}
0x18ce…18e2 Line {l1=0x12, l2=»  NIVEAUD(8):='U';«, l3=0x12}
0x18e2…18f5 Line {l1=0x11, l2=»  FTYPED(0):='H';«, l3=0x11}
0x18f5…1908 Line {l1=0x11, l2=»  FTYPED(1):='D';«, l3=0x11}
0x1908…191b Line {l1=0x11, l2=»  FTYPED(2):='R';«, l3=0x11}
0x191b…192e Line {l1=0x11, l2=»  FTYPED(3):='T';«, l3=0x11}
0x192e…1941 Line {l1=0x11, l2=»  VTYPED(0):='H';«, l3=0x11}
0x1941…1954 Line {l1=0x11, l2=»  VTYPED(1):='D';«, l3=0x11}
0x1954…1967 Line {l1=0x11, l2=»  VTYPED(2):='R';«, l3=0x11}
0x1967…197d Line {l1=0x14, l2=»  VTYPED(3):='DATO';«, l3=0x14}
0x197d…1991 Line {l1=0x12, l2=»  VTYPED(4):='CPR'«, l3=0x12}
0x1991…1997 Line {l1=0x04, l2=»END;«, l3=0x04}
0x1997…199f Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x199f…19b3 Line {l1=0x12, l2=»PROCEDURE LÆSDESC;«, l3=0x12}
0x19b3…19ba Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x19ba…19d2 Line {l1=0x16, l2=»  REWRITE(FFIL,FNAVN);«, l3=0x16}
0x19d2…19d5 Line {l1=0x01, l2=» «, l3=0x01}
0x19d5…19e3 Line {l1=0x0c, l2=»  GET(FFIL);«, l3=0x0c}
0x19e3…19ec Line {l1=0x07, l2=»  I:=0;«, l3=0x07}
0x19ec…1a09 Line {l1=0x1b, l2=»  WHILE FFIL^.INDPOS.X>0 DO«, l3=0x1b}
0x1a09…1a12 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x1a12…1a1f Line {l1=0x0b, l2=»    I:=I+1;«, l3=0x0b}
0x1a1f…1a3b Line {l1=0x1a, l2=»    CASE FFIL^.FELTTYPE OF«, l3=0x1a}
0x1a3b…1a64 Line {l1=0x27, l2=»    REEL:NEW(PICTURE(I),FELTDESC,REEL);«, l3=0x27}
0x1a64…1a9e Line {l1=0x38, l2=»    HELTAL,DOBBTAL,TEKST:NEW(PICTURE(I),FELTDESC,HELTAL)«, l3=0x38}
0x1a9e…1aa8 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1aa8…1abf Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x1abf…1ac2 Line {l1=0x01, l2=» «, l3=0x01}
0x1ac2…1adb Line {l1=0x17, l2=»    WITH PICTURE(I)^ DO«, l3=0x17}
0x1adb…1ae6 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x1ae6…1b01 Line {l1=0x19, l2=»      DESCTYPE:=FELTDESC;«, l3=0x19}
0x1b01…1b22 Line {l1=0x1f, l2=»      FELTNAVN:=FFIL^.FELTNAVN;«, l3=0x1f}
0x1b22…1b43 Line {l1=0x1f, l2=»      INDPOS.X:=FFIL^.INDPOS.X;«, l3=0x1f}
0x1b43…1b64 Line {l1=0x1f, l2=»      INDPOS.Y:=FFIL^.INDPOS.Y;«, l3=0x1f}
0x1b64…1b83 Line {l1=0x1d, l2=»      UDPOS.X:=FFIL^.UDPOS.X;«, l3=0x1d}
0x1b83…1ba2 Line {l1=0x1d, l2=»      UDPOS.Y:=FFIL^.UDPOS.Y;«, l3=0x1d}
0x1ba2…1bc9 Line {l1=0x25, l2=»      KIKKENIVEAU:=FFIL^.KIKKENIVEAU;«, l3=0x25}
0x1bc9…1bf0 Line {l1=0x25, l2=»      ÆNDRENIVEAU:=FFIL^.ÆNDRENIVEAU;«, l3=0x25}
0x1bf0…1c13 Line {l1=0x21, l2=»      LEDETEKST:=FFIL^.LEDETEKST;«, l3=0x21}
0x1c13…1c38 Line {l1=0x23, l2=»      FØLGETEKST:=FFIL^.FØLGETEKST;«, l3=0x23}
0x1c38…1c5b Line {l1=0x21, l2=»      EDITERING:=FFIL^.EDITERING;«, l3=0x21}
0x1c5b…1c7c Line {l1=0x1f, l2=»      FELTTYPE:=FFIL^.FELTTYPE;«, l3=0x1f}
0x1c7c…1c99 Line {l1=0x1b, l2=»      INDEKS:=FFIL^.INDEKS;«, l3=0x1b}
0x1c99…1cb6 Line {l1=0x1b, l2=»      LÆNGDE:=FFIL^.LÆNGDE;«, l3=0x1b}
0x1cb6…1cd1 Line {l1=0x19, l2=»      HÆGTE:=FFIL^.HÆGTE;«, l3=0x19}
0x1cd1…1cee Line {l1=0x1b, l2=»      FORAN0:=FFIL^.FORAN0;«, l3=0x1b}
0x1cee…1d1b Line {l1=0x2b, l2=»      IF FELTTYPE=REEL THEN DEC:=FFIL^.DEC;«, l3=0x2b}
0x1d1b…1d3f Line {l1=0x22, l2=»      WHILE FFIL^.NÆSTEVAL<>NIL DO«, l3=0x22}
0x1d3f…1d4c Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x1d4c…1d60 Line {l1=0x12, l2=»        GET(FFIL);«, l3=0x12}
0x1d60…1d77 Line {l1=0x15, l2=»        WITH FELT^ DO«, l3=0x15}
0x1d77…1d9d Line {l1=0x24, l2=»        CASE FFIL^.VALIDITETSTYPE OF«, l3=0x24}
0x1d9d…1db8 Line {l1=0x19, l2=»          HINTERVAL:BEGIN«, l3=0x19}
0x1db8…1df1 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,HINTERVAL);«, l3=0x37}
0x1df1…1e22 Line {l1=0x2f, l2=»                      NÆSTEVAL^.MIN:=FFIL^.MIN;«, l3=0x2f}
0x1e22…1e52 Line {l1=0x2e, l2=»                      NÆSTEVAL^.MAX:=FFIL^.MAX«, l3=0x2e}
0x1e52…1e6c Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x1e6c…1e87 Line {l1=0x19, l2=»          DINTERVAL:BEGIN«, l3=0x19}
0x1e87…1ec0 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,DINTERVAL);«, l3=0x37}
0x1ec0…1f0e Line {l1=0x4c, l2=»                      NÆSTEVAL^.MIN1:=FFIL^.MIN1;NÆSTEVAL^.MIN2:=FFIL^.MIN2;«, l3=0x4c}
0x1f0e…1f5b Line {l1=0x4b, l2=»                      NÆSTEVAL^.MAX1:=FFIL^.MAX1;NÆSTEVAL^.MAX2:=FFIL^.MAX2«, l3=0x4b}
0x1f5b…1f75 Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x1f75…1f90 Line {l1=0x19, l2=»          RINTERVAL:BEGIN«, l3=0x19}
0x1f90…1fc9 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,RINTERVAL);«, l3=0x37}
0x1fc9…1ffc Line {l1=0x31, l2=»                      NÆSTEVAL^.RMIN:=FFIL^.RMIN;«, l3=0x31}
0x1ffc…202e Line {l1=0x30, l2=»                      NÆSTEVAL^.RMAX:=FFIL^.RMAX«, l3=0x30}
0x202e…2048 Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x2048…2078 Line {l1=0x2e, l2=»          DATO,CPR:NEW(NÆSTEVAL,VALIDESC,DATO)«, l3=0x2e}
0x2078…2086 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x2086…20a5 Line {l1=0x1d, l2=»        FELT:=FELT^.NÆSTEVAL;«, l3=0x1d}
0x20a5…20c8 Line {l1=0x21, l2=»        FELT^.DESCTYPE:=VALIDESC;«, l3=0x21}
0x20c8…20fc Line {l1=0x32, l2=»        FELT^.VALIDITETSTYPE:=FFIL^.VALIDITETSTYPE«, l3=0x32}
0x20fc…2108 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2108…2123 Line {l1=0x19, l2=»      FELT^.NÆSTEVAL:=NIL«, l3=0x19}
0x2123…212d Line {l1=0x08, l2=»    END;«, l3=0x08}
0x212d…213c Line {l1=0x0d, l2=»    GET(FFIL)«, l3=0x0d}
0x213c…2144 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x2144…2154 Line {l1=0x0e, l2=»  CLOSE(FFIL);«, l3=0x0e}
0x2154…2166 Line {l1=0x10, l2=»  ANTALFELTER:=I«, l3=0x10}
0x2166…216c Line {l1=0x04, l2=»END;«, l3=0x04}
0x216c…2174 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x2174…2189 Line {l1=0x13, l2=»PROCEDURE READDESC;«, l3=0x13}
0x2189…2190 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2190…21a8 Line {l1=0x16, l2=»  REWRITE(FFIL,FNAVN);«, l3=0x16}
0x21a8…21ab Line {l1=0x01, l2=» «, l3=0x01}
0x21ab…21b9 Line {l1=0x0c, l2=»  GET(FFIL);«, l3=0x0c}
0x21b9…21c2 Line {l1=0x07, l2=»  I:=0;«, l3=0x07}
0x21c2…21df Line {l1=0x1b, l2=»  WHILE FFIL^.INDPOS.X>0 DO«, l3=0x1b}
0x21df…21e8 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x21e8…21f5 Line {l1=0x0b, l2=»    I:=I+1;«, l3=0x0b}
0x21f5…2211 Line {l1=0x1a, l2=»    CASE FFIL^.FELTTYPE OF«, l3=0x1a}
0x2211…223a Line {l1=0x27, l2=»    REEL:NEW(PICTURE(I),FELTDESC,REEL);«, l3=0x27}
0x223a…2274 Line {l1=0x38, l2=»    HELTAL,DOBBTAL,TEKST:NEW(PICTURE(I),FELTDESC,HELTAL)«, l3=0x38}
0x2274…227e Line {l1=0x08, l2=»    END;«, l3=0x08}
0x227e…2295 Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x2295…2298 Line {l1=0x01, l2=» «, l3=0x01}
0x2298…22b1 Line {l1=0x17, l2=»    WITH PICTURE(I)^ DO«, l3=0x17}
0x22b1…22bc Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x22bc…22d7 Line {l1=0x19, l2=»      DESCTYPE:=FELTDESC;«, l3=0x19}
0x22d7…22f8 Line {l1=0x1f, l2=»      FELTNAVN:=FFIL^.FELTNAVN;«, l3=0x1f}
0x22f8…2319 Line {l1=0x1f, l2=»      INDPOS.X:=FFIL^.INDPOS.X;«, l3=0x1f}
0x2319…233a Line {l1=0x1f, l2=»      INDPOS.Y:=FFIL^.INDPOS.Y;«, l3=0x1f}
0x233a…2359 Line {l1=0x1d, l2=»      UDPOS.X:=FFIL^.UDPOS.X;«, l3=0x1d}
0x2359…2378 Line {l1=0x1d, l2=»      UDPOS.Y:=FFIL^.UDPOS.Y;«, l3=0x1d}
0x2378…239f Line {l1=0x25, l2=»      KIKKENIVEAU:=FFIL^.KIKKENIVEAU;«, l3=0x25}
0x239f…23c6 Line {l1=0x25, l2=»      ÆNDRENIVEAU:=FFIL^.ÆNDRENIVEAU;«, l3=0x25}
0x23c6…23e9 Line {l1=0x21, l2=»      LEDETEKST:=FFIL^.LEDETEKST;«, l3=0x21}
0x23e9…240e Line {l1=0x23, l2=»      FØLGETEKST:=FFIL^.FØLGETEKST;«, l3=0x23}
0x240e…2431 Line {l1=0x21, l2=»      EDITERING:=FFIL^.EDITERING;«, l3=0x21}
0x2431…2452 Line {l1=0x1f, l2=»      FELTTYPE:=FFIL^.FELTTYPE;«, l3=0x1f}
0x2452…246f Line {l1=0x1b, l2=»      INDEKS:=FFIL^.INDEKS;«, l3=0x1b}
0x246f…248c Line {l1=0x1b, l2=»      LÆNGDE:=FFIL^.LÆNGDE;«, l3=0x1b}
0x248c…24a7 Line {l1=0x19, l2=»      HÆGTE:=FFIL^.HÆGTE;«, l3=0x19}
0x24a7…24c4 Line {l1=0x1b, l2=»      FORAN0:=FFIL^.FORAN0;«, l3=0x1b}
0x24c4…24f1 Line {l1=0x2b, l2=»      IF FELTTYPE=REEL THEN DEC:=FFIL^.DEC;«, l3=0x2b}
0x24f1…2515 Line {l1=0x22, l2=»      WHILE FFIL^.NÆSTEVAL<>NIL DO«, l3=0x22}
0x2515…2522 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x2522…2536 Line {l1=0x12, l2=»        GET(FFIL);«, l3=0x12}
0x2536…254d Line {l1=0x15, l2=»        WITH FELT^ DO«, l3=0x15}
0x254d…2573 Line {l1=0x24, l2=»        CASE FFIL^.VALIDITETSTYPE OF«, l3=0x24}
0x2573…258e Line {l1=0x19, l2=»          HINTERVAL:BEGIN«, l3=0x19}
0x258e…25c7 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,HINTERVAL);«, l3=0x37}
0x25c7…25f8 Line {l1=0x2f, l2=»                      NÆSTEVAL^.MIN:=FFIL^.MIN;«, l3=0x2f}
0x25f8…2628 Line {l1=0x2e, l2=»                      NÆSTEVAL^.MAX:=FFIL^.MAX«, l3=0x2e}
0x2628…2642 Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x2642…265d Line {l1=0x19, l2=»          DINTERVAL:BEGIN«, l3=0x19}
0x265d…2696 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,DINTERVAL);«, l3=0x37}
0x2696…26e4 Line {l1=0x4c, l2=»                      NÆSTEVAL^.MIN1:=FFIL^.MIN1;NÆSTEVAL^.MIN2:=FFIL^.MIN2;«, l3=0x4c}
0x26e4…2731 Line {l1=0x4b, l2=»                      NÆSTEVAL^.MAX1:=FFIL^.MAX1;NÆSTEVAL^.MAX2:=FFIL^.MAX2«, l3=0x4b}
0x2731…274b Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x274b…2766 Line {l1=0x19, l2=»          RINTERVAL:BEGIN«, l3=0x19}
0x2766…279f Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,RINTERVAL);«, l3=0x37}
0x279f…27d2 Line {l1=0x31, l2=»                      NÆSTEVAL^.RMIN:=FFIL^.RMIN;«, l3=0x31}
0x27d2…2804 Line {l1=0x30, l2=»                      NÆSTEVAL^.RMAX:=FFIL^.RMAX«, l3=0x30}
0x2804…281e Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x281e…284e Line {l1=0x2e, l2=»          DATO,CPR:NEW(NÆSTEVAL,VALIDESC,DATO)«, l3=0x2e}
0x284e…285c Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x285c…287b Line {l1=0x1d, l2=»        FELT:=FELT^.NÆSTEVAL;«, l3=0x1d}
0x287b…289e Line {l1=0x21, l2=»        FELT^.DESCTYPE:=VALIDESC;«, l3=0x21}
0x289e…28d2 Line {l1=0x32, l2=»        FELT^.VALIDITETSTYPE:=FFIL^.VALIDITETSTYPE«, l3=0x32}
0x28d2…28de Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x28de…28f9 Line {l1=0x19, l2=»      FELT^.NÆSTEVAL:=NIL«, l3=0x19}
0x28f9…2903 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x2903…2912 Line {l1=0x0d, l2=»    GET(FFIL)«, l3=0x0d}
0x2912…291a Line {l1=0x06, l2=»  END;«, l3=0x06}
0x291a…292a Line {l1=0x0e, l2=»  CLOSE(FFIL);«, l3=0x0e}
0x292a…293c Line {l1=0x10, l2=»  ANTALFELTER:=I«, l3=0x10}
0x293c…2942 Line {l1=0x04, l2=»END;«, l3=0x04}
0x2942…294a Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x294a…2960 Line {l1=0x14, l2=»PROCEDURE SKRIVDESC;«, l3=0x14}
0x2960…2967 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2967…297f Line {l1=0x16, l2=»  REWRITE(FFIL,FNAVN);«, l3=0x16}
0x297f…2982 Line {l1=0x01, l2=» «, l3=0x01}
0x2982…29a0 Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x29a0…29a9 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x29a9…29c0 Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x29c0…29cc Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x29cc…29e1 Line {l1=0x13, l2=»      FFIL^:=FELT^;«, l3=0x13}
0x29e1…29f3 Line {l1=0x10, l2=»      PUT(FFIL);«, l3=0x10}
0x29f3…2a0f Line {l1=0x1a, l2=»      FELT:=FELT^.NÆSTEVAL«, l3=0x1a}
0x2a0f…2a23 Line {l1=0x12, l2=»    UNTIL FELT=NIL«, l3=0x12}
0x2a23…2a2b Line {l1=0x06, l2=»  END;«, l3=0x06}
0x2a2b…2a48 Line {l1=0x1b, l2=»  FFIL^.DESCTYPE:=FELTDESC;«, l3=0x1b}
0x2a48…2a5e Line {l1=0x14, l2=»  FFIL^.INDPOS.X:=0;«, l3=0x14}
0x2a5e…2a6c Line {l1=0x0c, l2=»  PUT(FFIL);«, l3=0x0c}
0x2a6c…2a7b Line {l1=0x0d, l2=»  CLOSE(FFIL)«, l3=0x0d}
0x2a7b…2a81 Line {l1=0x04, l2=»END;«, l3=0x04}
0x2a81…2a89 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x2a89…2aad Line {l1=0x22, l2=»PROCEDURE MOVETOLINE(VAR F:NFELT);«, l3=0x22}
0x2aad…2ac0 Line {l1=0x11, l2=»VAR CH:STRING(1);«, l3=0x11}
0x2ac0…2ad9 Line {l1=0x17, l2=»    TAL,DECS,I:INTEGER;«, l3=0x17}
0x2ad9…2af1 Line {l1=0x16, l2=»    RESULT,DM,DD:REAL;«, l3=0x16}
0x2af1…2af8 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2af8…2b04 Line {l1=0x0a, l2=»  CH:=' ';«, l3=0x0a}
0x2b04…2b1f Line {l1=0x19, l2=»      CASE F^.FELTTYPE OF«, l3=0x19}
0x2b1f…2b33 Line {l1=0x12, l2=»      HELTAL:BEGIN«, l3=0x12}
0x2b33…2b4d Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x2b4d…2b7a Line {l1=0x2b, l2=»               TAL:=ABS(POST.A(F^.INDEKS));«, l3=0x2b}
0x2b7a…2b91 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x2b91…2bbe Line {l1=0x2b, l2=»                 CH(1):=CHR(TAL MOD 10+48);«, l3=0x2b}
0x2bbe…2be7 Line {l1=0x27, l2=»                 LINE:=CONCAT(CH,LINE);«, l3=0x27}
0x2be7…2c09 Line {l1=0x20, l2=»                 TAL:=TAL DIV 10«, l3=0x20}
0x2c09…2c26 Line {l1=0x1b, l2=»               UNTIL TAL=0;«, l3=0x1b}
0x2c26…2c6e Line {l1=0x46, l2=»               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);«, l3=0x46}
0x2c6e…2cb1 Line {l1=0x41, l2=»               IF POST.A(F^.INDEKS)<0 THEN LINE:=CONCAT('-',LINE)«, l3=0x41}
0x2cb1…2cc4 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x2cc4…2cd8 Line {l1=0x12, l2=»     DOBBTAL:BEGIN«, l3=0x12}
0x2cd8…2cf2 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x2cf2…2d3e Line {l1=0x4a, l2=»               RESULT:=ABS(POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1));«, l3=0x4a}
0x2d3e…2d5f Line {l1=0x1f, l2=»               DM:=100000000.0;«, l3=0x1f}
0x2d5f…2d76 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x2d76…2da0 Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x2da0…2dcc Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x2dcc…2de8 Line {l1=0x1a, l2=»                 DM:=DM/10«, l3=0x1a}
0x2de8…2e12 Line {l1=0x28, l2=»               UNTIL (I>48) OR (DM<1.0);«, l3=0x28}
0x2e12…2e29 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x2e29…2e4a Line {l1=0x1f, l2=»                 CH(1):=CHR(I);«, l3=0x1f}
0x2e4a…2e73 Line {l1=0x27, l2=»                 LINE:=CONCAT(LINE,CH);«, l3=0x27}
0x2e73…2e9d Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x2e9d…2ec9 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x2ec9…2ee7 Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x2ee7…2f06 Line {l1=0x1d, l2=»               UNTIL DM<0.09;«, l3=0x1d}
0x2f06…2f4e Line {l1=0x46, l2=»               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);«, l3=0x46}
0x2f4e…2f98 Line {l1=0x48, l2=»               IF POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1)<0.0 THEN«, l3=0x48}
0x2f98…2fc1 Line {l1=0x27, l2=»                 LINE:=CONCAT('-',LINE)«, l3=0x27}
0x2fc1…2fd4 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x2fd4…2fe8 Line {l1=0x12, l2=»       TEKST:BEGIN«, l3=0x12}
0x2fe8…3002 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x3002…303f Line {l1=0x3b, l2=»               FOR I:=F^.INDEKS TO F^.INDEKS+F^.LÆNGDE-1 DO«, l3=0x3b}
0x303f…3055 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x3055…307a Line {l1=0x23, l2=»                 CH(1):=POST.AA(I);«, l3=0x23}
0x307a…30a2 Line {l1=0x26, l2=»                 LINE:=CONCAT(LINE,CH)«, l3=0x26}
0x30a2…30b6 Line {l1=0x12, l2=»               END«, l3=0x12}
0x30b6…30c9 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x30c9…30dd Line {l1=0x12, l2=»        REEL:BEGIN«, l3=0x12}
0x30dd…310f Line {l1=0x30, l2=»               RESULT:=ABS(POST.AAA(F^.INDEKS));«, l3=0x30}
0x310f…312d Line {l1=0x1c, l2=»               DECS:=F^.DEC;«, l3=0x1c}
0x312d…314c Line {l1=0x1d, l2=»               IF DECS=0 THEN«, l3=0x1d}
0x314c…3166 Line {l1=0x18, l2=»                 DD:=0.0«, l3=0x18}
0x3166…317b Line {l1=0x13, l2=»               ELSE«, l3=0x13}
0x317b…3191 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x3191…31ac Line {l1=0x19, l2=»                 DD:=0.1;«, l3=0x19}
0x31ac…31fa Line {l1=0x4c, l2=»                 FOR I:=1 TO DECS DO BEGIN RESULT:=RESULT*10.0;DD:=DD*10 END«, l3=0x4c}
0x31fa…320f Line {l1=0x13, l2=»               END;«, l3=0x13}
0x320f…3229 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x3229…324d Line {l1=0x22, l2=»               IF F^.FORAN0=0 THEN«, l3=0x22}
0x324d…3263 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x3263…3289 Line {l1=0x24, l2=»                 DM:=100000000000.0;«, l3=0x24}
0x3289…32a2 Line {l1=0x17, l2=»                 REPEAT«, l3=0x17}
0x32a2…32ce Line {l1=0x2a, l2=»                   I:=TRUNC(RESULT/DM)+48;«, l3=0x2a}
0x32ce…32fc Line {l1=0x2c, l2=»                   RESULT:=RESULT-DM*(I-48);«, l3=0x2c}
0x32fc…331c Line {l1=0x1e, l2=»                   DM:=DM/10.0«, l3=0x1e}
0x331c…3352 Line {l1=0x34, l2=»                 UNTIL (I>48) OR (DM<1.0) OR (DM=DD)«, l3=0x34}
0x3352…3366 Line {l1=0x12, l2=»               END«, l3=0x12}
0x3366…337b Line {l1=0x13, l2=»               ELSE«, l3=0x13}
0x337b…3391 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x3391…33ac Line {l1=0x19, l2=»                 DM:=1.0;«, l3=0x19}
0x33ac…33e4 Line {l1=0x36, l2=»                 FOR I:=2 TO F^.FORAN0 DO DM:=DM*10.0;«, l3=0x36}
0x33e4…340e Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x340e…343a Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x343a…3458 Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x3458…346d Line {l1=0x13, l2=»               END;«, l3=0x13}
0x346d…3484 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x3484…34a5 Line {l1=0x1f, l2=»                 CH(1):=CHR(I);«, l3=0x1f}
0x34a5…34ce Line {l1=0x27, l2=»                 LINE:=CONCAT(LINE,CH);«, l3=0x27}
0x34ce…3506 Line {l1=0x36, l2=»                 IF DM=DD THEN LINE:=CONCAT(LINE,'.');«, l3=0x36}
0x3506…3530 Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x3530…355c Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x355c…357a Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x357a…3599 Line {l1=0x1d, l2=»               UNTIL DM<0.09;«, l3=0x1d}
0x3599…35e0 Line {l1=0x45, l2=»               IF POST.AAA(F^.INDEKS)<0.0 THEN LINE:=CONCAT('-',LINE)«, l3=0x45}
0x35e0…35f2 Line {l1=0x10, l2=»             END«, l3=0x10}
0x35f2…35fd Line {l1=0x09, l2=»      END«, l3=0x09}
0x35fd…3603 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3603…360b Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x360b…361f Line {l1=0x12, l2=»PROCEDURE NULPOST;«, l3=0x12}
0x361f…3631 Line {l1=0x10, l2=»VAR I,J:INTEGER;«, l3=0x10}
0x3631…3638 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x3638…366a Line {l1=0x30, l2=»  FOR J:=1 TO ANTALFELTER DO WITH PICTURE(J)^ DO«, l3=0x30}
0x366a…3673 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x3673…3689 Line {l1=0x14, l2=»    CASE FELTTYPE OF«, l3=0x14}
0x3689…36a8 Line {l1=0x1d, l2=»    HELTAL:POST.A(INDEKS):=0;«, l3=0x1d}
0x36a8…36bb Line {l1=0x11, l2=»    DOBBTAL:BEGIN«, l3=0x11}
0x36bb…36dd Line {l1=0x20, l2=»              POST.A(INDEKS):=0;«, l3=0x20}
0x36dd…3700 Line {l1=0x21, l2=»              POST.A(INDEKS+1):=0«, l3=0x21}
0x3700…3712 Line {l1=0x10, l2=»            END;«, l3=0x10}
0x3712…3733 Line {l1=0x1f, l2=»    REEL:POST.AAA(INDEKS):=0.0;«, l3=0x1f}
0x3733…3762 Line {l1=0x2d, l2=»    TEKST:FOR I:=INDEKS TO LÆNGDE+INDEKS-1 DO«, l3=0x2d}
0x3762…3780 Line {l1=0x1c, l2=»            POST.AA(I):=' ';«, l3=0x1c}
0x3780…3789 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3789…3790 Line {l1=0x05, l2=»  END«, l3=0x05}
0x3790…3796 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3796…3799 Line {l1=0x01, l2=» «, l3=0x01}
0x3799…37bc Line {l1=0x21, l2=»PROCEDURE SKRIVFELT(VAR F:NFELT);«, l3=0x21}
0x37bc…37cc Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x37cc…37dc Line {l1=0x0e, l2=»    R,DF:REAL;«, l3=0x0e}
0x37dc…37e3 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x37e3…3808 Line {l1=0x23, l2=» IF USERNIVEAU>=F^.KIKKENIVEAU THEN«, l3=0x23}
0x3808…3810 Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x3810…3832 Line {l1=0x20, l2=»  GOTOXY(F^.UDPOS.X,F^.UDPOS.Y);«, l3=0x20}
0x3832…384e Line {l1=0x1a, l2=»  WRITE(F^.LEDETEKST,' ');«, l3=0x1a}
0x384e…3881 Line {l1=0x31, l2=»  IF (F^.FELTTYPE=REEL) AND (F^.EDITERING=0) THEN«, l3=0x31}
0x3881…38b6 Line {l1=0x33, l2=»    WRITELN(POST.AAA(F^.INDEKS):F^.LÆNGDE+2:F^.DEC)«, l3=0x33}
0x38b6…38be Line {l1=0x06, l2=»  ELSE«, l3=0x06}
0x38be…38c7 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x38c7…38db Line {l1=0x12, l2=»    MOVETOLINE(F);«, l3=0x12}
0x38db…38ef Line {l1=0x12, l2=»    WRITELN(LINE) «, l3=0x12}
0x38ef…38f6 Line {l1=0x05, l2=»  END«, l3=0x05}
0x38f6…38fc Line {l1=0x04, l2=» END«, l3=0x04}
0x38fc…3902 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3902…3905 Line {l1=0x01, l2=» «, l3=0x01}
0x3905…391b Line {l1=0x14, l2=»PROCEDURE SKRIVPOST;«, l3=0x14}
0x391b…392b Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x392b…3932 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x3932…3942 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x3942…3977 Line {l1=0x33, l2=»  FOR I:=1 TO ANTALFELTER DO SKRIVFELT(PICTURE(I));«, l3=0x33}
0x3977…397d Line {l1=0x04, l2=»END;«, l3=0x04}
0x397d…3985 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x3985…39a6 Line {l1=0x1f, l2=»PROCEDURE LÆSFELT(VAR F:NFELT);«, l3=0x1f}
0x39a6…39bf Line {l1=0x17, l2=»VAR I,TAL,TAL1:INTEGER;«, l3=0x17}
0x39bf…39cf Line {l1=0x0e, l2=»    VAL:NFELT;«, l3=0x0e}
0x39cf…39e1 Line {l1=0x10, l2=»    RESULT:REAL;«, l3=0x10}
0x39e1…39f6 Line {l1=0x13, l2=»    BUMMED:BOOLEAN;«, l3=0x13}
0x39f6…39f9 Line {l1=0x01, l2=» «, l3=0x01}
0x39f9…3a01 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x3a01…3a16 Line {l1=0x13, l2=»PROCEDURE LÆSLINIE;«, l3=0x13}
0x3a16…3a27 Line {l1=0x0f, l2=»VAR OK:BOOLEAN;«, l3=0x0f}
0x3a27…3a44 Line {l1=0x1b, l2=»    DECS,I,FORTEGN:INTEGER;«, l3=0x1b}
0x3a44…3a52 Line {l1=0x0c, l2=»    DM:REAL;«, l3=0x0c}
0x3a52…3a55 Line {l1=0x01, l2=» «, l3=0x01}
0x3a55…3a5c Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x3a5c…3a66 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x3a66…3a76 Line {l1=0x0e, l2=»    OK:=FALSE;«, l3=0x0e}
0x3a76…3a88 Line {l1=0x10, l2=»    RESULT:=0.0;«, l3=0x10}
0x3a88…3a95 Line {l1=0x0b, l2=»    TAL:=0;«, l3=0x0b}
0x3a95…3aa3 Line {l1=0x0c, l2=»    TAL1:=0;«, l3=0x0c}
0x3aa3…3ac9 Line {l1=0x24, l2=»    GOTOXY(F^.INDPOS.X,F^.INDPOS.Y);«, l3=0x24}
0x3ac9…3b03 Line {l1=0x38, l2=»    WRITELN(F^.LEDETEKST,' ':F^.LÆNGDE+2,F^.FØLGETEKST);«, l3=0x38}
0x3b03…3b40 Line {l1=0x3b, l2=»    GOTOXY(F^.INDPOS.X+LENGTH(F^.LEDETEKST)+1,F^.INDPOS.Y);«, l3=0x3b}
0x3b40…3b5c Line {l1=0x1a, l2=»    IF F^.EDITERING=0 THEN«, l3=0x1a}
0x3b5c…3b67 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3b67…3b80 Line {l1=0x17, l2=»      READLN;READ(LINE)«, l3=0x17}
0x3b80…3b89 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3b89…3b93 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x3b93…3b9e Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3b9e…3bb4 Line {l1=0x14, l2=»      MOVETOLINE(F);«, l3=0x14}
0x3bb4…3bd1 Line {l1=0x1b, l2=»      EDIT(LINE:F^.LÆNGDE);«, l3=0x1b}
0x3bd1…3c15 Line {l1=0x42, l2=»      WHILE LINE(LENGTH(LINE))=' ' DO LINE(0):=CHR(ORD(LINE(0))-1)«, l3=0x42}
0x3c15…3c1f Line {l1=0x08, l2=»    END;«, l3=0x08}
0x3c1f…3c38 Line {l1=0x17, l2=»    CASE F^.FELTTYPE OF«, l3=0x17}
0x3c38…3c40 Line {l1=0x06, l2=»TEKST:«, l3=0x06}
0x3c40…3c65 Line {l1=0x23, l2=»    IF LENGTH(LINE)<=F^.LÆNGDE THEN«, l3=0x23}
0x3c65…3c70 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3c70…3c81 Line {l1=0x0f, l2=»      OK:=TRUE;«, l3=0x0f}
0x3c81…3ca8 Line {l1=0x25, l2=»      WHILE LENGTH(LINE)<F^.LÆNGDE DO«, l3=0x25}
0x3ca8…3cc5 Line {l1=0x1b, l2=»        IF F^.FORAN0=0 THEN«, l3=0x1b}
0x3cc5…3ce7 Line {l1=0x20, l2=»          LINE:=CONCAT(LINE,' ')«, l3=0x20}
0x3ce7…3cf5 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x3cf5…3d17 Line {l1=0x20, l2=»          LINE:=CONCAT(' ',LINE)«, l3=0x20}
0x3d17…3d21 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x3d21…3d32 Line {l1=0x0f, l2=»HELTAL,DOBBTAL:«, l3=0x0f}
0x3d32…3d4e Line {l1=0x1a, l2=»    IF LENGTH(LINE)>0 THEN«, l3=0x1a}
0x3d4e…3d59 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3d59…3d66 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x3d66…3d79 Line {l1=0x11, l2=»      FORTEGN:=1;«, l3=0x11}
0x3d79…3d94 Line {l1=0x19, l2=»      IF LINE(1)='-' THEN«, l3=0x19}
0x3d94…3da1 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x3da1…3db7 Line {l1=0x14, l2=»        FORTEGN:=-1;«, l3=0x14}
0x3db7…3dc5 Line {l1=0x0c, l2=»        I:=1«, l3=0x0c}
0x3dc5…3dd1 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x3dd1…3df0 Line {l1=0x1d, l2=»      WHILE LENGTH(LINE)>I DO«, l3=0x1d}
0x3df0…3dfd Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x3dfd…3e10 Line {l1=0x11, l2=»        OK:=TRUE;«, l3=0x11}
0x3e10…3e21 Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x3e21…3e50 Line {l1=0x2d, l2=»        IF NOT (LINE(I) IN (.'0'..'9'.)) THEN«, l3=0x2d}
0x3e50…3e5f Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x3e5f…3e75 Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x3e75…3e90 Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x3e90…3e9e Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x3e9e…3ec9 Line {l1=0x29, l2=»        RESULT:=10*RESULT+ORD(LINE(I))-48«, l3=0x29}
0x3ec9…3ed5 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x3ed5…3ef4 Line {l1=0x1d, l2=»      RESULT:=RESULT*FORTEGN;«, l3=0x1d}
0x3ef4…3f06 Line {l1=0x10, l2=»      IF OK THEN«, l3=0x10}
0x3f06…3f21 Line {l1=0x19, l2=»      CASE F^.FELTTYPE OF«, l3=0x19}
0x3f21…3f6d Line {l1=0x4a, l2=»      HELTAL:IF ABS(RESULT)<=32767 THEN TAL:=TRUNC(RESULT) ELSE OK:=FALSE;«, l3=0x4a}
0x3f6d…3f9d Line {l1=0x2e, l2=»      DOBBTAL:IF ABS(RESULT)<=327679999.0 THEN«, l3=0x2e}
0x3f9d…3fb2 Line {l1=0x13, l2=»              BEGIN«, l3=0x13}
0x3fb2…3fdf Line {l1=0x2b, l2=»                TAL:=TRUNC(RESULT/10000.0);«, l3=0x2b}
0x3fdf…4010 Line {l1=0x2f, l2=»                TAL1:=TRUNC(RESULT-10000.0*TAL)«, l3=0x2f}
0x4010…4023 Line {l1=0x11, l2=»              END«, l3=0x11}
0x4023…4041 Line {l1=0x1c, l2=»              ELSE OK:=FALSE«, l3=0x1c}
0x4041…404c Line {l1=0x09, l2=»      END«, l3=0x09}
0x404c…4064 Line {l1=0x16, l2=»    END ELSE OK:=TRUE;«, l3=0x16}
0x4064…406b Line {l1=0x05, l2=»REEL:«, l3=0x05}
0x406b…4087 Line {l1=0x1a, l2=»    IF LENGTH(LINE)>0 THEN«, l3=0x1a}
0x4087…4092 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x4092…409f Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x409f…40b2 Line {l1=0x11, l2=»      FORTEGN:=1;«, l3=0x11}
0x40b2…40c3 Line {l1=0x0f, l2=»      DECS:=-1;«, l3=0x0f}
0x40c3…40de Line {l1=0x19, l2=»      IF LINE(1)='-' THEN«, l3=0x19}
0x40de…40eb Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x40eb…4101 Line {l1=0x14, l2=»        FORTEGN:=-1;«, l3=0x14}
0x4101…410f Line {l1=0x0c, l2=»        I:=1«, l3=0x0c}
0x410f…411b Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x411b…4149 Line {l1=0x2c, l2=»      WHILE (LENGTH(LINE)>I) AND (DECS<0) DO«, l3=0x2c}
0x4149…4156 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x4156…4169 Line {l1=0x11, l2=»        OK:=TRUE;«, l3=0x11}
0x4169…417a Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x417a…41a3 Line {l1=0x27, l2=»        IF LINE(I) IN (.'0'..'9'.) THEN«, l3=0x27}
0x41a3…41d0 Line {l1=0x2b, l2=»          RESULT:=10*RESULT+ORD(LINE(I))-48«, l3=0x2b}
0x41d0…41de Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x41de…420e Line {l1=0x2e, l2=»        IF (LINE(I)='.') OR (LINE(I)=',') THEN«, l3=0x2e}
0x420e…4221 Line {l1=0x11, l2=»          DECS:=0«, l3=0x11}
0x4221…422f Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x422f…423e Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x423e…4254 Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x4254…426f Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x426f…427c Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x427c…4288 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x4288…4298 Line {l1=0x0e, l2=»      DM:=1.0;«, l3=0x0e}
0x4298…42b7 Line {l1=0x1d, l2=»      WHILE LENGTH(LINE)>I DO«, l3=0x1d}
0x42b7…42c4 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x42c4…42d5 Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x42d5…42eb Line {l1=0x14, l2=»        DM:=DM/10.0;«, l3=0x14}
0x42eb…4314 Line {l1=0x27, l2=»        IF LINE(I) IN (.'0'..'9'.) THEN«, l3=0x27}
0x4314…4323 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x4323…4353 Line {l1=0x2e, l2=»          RESULT:=RESULT+DM*(ORD(LINE(I))-48);«, l3=0x2e}
0x4353…436b Line {l1=0x16, l2=»          DECS:=DECS+1«, l3=0x16}
0x436b…4378 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x4378…4386 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x4386…4395 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x4395…43ab Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x43ab…43c6 Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x43c6…43d3 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x43d3…43df Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x43df…43fe Line {l1=0x1d, l2=»      RESULT:=FORTEGN*RESULT;«, l3=0x1d}
0x43fe…4423 Line {l1=0x23, l2=»      IF DECS>F^.DEC THEN OK:=FALSE«, l3=0x23}
0x4423…442c Line {l1=0x07, l2=»    END«, l3=0x07}
0x442c…443f Line {l1=0x11, l2=»    ELSE OK:=TRUE«, l3=0x11}
0x443f…4448 Line {l1=0x07, l2=»    END«, l3=0x07}
0x4448…4454 Line {l1=0x0a, l2=»  UNTIL OK«, l3=0x0a}
0x4454…445a Line {l1=0x04, l2=»END;«, l3=0x04}
0x445a…4462 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x4462…4477 Line {l1=0x13, l2=»PROCEDURE CHECKVAL;«, l3=0x13}
0x4477…449c Line {l1=0x23, l2=»VAR I,DAT0,MÅNED,ÅR,MODULC:INTEGER;«, l3=0x23}
0x449c…44bf Line {l1=0x21, l2=»    CPN:ARRAY (1..10) OF INTEGER;«, l3=0x21}
0x44bf…44c6 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x44c6…44e5 Line {l1=0x1d, l2=»  CASE VAL^.VALIDITETSTYPE OF«, l3=0x1d}
0x44e5…44f3 Line {l1=0x0c, l2=»  HINTERVAL:«, l3=0x0c}
0x44f3…4524 Line {l1=0x2f, l2=»    BUMMED:=((TAL<VAL^.MIN) OR (TAL>VAL^.MAX));«, l3=0x2f}
0x4524…4532 Line {l1=0x0c, l2=»  DINTERVAL:«, l3=0x0c}
0x4532…4572 Line {l1=0x3e, l2=»    BUMMED:=((TAL*10000.0+TAL1<VAL^.MIN1*10000.0+VAL^.MIN2) OR«, l3=0x3e}
0x4572…45b1 Line {l1=0x3d, l2=»             (TAL*10000.0+TAL1>VAL^.MAX1*10000.0+VAL^.MAX2));«, l3=0x3d}
0x45b1…45bf Line {l1=0x0c, l2=»  RINTERVAL:«, l3=0x0c}
0x45bf…45f8 Line {l1=0x37, l2=»    BUMMED:=((RESULT<VAL^.RMIN) OR (RESULT>VAL^.RMAX));«, l3=0x37}
0x45f8…4601 Line {l1=0x07, l2=»  DATO:«, l3=0x07}
0x4601…461d Line {l1=0x1a, l2=»    IF LENGTH(LINE)=6 THEN«, l3=0x1a}
0x461d…4628 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x4628…4659 Line {l1=0x2f, l2=»      ÅR:=10*(ORD(LINE(1))-48)+ORD(LINE(2))-48;«, l3=0x2f}
0x4659…468d Line {l1=0x32, l2=»      MÅNED:=10*(ORD(LINE(3))-48)+ORD(LINE(4))-48;«, l3=0x32}
0x468d…46c0 Line {l1=0x31, l2=»      DAT0:=10*(ORD(LINE(5))-48)+ORD(LINE(6))-48;«, l3=0x31}
0x46c0…470e Line {l1=0x4c, l2=»      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;«, l3=0x4c}
0x470e…4728 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x4728…473d Line {l1=0x13, l2=»      CASE MÅNED OF«, l3=0x13}
0x473d…476c Line {l1=0x2d, l2=»      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;«, l3=0x2d}
0x476c…47b7 Line {l1=0x49, l2=»      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4 <>0)) THEN BUMMED:=TRUE«, l3=0x49}
0x47b7…47c2 Line {l1=0x09, l2=»      END«, l3=0x09}
0x47c2…47cb Line {l1=0x07, l2=»    END«, l3=0x07}
0x47cb…47e3 Line {l1=0x16, l2=»    ELSE BUMMED:=TRUE;«, l3=0x16}
0x47e3…47eb Line {l1=0x06, l2=»  CPR:«, l3=0x06}
0x47eb…4808 Line {l1=0x1b, l2=»    IF LENGTH(LINE)=10 THEN«, l3=0x1b}
0x4808…4813 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x4813…4845 Line {l1=0x30, l2=»      FOR I:=1 TO 10 DO CPN(I):=ORD(LINE(I))-48;«, l3=0x30}
0x4845…4864 Line {l1=0x1d, l2=»      DAT0:=CPN(1)*10+CPN(2);«, l3=0x1d}
0x4864…4884 Line {l1=0x1e, l2=»      MÅNED:=CPN(3)*10+CPN(4);«, l3=0x1e}
0x4884…48a1 Line {l1=0x1b, l2=»      ÅR:=CPN(5)*10+CPN(6);«, l3=0x1b}
0x48a1…48ef Line {l1=0x4c, l2=»      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;«, l3=0x4c}
0x48ef…4909 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x4909…491e Line {l1=0x13, l2=»      CASE MÅNED OF«, l3=0x13}
0x491e…494d Line {l1=0x2d, l2=»      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;«, l3=0x2d}
0x494d…4997 Line {l1=0x48, l2=»      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4<>0)) THEN BUMMED:=TRUE«, l3=0x48}
0x4997…49a3 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x49a3…49bd Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x49bd…49ca Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x49ca…4a19 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}
0x4a19…4a43 Line {l1=0x28, l2=»              CPN(8)*3+CPN(9)*2+CPN(10);«, l3=0x28}
0x4a43…4a72 Line {l1=0x2d, l2=»        IF MODULC MOD 11<>0 THEN BUMMED:=TRUE«, l3=0x2d}
0x4a72…4a7d Line {l1=0x09, l2=»      END«, l3=0x09}
0x4a7d…4a86 Line {l1=0x07, l2=»    END«, l3=0x07}
0x4a86…4a9e Line {l1=0x16, l2=»    ELSE BUMMED:=TRUE;«, l3=0x16}
0x4a9e…4aa5 Line {l1=0x05, l2=»  END«, l3=0x05}
0x4aa5…4aab Line {l1=0x04, l2=»END;«, l3=0x04}
0x4aab…4ab3 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x4ab3…4aca Line {l1=0x15, l2=»(*PROCEDURE LÆSFELT*)«, l3=0x15}
0x4aca…4ad1 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4ad1…4af6 Line {l1=0x23, l2=» IF USERNIVEAU>=F^.ÆNDRENIVEAU THEN«, l3=0x23}
0x4af6…4afe Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x4afe…4b08 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x4b08…4b17 Line {l1=0x0d, l2=»    LÆSLINIE;«, l3=0x0d}
0x4b17…4b2e Line {l1=0x15, l2=»    VAL:=F^.NÆSTEVAL;«, l3=0x15}
0x4b2e…4b42 Line {l1=0x12, l2=»    BUMMED:=FALSE;«, l3=0x12}
0x4b42…4b6c Line {l1=0x28, l2=»    WHILE (VAL<>NIL) AND (NOT BUMMED) DO«, l3=0x28}
0x4b6c…4b77 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x4b77…4b88 Line {l1=0x0f, l2=»      CHECKVAL;«, l3=0x0f}
0x4b88…4ba2 Line {l1=0x18, l2=»      VAL:=VAL^.NÆSTEVAL«, l3=0x18}
0x4ba2…4bab Line {l1=0x07, l2=»    END«, l3=0x07}
0x4bab…4bc0 Line {l1=0x13, l2=»  UNTIL NOT BUMMED;«, l3=0x13}
0x4bc0…4bd7 Line {l1=0x15, l2=»  CASE F^.FELTTYPE OF«, l3=0x15}
0x4bd7…4bf9 Line {l1=0x20, l2=»  HELTAL:POST.A(F^.INDEKS):=TAL;«, l3=0x20}
0x4bf9…4c0a Line {l1=0x0f, l2=»  DOBBTAL:BEGIN«, l3=0x0f}
0x4c0a…4c2f Line {l1=0x23, l2=»            POST.A(F^.INDEKS):=TAL;«, l3=0x23}
0x4c2f…4c56 Line {l1=0x25, l2=»            POST.A(F^.INDEKS+1):=TAL1«, l3=0x25}
0x4c56…4c66 Line {l1=0x0e, l2=»          END;«, l3=0x0e}
0x4c66…4c8b Line {l1=0x23, l2=»  REEL:POST.AAA(F^.INDEKS):=RESULT;«, l3=0x23}
0x4c8b…4cad Line {l1=0x20, l2=»  TEKST:FOR I:=1 TO F^.LÆNGDE DO«, l3=0x20}
0x4cad…4cda Line {l1=0x2b, l2=»            POST.AA(I+F^.INDEKS-1):=LINE(I)«, l3=0x2b}
0x4cda…4ce1 Line {l1=0x05, l2=»  END«, l3=0x05}
0x4ce1…4ce7 Line {l1=0x04, l2=» END«, l3=0x04}
0x4ce7…4ced Line {l1=0x04, l2=»END;«, l3=0x04}
0x4ced…4cf5 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x4cf5…4d18 Line {l1=0x21, l2=»PROCEDURE SKRIVVALI(VAR F:NFELT);«, l3=0x21}
0x4d18…4d1f Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4d1f…4d2f Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x4d2f…4d72 Line {l1=0x41, l2=»  WRITELN('Validitetstype',' ':6,VTYPED(ORD(F^.VALIDITETSTYPE)));«, l3=0x41}
0x4d72…4d8f Line {l1=0x1b, l2=»  CASE F^.VALIDITETSTYPE OF«, l3=0x1b}
0x4d8f…4d9b Line {l1=0x0a, l2=»HINTERVAL:«, l3=0x0a}
0x4d9b…4de8 Line {l1=0x4b, l2=»    WRITELN('Minimum',' ':13,F^.MIN:10,' ':10,'Maksimum',' ':12,F^.MAX:10);«, l3=0x4b}
0x4de8…4df4 Line {l1=0x0a, l2=»DINTERVAL:«, l3=0x0a}
0x4df4…4e38 Line {l1=0x42, l2=»    WRITELN('Minimum',' ':13,F^.MIN1*10000.0+F^.MIN2:10:-2,' ':10,«, l3=0x42}
0x4e38…4e77 Line {l1=0x3d, l2=»            'Maksimum',' ':12,F^.MAX1*10000.0+F^.MAX2:10:-2);«, l3=0x3d}
0x4e77…4e83 Line {l1=0x0a, l2=»RINTERVAL:«, l3=0x0a}
0x4e83…4ec8 Line {l1=0x43, l2=»    WRITELN('Minimum',' ':13,F^.RMIN:10:2,' ':10,'Maksimum',' ':12,«, l3=0x43}
0x4ec8…4f0d Line {l1=0x43, l2=»                                                     F^.RMAX:10:2);«, l3=0x43}
0x4f0d…4f1f Line {l1=0x10, l2=»DATO,CPR:WRITELN«, l3=0x10}
0x4f1f…4f26 Line {l1=0x05, l2=»  END«, l3=0x05}
0x4f26…4f2c Line {l1=0x04, l2=»END;«, l3=0x04}
0x4f2c…4f34 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x4f34…4f55 Line {l1=0x1f, l2=»PROCEDURE INDVALI(VAR F:NFELT);«, l3=0x1f}
0x4f55…4f65 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x4f65…4f72 Line {l1=0x0b, l2=»    R:REAL;«, l3=0x0b}
0x4f72…4f79 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4f79…4f83 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x4f83…4f95 Line {l1=0x10, l2=»    GOTOXY(1,3);«, l3=0x10}
0x4f95…4fb5 Line {l1=0x1e, l2=»    WRITELN('Validitetstype');«, l3=0x1e}
0x4fb5…4fc8 Line {l1=0x11, l2=»    GOTOXY(20,3);«, l3=0x11}
0x4fc8…4fe5 Line {l1=0x1b, l2=»    READLN;READ(VTYPED(5));«, l3=0x1b}
0x4fe5…4ff0 Line {l1=0x09, l2=»    I:=0;«, l3=0x09}
0x4ff0…501a Line {l1=0x28, l2=»    WHILE VTYPED(I)<>VTYPED(5) DO I:=I+1«, l3=0x28}
0x501a…5036 Line {l1=0x1a, l2=»  UNTIL (I>=0) AND (I<=4);«, l3=0x1a}
0x5036…5043 Line {l1=0x0b, l2=»  CASE I OF«, l3=0x0b}
0x5043…504e Line {l1=0x09, l2=»  0:BEGIN«, l3=0x09}
0x504e…5073 Line {l1=0x23, l2=»      F^.VALIDITETSTYPE:=HINTERVAL;«, l3=0x23}
0x5073…5087 Line {l1=0x12, l2=»      GOTOXY(1,5);«, l3=0x12}
0x5087…50a2 Line {l1=0x19, l2=»      WRITELN('Minimum');«, l3=0x19}
0x50a2…50b7 Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x50b7…50d3 Line {l1=0x1a, l2=»      READLN;READ(F^.MIN);«, l3=0x1a}
0x50d3…50e8 Line {l1=0x13, l2=»      GOTOXY(31,5);«, l3=0x13}
0x50e8…5104 Line {l1=0x1a, l2=»      WRITELN('Maksimum');«, l3=0x1a}
0x5104…5119 Line {l1=0x13, l2=»      GOTOXY(50,5);«, l3=0x13}
0x5119…5134 Line {l1=0x19, l2=»      READLN;READ(F^.MAX)«, l3=0x19}
0x5134…513e Line {l1=0x08, l2=»    END;«, l3=0x08}
0x513e…5149 Line {l1=0x09, l2=»  1:BEGIN«, l3=0x09}
0x5149…516e Line {l1=0x23, l2=»      F^.VALIDITETSTYPE:=DINTERVAL;«, l3=0x23}
0x516e…5182 Line {l1=0x12, l2=»      GOTOXY(1,5);«, l3=0x12}
0x5182…519d Line {l1=0x19, l2=»      WRITELN('Minimum');«, l3=0x19}
0x519d…51b2 Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x51b2…51c9 Line {l1=0x15, l2=»      READLN;READ(R);«, l3=0x15}
0x51c9…51eb Line {l1=0x20, l2=»      F^.MIN1:=TRUNC(R/10000.0);«, l3=0x20}
0x51eb…5215 Line {l1=0x28, l2=»      F^.MIN2:=TRUNC(R-F^.MIN1*10000.0);«, l3=0x28}
0x5215…522a Line {l1=0x13, l2=»      GOTOXY(31,5);«, l3=0x13}
0x522a…5246 Line {l1=0x1a, l2=»      WRITELN('Maksimum');«, l3=0x1a}
0x5246…525b Line {l1=0x13, l2=»      GOTOXY(50,5);«, l3=0x13}
0x525b…5272 Line {l1=0x15, l2=»      READLN;READ(R);«, l3=0x15}
0x5272…5294 Line {l1=0x20, l2=»      F^.MAX1:=TRUNC(R/10000.0);«, l3=0x20}
0x5294…52bd Line {l1=0x27, l2=»      F^.MAX2:=TRUNC(R-F^.MAX1*10000.0)«, l3=0x27}
0x52bd…52c7 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x52c7…52d2 Line {l1=0x09, l2=»  2:BEGIN«, l3=0x09}
0x52d2…52f7 Line {l1=0x23, l2=»      F^.VALIDITETSTYPE:=RINTERVAL;«, l3=0x23}
0x52f7…530b Line {l1=0x12, l2=»      GOTOXY(1,5);«, l3=0x12}
0x530b…5326 Line {l1=0x19, l2=»      WRITELN('Minimum');«, l3=0x19}
0x5326…533b Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x533b…5358 Line {l1=0x1b, l2=»      READLN;READ(F^.RMIN);«, l3=0x1b}
0x5358…536d Line {l1=0x13, l2=»      GOTOXY(31,5);«, l3=0x13}
0x536d…5389 Line {l1=0x1a, l2=»      WRITELN('Maksimum');«, l3=0x1a}
0x5389…539e Line {l1=0x13, l2=»      GOTOXY(50,5);«, l3=0x13}
0x539e…53ba Line {l1=0x1a, l2=»      READLN;READ(F^.RMAX)«, l3=0x1a}
0x53ba…53c4 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x53c4…53e2 Line {l1=0x1c, l2=»  3:F^.VALIDITETSTYPE:=DATO;«, l3=0x1c}
0x53e2…53fe Line {l1=0x1a, l2=»  4:F^.VALIDITETSTYPE:=CPR«, l3=0x1a}
0x53fe…5405 Line {l1=0x05, l2=»  END«, l3=0x05}
0x5405…540b Line {l1=0x04, l2=»END;«, l3=0x04}
0x540b…5413 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x5413…5438 Line {l1=0x23, l2=»PROCEDURE SKRIVPARAMS(VAR F:NFELT);«, l3=0x23}
0x5438…543f Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x543f…544f Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x544f…545d Line {l1=0x0c, l2=»  WITH F^ DO«, l3=0x0c}
0x545d…5466 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x5466…54a4 Line {l1=0x3c, l2=»    WRITELN(' 1 Indpos X Y',' ':10,INDPOS.X:10,INDPOS.Y:10);«, l3=0x3c}
0x54a4…54e0 Line {l1=0x3a, l2=»    WRITELN(' 2 Udpos  X Y',' ':10,UDPOS.X:10,UDPOS.Y:10);«, l3=0x3a}
0x54e0…5520 Line {l1=0x3e, l2=»    WRITELN(' 3 Kikkeniveau',' ':9,NIVEAUD(ORD(KIKKENIVEAU)));«, l3=0x3e}
0x5520…5560 Line {l1=0x3e, l2=»    WRITELN(' 4 Ændreniveau',' ':9,NIVEAUD(ORD(ÆNDRENIVEAU)));«, l3=0x3e}
0x5560…558f Line {l1=0x2d, l2=»    WRITELN(' 5 Ledetekst',' ':11,LEDETEKST);«, l3=0x2d}
0x558f…55c0 Line {l1=0x2f, l2=»    WRITELN(' 6 Følgetekst',' ':10,FØLGETEKST);«, l3=0x2f}
0x55c0…55f2 Line {l1=0x30, l2=»    WRITELN(' 7 Editering',' ':11,EDITERING:10);«, l3=0x30}
0x55f2…561e Line {l1=0x2a, l2=»    WRITELN(' 8 Indeks',' ':14,INDEKS:10);«, l3=0x2a}
0x561e…564a Line {l1=0x2a, l2=»    WRITELN(' 9 Længde',' ':14,LÆNGDE:10);«, l3=0x2a}
0x564a…5674 Line {l1=0x28, l2=»    WRITELN('10 Hægte',' ':15,HÆGTE:10);«, l3=0x28}
0x5674…56a0 Line {l1=0x2a, l2=»    WRITELN('11 Foran0',' ':14,FORAN0:10);«, l3=0x2a}
0x56a0…56d8 Line {l1=0x36, l2=»    WRITE('12 Felttype',' ':12,FTYPED(ORD(FELTTYPE)));«, l3=0x36}
0x56d8…571d Line {l1=0x43, l2=»    IF FELTTYPE=REEL THEN WRITELN(' ':10,'Dec',DEC:5) ELSE WRITELN;«, l3=0x43}
0x571d…5749 Line {l1=0x2a, l2=»    WRITELN('13 Feltnavn',' ':12,FELTNAVN)«, l3=0x2a}
0x5749…5750 Line {l1=0x05, l2=»  END«, l3=0x05}
0x5750…5756 Line {l1=0x04, l2=»END;«, l3=0x04}
0x5756…575e Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x575e…5790 Line {l1=0x30, l2=»PROCEDURE INDPARAM(VAR F:NFELT;PARAMNR:INTEGER);«, l3=0x30}
0x5790…57a0 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x57a0…57a7 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x57a7…57ba Line {l1=0x11, l2=»  CASE PARAMNR OF«, l3=0x11}
0x57ba…57c5 Line {l1=0x09, l2=»  1:BEGIN«, l3=0x09}
0x57c5…57d9 Line {l1=0x12, l2=»      GOTOXY(4,1);«, l3=0x12}
0x57d9…57f7 Line {l1=0x1c, l2=»      WRITELN('Indpos X Y');«, l3=0x1c}
0x57f7…580c Line {l1=0x13, l2=»      GOTOXY(20,1);«, l3=0x13}
0x580c…5838 Line {l1=0x2a, l2=»      READLN;READ(F^.INDPOS.X,F^.INDPOS.Y)«, l3=0x2a}
0x5838…5842 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5842…584d Line {l1=0x09, l2=»  2:BEGIN«, l3=0x09}
0x584d…5861 Line {l1=0x12, l2=»      GOTOXY(4,2);«, l3=0x12}
0x5861…587f Line {l1=0x1c, l2=»      WRITELN('Udpos  X Y');«, l3=0x1c}
0x587f…5894 Line {l1=0x13, l2=»      GOTOXY(20,2);«, l3=0x13}
0x5894…58be Line {l1=0x28, l2=»      READLN;READ(F^.UDPOS.X,F^.UDPOS.Y)«, l3=0x28}
0x58be…58c8 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x58c8…58d3 Line {l1=0x09, l2=»  3:BEGIN«, l3=0x09}
0x58d3…58e0 Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x58e0…58f4 Line {l1=0x12, l2=»      GOTOXY(4,3);«, l3=0x12}
0x58f4…5913 Line {l1=0x1d, l2=»      WRITELN('Kikkeniveau');«, l3=0x1d}
0x5913…5928 Line {l1=0x13, l2=»      GOTOXY(20,3);«, l3=0x13}
0x5928…5948 Line {l1=0x1e, l2=»      READLN;READ(NIVEAUD(9));«, l3=0x1e}
0x5948…5955 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x5955…5983 Line {l1=0x2c, l2=»      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1«, l3=0x2c}
0x5983…59a2 Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=8);«, l3=0x1d}
0x59a2…59b3 Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x59b3…59d3 Line {l1=0x1e, l2=»      0:F^.KIKKENIVEAU:=MENIG;«, l3=0x1e}
0x59d3…59f5 Line {l1=0x20, l2=»      1:F^.KIKKENIVEAU:=SERGENT;«, l3=0x20}
0x59f5…5a18 Line {l1=0x21, l2=»      2:F^.KIKKENIVEAU:=LØJTNANT;«, l3=0x21}
0x5a18…5a3a Line {l1=0x20, l2=»      3:F^.KIKKENIVEAU:=KAPTAJN;«, l3=0x20}
0x5a3a…5a5a Line {l1=0x1e, l2=»      4:F^.KIKKENIVEAU:=MAJOR;«, l3=0x1e}
0x5a5a…5a7b Line {l1=0x1f, l2=»      5:F^.KIKKENIVEAU:=OBERST;«, l3=0x1f}
0x5a7b…5a9d Line {l1=0x20, l2=»      6:F^.KIKKENIVEAU:=GENERAL;«, l3=0x20}
0x5a9d…5abb Line {l1=0x1c, l2=»      7:F^.KIKKENIVEAU:=HSM;«, l3=0x1c}
0x5abb…5adc Line {l1=0x1f, l2=»      8:F^.KIKKENIVEAU:=UMULIUS«, l3=0x1f}
0x5adc…5ae7 Line {l1=0x09, l2=»      END«, l3=0x09}
0x5ae7…5af1 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5af1…5afc Line {l1=0x09, l2=»  4:BEGIN«, l3=0x09}
0x5afc…5b09 Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x5b09…5b1d Line {l1=0x12, l2=»      GOTOXY(4,4);«, l3=0x12}
0x5b1d…5b3c Line {l1=0x1d, l2=»      WRITELN('Ændreniveau');«, l3=0x1d}
0x5b3c…5b51 Line {l1=0x13, l2=»      GOTOXY(20,4);«, l3=0x13}
0x5b51…5b71 Line {l1=0x1e, l2=»      READLN;READ(NIVEAUD(9));«, l3=0x1e}
0x5b71…5b7e Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x5b7e…5bac Line {l1=0x2c, l2=»      WHILE NIVEAUD(I)<>NIVEAUD(9) DO I:=I+1«, l3=0x2c}
0x5bac…5bcb Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=8);«, l3=0x1d}
0x5bcb…5bdc Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x5bdc…5bfc Line {l1=0x1e, l2=»      0:F^.ÆNDRENIVEAU:=MENIG;«, l3=0x1e}
0x5bfc…5c1e Line {l1=0x20, l2=»      1:F^.ÆNDRENIVEAU:=SERGENT;«, l3=0x20}
0x5c1e…5c41 Line {l1=0x21, l2=»      2:F^.ÆNDRENIVEAU:=LØJTNANT;«, l3=0x21}
0x5c41…5c63 Line {l1=0x20, l2=»      3:F^.ÆNDRENIVEAU:=KAPTAJN;«, l3=0x20}
0x5c63…5c83 Line {l1=0x1e, l2=»      4:F^.ÆNDRENIVEAU:=MAJOR;«, l3=0x1e}
0x5c83…5ca4 Line {l1=0x1f, l2=»      5:F^.ÆNDRENIVEAU:=OBERST;«, l3=0x1f}
0x5ca4…5cc6 Line {l1=0x20, l2=»      6:F^.ÆNDRENIVEAU:=GENERAL;«, l3=0x20}
0x5cc6…5ce4 Line {l1=0x1c, l2=»      7:F^.ÆNDRENIVEAU:=HSM;«, l3=0x1c}
0x5ce4…5d05 Line {l1=0x1f, l2=»      8:F^.ÆNDRENIVEAU:=UMULIUS«, l3=0x1f}
0x5d05…5d10 Line {l1=0x09, l2=»      END«, l3=0x09}
0x5d10…5d1a Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5d1a…5d25 Line {l1=0x09, l2=»  5:BEGIN«, l3=0x09}
0x5d25…5d39 Line {l1=0x12, l2=»      GOTOXY(4,5);«, l3=0x12}
0x5d39…5d56 Line {l1=0x1b, l2=»      WRITELN('Ledetekst');«, l3=0x1b}
0x5d56…5d6b Line {l1=0x13, l2=»      GOTOXY(20,5);«, l3=0x13}
0x5d6b…5d8c Line {l1=0x1f, l2=»      READLN;READ(F^.LEDETEKST)«, l3=0x1f}
0x5d8c…5d96 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5d96…5da1 Line {l1=0x09, l2=»  6:BEGIN«, l3=0x09}
0x5da1…5db5 Line {l1=0x12, l2=»      GOTOXY(4,6);«, l3=0x12}
0x5db5…5dd3 Line {l1=0x1c, l2=»      WRITELN('Følgetekst');«, l3=0x1c}
0x5dd3…5de8 Line {l1=0x13, l2=»      GOTOXY(20,6);«, l3=0x13}
0x5de8…5e0a Line {l1=0x20, l2=»      READLN;READ(F^.FØLGETEKST)«, l3=0x20}
0x5e0a…5e14 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5e14…5e1f Line {l1=0x09, l2=»  7:BEGIN«, l3=0x09}
0x5e1f…5e33 Line {l1=0x12, l2=»      GOTOXY(4,7);«, l3=0x12}
0x5e33…5e54 Line {l1=0x1f, l2=»      WRITELN('Editering 0-1');«, l3=0x1f}
0x5e54…5e69 Line {l1=0x13, l2=»      GOTOXY(20,7);«, l3=0x13}
0x5e69…5e8a Line {l1=0x1f, l2=»      READLN;READ(F^.EDITERING)«, l3=0x1f}
0x5e8a…5e94 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5e94…5e9f Line {l1=0x09, l2=»  8:BEGIN«, l3=0x09}
0x5e9f…5eb3 Line {l1=0x12, l2=»      GOTOXY(4,8);«, l3=0x12}
0x5eb3…5ecd Line {l1=0x18, l2=»      WRITELN('Indeks');«, l3=0x18}
0x5ecd…5ee2 Line {l1=0x13, l2=»      GOTOXY(20,8);«, l3=0x13}
0x5ee2…5f00 Line {l1=0x1c, l2=»      READLN;READ(F^.INDEKS)«, l3=0x1c}
0x5f00…5f0a Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5f0a…5f15 Line {l1=0x09, l2=»  9:BEGIN«, l3=0x09}
0x5f15…5f29 Line {l1=0x12, l2=»      GOTOXY(4,9);«, l3=0x12}
0x5f29…5f43 Line {l1=0x18, l2=»      WRITELN('Længde');«, l3=0x18}
0x5f43…5f58 Line {l1=0x13, l2=»      GOTOXY(20,9);«, l3=0x13}
0x5f58…5f76 Line {l1=0x1c, l2=»      READLN;READ(F^.LÆNGDE)«, l3=0x1c}
0x5f76…5f80 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5f80…5f8b Line {l1=0x09, l2=» 10:BEGIN«, l3=0x09}
0x5f8b…5fa0 Line {l1=0x13, l2=»      GOTOXY(4,10);«, l3=0x13}
0x5fa0…5fb9 Line {l1=0x17, l2=»      WRITELN('Hægte');«, l3=0x17}
0x5fb9…5fcf Line {l1=0x14, l2=»      GOTOXY(20,10);«, l3=0x14}
0x5fcf…5fec Line {l1=0x1b, l2=»      READLN;READ(F^.HÆGTE)«, l3=0x1b}
0x5fec…5ff6 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x5ff6…6001 Line {l1=0x09, l2=» 11:BEGIN«, l3=0x09}
0x6001…6016 Line {l1=0x13, l2=»      GOTOXY(4,11);«, l3=0x13}
0x6016…6030 Line {l1=0x18, l2=»      WRITELN('Foran0');«, l3=0x18}
0x6030…6046 Line {l1=0x14, l2=»      GOTOXY(20,11);«, l3=0x14}
0x6046…6064 Line {l1=0x1c, l2=»      READLN;READ(F^.FORAN0)«, l3=0x1c}
0x6064…606e Line {l1=0x08, l2=»    END;«, l3=0x08}
0x606e…6079 Line {l1=0x09, l2=» 12:BEGIN«, l3=0x09}
0x6079…6086 Line {l1=0x0b, l2=»     REPEAT«, l3=0x0b}
0x6086…609b Line {l1=0x13, l2=»      GOTOXY(4,12);«, l3=0x13}
0x609b…60b7 Line {l1=0x1a, l2=»      WRITELN('Felttype');«, l3=0x1a}
0x60b7…60cd Line {l1=0x14, l2=»      GOTOXY(20,12);«, l3=0x14}
0x60cd…60ec Line {l1=0x1d, l2=»      READLN;READ(FTYPED(4));«, l3=0x1d}
0x60ec…60f9 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x60f9…6125 Line {l1=0x2a, l2=»      WHILE FTYPED(I)<>FTYPED(4) DO I:=I+1«, l3=0x2a}
0x6125…6144 Line {l1=0x1d, l2=»     UNTIL (I>=0) AND (I<=3);«, l3=0x1d}
0x6144…6155 Line {l1=0x0f, l2=»      CASE I OF«, l3=0x0f}
0x6155…6164 Line {l1=0x0d, l2=»      2:BEGIN«, l3=0x0d}
0x6164…6182 Line {l1=0x1c, l2=»          F^.FELTTYPE:=REEL;«, l3=0x1c}
0x6182…619c Line {l1=0x18, l2=»          GOTOXY(30,12);«, l3=0x18}
0x619c…61b7 Line {l1=0x19, l2=»          WRITELN('Dec');«, l3=0x19}
0x61b7…61d1 Line {l1=0x18, l2=»          GOTOXY(40,12);«, l3=0x18}
0x61d1…61f0 Line {l1=0x1d, l2=»          READLN;READ(F^.DEC)«, l3=0x1d}
0x61f0…61fe Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x61fe…621c Line {l1=0x1c, l2=»      0:F^.FELTTYPE:=HELTAL;«, l3=0x1c}
0x621c…623b Line {l1=0x1d, l2=»      1:F^.FELTTYPE:=DOBBTAL;«, l3=0x1d}
0x623b…6257 Line {l1=0x1a, l2=»      3:F^.FELTTYPE:=TEKST«, l3=0x1a}
0x6257…6262 Line {l1=0x09, l2=»      END«, l3=0x09}
0x6262…626c Line {l1=0x08, l2=»    END;«, l3=0x08}
0x626c…6277 Line {l1=0x09, l2=» 13:BEGIN«, l3=0x09}
0x6277…628c Line {l1=0x13, l2=»      GOTOXY(4,13);«, l3=0x13}
0x628c…62a8 Line {l1=0x1a, l2=»      WRITELN('Feltnavn');«, l3=0x1a}
0x62a8…62be Line {l1=0x14, l2=»      GOTOXY(20,13);«, l3=0x14}
0x62be…62de Line {l1=0x1e, l2=»      READLN;READ(F^.FELTNAVN)«, l3=0x1e}
0x62de…62e7 Line {l1=0x07, l2=»    END«, l3=0x07}
0x62e7…62ee Line {l1=0x05, l2=»  END«, l3=0x05}
0x62ee…62f4 Line {l1=0x04, l2=»END;«, l3=0x04}
0x62f4…62fc Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x62fc…631c Line {l1=0x1e, l2=»PROCEDURE VEDLFD(VAR F:NFELT);«, l3=0x1e}
0x631c…632c Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x632c…6333 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x6333…633d Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x633d…6352 Line {l1=0x13, l2=»    SKRIVPARAMS(F);«, l3=0x13}
0x6352…6365 Line {l1=0x11, l2=»    GOTOXY(1,23);«, l3=0x11}
0x6365…638b Line {l1=0x24, l2=»    WRITELN('Feltnr, 0 for færdig');«, l3=0x24}
0x638b…639f Line {l1=0x12, l2=»    GOTOXY(22,23);«, l3=0x12}
0x639f…63b4 Line {l1=0x13, l2=»    READLN;READ(I);«, l3=0x13}
0x63b4…63f4 Line {l1=0x3e, l2=»    IF (USERNIVEAU>=HSM) OR ((I<>8) AND (I<>9) AND (I<>12) AND«, l3=0x3e}
0x63f4…6429 Line {l1=0x33, l2=»       ((I<>3) OR (USERNIVEAU>=F^.KIKKENIVEAU)) AND«, l3=0x33}
0x6429…6460 Line {l1=0x35, l2=»       ((I<>4) OR (USERNIVEAU>=F^.ÆNDRENIVEAU))) THEN«, l3=0x35}
0x6460…6476 Line {l1=0x14, l2=»       INDPARAM(F,I)«, l3=0x14}
0x6476…6483 Line {l1=0x0b, l2=»  UNTIL I=0«, l3=0x0b}
0x6483…6489 Line {l1=0x04, l2=»END;«, l3=0x04}
0x6489…6491 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x6491…64a4 Line {l1=0x11, l2=»PROCEDURE MAINPD;«, l3=0x11}
0x64a4…64b4 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x64b4…64c7 Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x64c7…64d8 Line {l1=0x0f, l2=»    NF,F:NFELT;«, l3=0x0f}
0x64d8…64df Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x64df…64e9 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x64e9…64fb Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x64fb…651b Line {l1=0x1e, l2=»    FOR I:=1 TO ANTALFELTER DO«, l3=0x1e}
0x651b…654c Line {l1=0x2f, l2=»      WRITELN(I:3,' ':5,PICTURE(I)^.LEDETEKST);«, l3=0x2f}
0x654c…655f Line {l1=0x11, l2=»    GOTOXY(1,23);«, l3=0x11}
0x655f…6585 Line {l1=0x24, l2=»    WRITELN('Feltnr, 0 for færdig');«, l3=0x24}
0x6585…6599 Line {l1=0x12, l2=»    GOTOXY(22,23);«, l3=0x12}
0x6599…65ae Line {l1=0x13, l2=»    READLN;READ(I);«, l3=0x13}
0x65ae…65d6 Line {l1=0x26, l2=»    IF (I>0) AND (I<=ANTALFELTER) THEN«, l3=0x26}
0x65d6…65e1 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x65e1…65fc Line {l1=0x19, l2=»      VEDLFD(PICTURE(I));«, l3=0x19}
0x65fc…6612 Line {l1=0x14, l2=»      F:=PICTURE(I);«, l3=0x14}
0x6612…6622 Line {l1=0x0e, l2=»      CH:='J';«, l3=0x0e}
0x6622…6652 Line {l1=0x2e, l2=»      WHILE (F^.NÆSTEVAL<>NIL) AND (CH='J') DO«, l3=0x2e}
0x6652…665f Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x665f…6676 Line {l1=0x15, l2=»        GOTOXY(1,23);«, l3=0x15}
0x6676…66a6 Line {l1=0x2e, l2=»        WRITELN('Næste validitet J/N',' ':58);«, l3=0x2e}
0x66a6…66be Line {l1=0x16, l2=»        GOTOXY(21,23);«, l3=0x16}
0x66be…66d1 Line {l1=0x11, l2=»        EDIT(CH);«, l3=0x11}
0x66d1…66e9 Line {l1=0x16, l2=»        IF CH='J' THEN«, l3=0x16}
0x66e9…66f8 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x66f8…6713 Line {l1=0x19, l2=»          F:=F^.NÆSTEVAL;«, l3=0x19}
0x6713…672c Line {l1=0x17, l2=»          SKRIVVALI(F);«, l3=0x17}
0x672c…6745 Line {l1=0x17, l2=»          GOTOXY(1,23);«, l3=0x17}
0x6745…676e Line {l1=0x27, l2=»          WRITELN('Ændres J/N',' ':68);«, l3=0x27}
0x676e…6788 Line {l1=0x18, l2=»          GOTOXY(12,23);«, l3=0x18}
0x6788…679d Line {l1=0x13, l2=»          EDIT(CH);«, l3=0x13}
0x679d…67cf Line {l1=0x30, l2=»          IF (CH='J') AND (USERNIVEAU>=HSM) THEN«, l3=0x30}
0x67cf…67e7 Line {l1=0x16, l2=»            INDVALI(F)«, l3=0x16}
0x67e7…67f7 Line {l1=0x0e, l2=»          ELSE«, l3=0x0e}
0x67f7…680c Line {l1=0x13, l2=»            CH:='J'«, l3=0x13}
0x680c…6819 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x6819…6825 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x6825…683a Line {l1=0x13, l2=»      GOTOXY(1,23);«, l3=0x13}
0x683a…686b Line {l1=0x2f, l2=»      WRITELN('Slet: S, Tilføj: T, Færdig: F');«, l3=0x2f}
0x686b…687b Line {l1=0x0e, l2=»      CH:='F';«, l3=0x0e}
0x687b…6891 Line {l1=0x14, l2=»      GOTOXY(34,23);«, l3=0x14}
0x6891…68a2 Line {l1=0x0f, l2=»      EDIT(CH);«, l3=0x0f}
0x68a2…68c1 Line {l1=0x1d, l2=»      IF USERNIVEAU>=HSM THEN«, l3=0x1d}
0x68c1…68d6 Line {l1=0x13, l2=»      CASE CH(1) OF«, l3=0x13}
0x68d6…691e Line {l1=0x46, l2=»      'S':IF F^.NÆSTEVAL<>NIL THEN F^.NÆSTEVAL:=F^.NÆSTEVAL^.NÆSTEVAL;«, l3=0x46}
0x691e…692f Line {l1=0x0f, l2=»      'T':BEGIN«, l3=0x0f}
0x692f…694c Line {l1=0x1b, l2=»          NEW(NF,VALIDESC);«, l3=0x1b}
0x694c…696f Line {l1=0x21, l2=»          NF^.DESCTYPE:=VALIDESC;«, l3=0x21}
0x696f…6987 Line {l1=0x16, l2=»          INDVALI(NF);«, l3=0x16}
0x6987…69ad Line {l1=0x24, l2=»          NF^.NÆSTEVAL:=F^.NÆSTEVAL;«, l3=0x24}
0x69ad…69c8 Line {l1=0x19, l2=»          F^.NÆSTEVAL:=NF«, l3=0x19}
0x69c8…69d5 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x69d5…69e0 Line {l1=0x09, l2=»      END«, l3=0x09}
0x69e0…69e9 Line {l1=0x07, l2=»    END«, l3=0x07}
0x69e9…69f6 Line {l1=0x0b, l2=»  UNTIL I=0«, l3=0x0b}
0x69f6…69fc Line {l1=0x04, l2=»END;«, l3=0x04}
0x69fc…6a04 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x6a04…6a19 Line {l1=0x13, l2=»PROCEDURE CREATEPD;«, l3=0x13}
0x6a19…6a31 Line {l1=0x16, l2=»VAR FRA,TIL,I:INTEGER;«, l3=0x16}
0x6a31…6a44 Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x6a44…6a52 Line {l1=0x0c, l2=»    F:NFELT;«, l3=0x0c}
0x6a52…6a59 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x6a59…6a6a Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x6a6a…6ab0 Line {l1=0x44, l2=»  WRITELN('Tilføjelse: T, Sletning: S, Flytning: F, Afslutning: A');«, l3=0x44}
0x6ab0…6ac2 Line {l1=0x10, l2=»  GOTOXY(56,23);«, l3=0x10}
0x6ac2…6ace Line {l1=0x0a, l2=»  CH:='T';«, l3=0x0a}
0x6ace…6adb Line {l1=0x0b, l2=»  EDIT(CH);«, l3=0x0b}
0x6adb…6aef Line {l1=0x12, l2=»  WHILE CH<>'A' DO«, l3=0x12}
0x6aef…6af8 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x6af8…6b09 Line {l1=0x0f, l2=»  CASE CH(1) OF«, l3=0x0f}
0x6b09…6b14 Line {l1=0x09, l2=»'T':BEGIN«, l3=0x09}
0x6b14…6b26 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x6b26…6b47 Line {l1=0x1f, l2=»    ANTALFELTER:=ANTALFELTER+1;«, l3=0x1f}
0x6b47…6b70 Line {l1=0x27, l2=»    NEW(PICTURE(ANTALFELTER),FELTDESC);«, l3=0x27}
0x6b70…6b8e Line {l1=0x1c, l2=»    F:=PICTURE(ANTALFELTER);«, l3=0x1c}
0x6b8e…6baa Line {l1=0x1a, l2=»    F^.DESCTYPE:=FELTDESC;«, l3=0x1a}
0x6baa…6bd0 Line {l1=0x24, l2=»    FOR I:=1 TO 13 DO INDPARAM(F,I);«, l3=0x24}
0x6bd0…6be0 Line {l1=0x0e, l2=»    VEDLFD(F);«, l3=0x0e}
0x6be0…6bec Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x6bec…6c01 Line {l1=0x13, l2=»      GOTOXY(1,23);«, l3=0x13}
0x6c01…6c2e Line {l1=0x2b, l2=»      WRITELN('Flere validitetscheck J/N');«, l3=0x2b}
0x6c2e…6c44 Line {l1=0x14, l2=»      GOTOXY(30,23);«, l3=0x14}
0x6c44…6c54 Line {l1=0x0e, l2=»      CH:='J';«, l3=0x0e}
0x6c54…6c65 Line {l1=0x0f, l2=»      EDIT(CH);«, l3=0x0f}
0x6c65…6c7b Line {l1=0x14, l2=»      IF CH='J' THEN«, l3=0x14}
0x6c7b…6c88 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x6c88…6cac Line {l1=0x22, l2=»        NEW(F^.NÆSTEVAL,VALIDESC);«, l3=0x22}
0x6cac…6ccc Line {l1=0x1e, l2=»        F^.DESCTYPE:=VALIDESC;«, l3=0x1e}
0x6ccc…6ce5 Line {l1=0x17, l2=»        F:=F^.NÆSTEVAL;«, l3=0x17}
0x6ce5…6cf5 Line {l1=0x0e, l2=»        REPEAT«, l3=0x0e}
0x6cf5…6d0d Line {l1=0x16, l2=»          CLEARSCREEN;«, l3=0x16}
0x6d0d…6d24 Line {l1=0x15, l2=»          INDVALI(F);«, l3=0x15}
0x6d24…6d3d Line {l1=0x17, l2=»          SKRIVVALI(F);«, l3=0x17}
0x6d3d…6d56 Line {l1=0x17, l2=»          GOTOXY(1,23);«, l3=0x17}
0x6d56…6d8b Line {l1=0x33, l2=»          WRITELN('Validitetscheck OK J/N',' ':56);«, l3=0x33}
0x6d8b…6da5 Line {l1=0x18, l2=»          GOTOXY(30,23);«, l3=0x18}
0x6da5…6db9 Line {l1=0x12, l2=»          EDIT(CH)«, l3=0x12}
0x6db9…6dcf Line {l1=0x14, l2=»        UNTIL CH='J'«, l3=0x14}
0x6dcf…6dda Line {l1=0x09, l2=»      END«, l3=0x09}
0x6dda…6dee Line {l1=0x12, l2=»    UNTIL CH<>'J';«, l3=0x12}
0x6dee…6e05 Line {l1=0x15, l2=»    F^.NÆSTEVAL:=NIL;«, l3=0x15}
0x6e05…6e0d Line {l1=0x06, l2=»  END;«, l3=0x06}
0x6e0d…6e18 Line {l1=0x09, l2=»'S':BEGIN«, l3=0x09}
0x6e18…6e38 Line {l1=0x1e, l2=»    PICTURE(ANTALFELTER):=NIL;«, l3=0x1e}
0x6e38…6e58 Line {l1=0x1e, l2=»    ANTALFELTER:=ANTALFELTER-1«, l3=0x1e}
0x6e58…6e60 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x6e60…6e6b Line {l1=0x09, l2=»'F':BEGIN«, l3=0x09}
0x6e6b…6e7e Line {l1=0x11, l2=»    GOTOXY(1,20);«, l3=0x11}
0x6e7e…6e97 Line {l1=0x17, l2=»    WRITELN('FRA TIL');«, l3=0x17}
0x6e97…6eaa Line {l1=0x11, l2=»    GOTOXY(9,20);«, l3=0x11}
0x6eaa…6ec5 Line {l1=0x19, l2=»    READLN;READ(FRA,TIL);«, l3=0x19}
0x6ec5…6edb Line {l1=0x14, l2=»    F:=PICTURE(FRA);«, l3=0x14}
0x6edb…6ef0 Line {l1=0x13, l2=»    IF FRA<TIL THEN«, l3=0x13}
0x6ef0…6f27 Line {l1=0x35, l2=»      FOR I:=FRA TO TIL-1 DO PICTURE(I):=PICTURE(I+1)«, l3=0x35}
0x6f27…6f31 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x6f31…6f6d Line {l1=0x3a, l2=»      FOR I:=FRA DOWNTO TIL+1 DO PICTURE(I):=PICTURE(I-1);«, l3=0x3a}
0x6f6d…6f82 Line {l1=0x13, l2=»    PICTURE(TIL):=F«, l3=0x13}
0x6f82…6f89 Line {l1=0x05, l2=»  END«, l3=0x05}
0x6f89…6f91 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x6f91…6fa2 Line {l1=0x0f, l2=»  GOTOXY(1,23);«, l3=0x0f}
0x6fa2…6fe8 Line {l1=0x44, l2=»  WRITELN('Tilføjelse: T, Sletning: S, Flytning: F, Afslutning: A');«, l3=0x44}
0x6fe8…6ffa Line {l1=0x10, l2=»  GOTOXY(56,23);«, l3=0x10}
0x6ffa…7006 Line {l1=0x0a, l2=»  CH:='T';«, l3=0x0a}
0x7006…7012 Line {l1=0x0a, l2=»  EDIT(CH)«, l3=0x0a}
0x7012…7019 Line {l1=0x05, l2=»  END«, l3=0x05}
0x7019…701f Line {l1=0x04, l2=»END;«, l3=0x04}
0x701f…7027 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x7027…703c Line {l1=0x13, l2=»PROCEDURE LISTDESC;«, l3=0x13}
0x703c…7043 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x7043…7055 Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
0x7055…706d Line {l1=0x16, l2=»  WRITELN(LIST,FNAVN);«, l3=0x16}
0x706d…707f Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
0x707f…70b6 Line {l1=0x35, l2=»  WRITELN(LIST,'Felt Ledetekst',' ':21,'Følgetekst');«, l3=0x35}
0x70b6…70f9 Line {l1=0x41, l2=»  WRITELN(LIST,' ':5,'Kikkeniveau   Indpos Edit     Ændreniveau',«, l3=0x41}
0x70f9…7124 Line {l1=0x29, l2=»             '     Udpos Længde Foran0');«, l3=0x29}
0x7124…7171 Line {l1=0x4b, l2=»  WRITELN(LIST,' ':5,'Felttype  Indeks    Decimaler     Feltnavn   Hægte');«, l3=0x4b}
0x7171…71b9 Line {l1=0x46, l2=»  WRITELN(LIST,' ':15,'Validitetstype      Minimum          Maximum');«, l3=0x46}
0x71b9…71cb Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
            […0x1…]
0x71dd…71fb Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x71fb…7204 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x7204…721b Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x721b…722e Line {l1=0x11, l2=»    WITH FELT^ DO«, l3=0x11}
0x722e…7239 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x7239…7285 Line {l1=0x4a, l2=»      WRITELN(LIST,I:4,' ',LEDETEKST,' ':30-LENGTH(LEDETEKST),FØLGETEKST);«, l3=0x4a}
0x7285…72ba Line {l1=0x33, l2=»      WRITELN(LIST,' ':5,NIVEAUD(ORD(KIKKENIVEAU)),«, l3=0x33}
0x72ba…7309 Line {l1=0x4d, l2=»              ' ':10-LENGTH(NIVEAUD(ORD(KIKKENIVEAU))),INDPOS.X:5,INDPOS.Y:5,«, l3=0x4d}
0x7309…7358 Line {l1=0x4d, l2=»                                                                 EDITERING:5,«, l3=0x4d}
0x7358…7388 Line {l1=0x2e, l2=»              ' ':5,NIVEAUD(ORD(ÆNDRENIVEAU)),«, l3=0x2e}
0x7388…73d7 Line {l1=0x4d, l2=»                ' ':11-LENGTH(NIVEAUD(ORD(ÆNDRENIVEAU))),UDPOS.X:5,UDPOS.Y:5,«, l3=0x4d}
0x73d7…7426 Line {l1=0x4d, l2=»                                                          LÆNGDE:7,FORAN0:7);«, l3=0x4d}
0x7426…7455 Line {l1=0x2d, l2=»      WRITE(LIST,' ':5,FTYPED(ORD(FELTTYPE)),«, l3=0x2d}
0x7455…7492 Line {l1=0x3b, l2=»            ' ':11-LENGTH(FTYPED(ORD(FELTTYPE))),INDEKS:4);«, l3=0x3b}
0x7492…74db Line {l1=0x47, l2=»      IF FELTTYPE=REEL THEN WRITE(LIST,DEC:12) ELSE WRITE(LIST,' ':12);«, l3=0x47}
0x74db…7508 Line {l1=0x2b, l2=»      WRITELN(LIST,' ':8,FELTNAVN,HÆGTE:5);«, l3=0x2b}
0x7508…7512 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x7512…752d Line {l1=0x19, l2=»    FELT:=FELT^.NÆSTEVAL;«, l3=0x19}
0x752d…7545 Line {l1=0x16, l2=»    WHILE FELT<>NIL DO«, l3=0x16}
0x7545…7550 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x7550…758c Line {l1=0x3a, l2=»      WRITE(LIST,' ':15,VTYPED(ORD(FELT^.VALIDITETSTYPE)),«, l3=0x3a}
0x758c…75cc Line {l1=0x3e, l2=»            ' ':15-LENGTH(VTYPED(ORD(FELT^.VALIDITETSTYPE))));«, l3=0x3e}
0x75cc…75f0 Line {l1=0x22, l2=»      CASE FELT^.VALIDITETSTYPE OF«, l3=0x22}
0x75f0…762a Line {l1=0x38, l2=»      HINTERVAL:WRITELN(LIST,FELT^.MIN:12,FELT^.MAX:17);«, l3=0x38}
0x762a…766d Line {l1=0x41, l2=»      DINTERVAL:WRITELN(LIST,FELT^.MIN1*10000.0+FELT^.MIN2:12:-2,«, l3=0x41}
0x766d…76b8 Line {l1=0x49, l2=»                                    FELT^.MAX1*10000.0+FELT^.MAX2:17:-2);«, l3=0x49}
0x76b8…76f8 Line {l1=0x3e, l2=»      RINTERVAL:WRITELN(LIST,FELT^.RMIN:12:2,FELT^.RMAX:17:2);«, l3=0x3e}
0x76f8…7717 Line {l1=0x1d, l2=»      DATO,CPR: WRITELN(LIST)«, l3=0x1d}
0x7717…7723 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x7723…773f Line {l1=0x1a, l2=»      FELT:=FELT^.NÆSTEVAL«, l3=0x1a}
0x773f…7749 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x7749…775c Line {l1=0x11, l2=»    WRITELN(LIST)«, l3=0x11}
0x775c…7764 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x7764…7772 Line {l1=0x0c, l2=»  PAGE(LIST)«, l3=0x0c}
0x7772…7778 Line {l1=0x04, l2=»END;«, l3=0x04}
0x7778…7780 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x7780…7792 Line {l1=0x10, l2=»(*HOVEDPROGRAM*)«, l3=0x10}
0x7792…7799 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x7799…77a2 Line {l1=0x07, l2=»  INIT;«, l3=0x07}
0x77a2…77b8 Line {l1=0x14, l2=»  USERNIVEAU:=MENIG;«, l3=0x14}
0x77b8…77d0 Line {l1=0x16, l2=»  I:=ORD(PARM^(1))-48;«, l3=0x16}
0x77d0…77e0 Line {l1=0x0e, l2=»  WHILE I>0 DO«, l3=0x0e}
0x77e0…77e9 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x77e9…780c Line {l1=0x21, l2=»    USERNIVEAU:=SUCC(USERNIVEAU);«, l3=0x21}
0x780c…7818 Line {l1=0x0a, l2=»    I:=I-1«, l3=0x0a}
0x7818…7820 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x7820…7830 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x7830…7843 Line {l1=0x11, l2=»  ANTALFELTER:=0;«, l3=0x11}
0x7843…7855 Line {l1=0x10, l2=»  FNAVN:='NONE';«, l3=0x10}
0x7855…786e Line {l1=0x17, l2=»  WRITELN('Input-fil');«, l3=0x17}
0x786e…787f Line {l1=0x0f, l2=»  GOTOXY(11,1);«, l3=0x0f}
0x787f…7892 Line {l1=0x11, l2=»  EDIT(FNAVN:16);«, l3=0x11}
0x7892…78bb Line {l1=0x27, l2=»  IF POS('NONE',FNAVN)<>1 THEN LÆSDESC;«, l3=0x27}
0x78bb…78c5 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x78c5…78d7 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x78d7…7907 Line {l1=0x2e, l2=»    WRITELN('1 Opbygning af feltbeskrivelse');«, l3=0x2e}
0x7907…7942 Line {l1=0x39, l2=»    WRITELN('2 Ændring af eksisterende feltbeskrivelse');«, l3=0x39}
0x7942…7960 Line {l1=0x1c, l2=»    WRITELN('3 Simulering');«, l3=0x1c}
0x7960…7989 Line {l1=0x27, l2=»    WRITELN('4 Oprettelse af datafil');«, l3=0x27}
0x7989…79bf Line {l1=0x34, l2=»    WRITELN('5 Printerudskrift af feltbeskrivelse');«, l3=0x34}
0x79bf…79d9 Line {l1=0x18, l2=»    WRITELN('Vælg 0-5');«, l3=0x18}
0x79d9…79e5 Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x79e5…79fa Line {l1=0x13, l2=»      GOTOXY(12,6);«, l3=0x13}
0x79fa…7a10 Line {l1=0x14, l2=»      READLN;READ(I)«, l3=0x14}
0x7a10…7a2e Line {l1=0x1c, l2=»    UNTIL (I>=0) AND (I<=5);«, l3=0x1c}
0x7a2e…7a3d Line {l1=0x0d, l2=»    CASE I OF«, l3=0x0d}
0x7a3d…7a66 Line {l1=0x27, l2=»    1:IF USERNIVEAU>=HSM THEN CREATEPD;«, l3=0x27}
0x7a66…7a75 Line {l1=0x0d, l2=»    2:MAINPD;«, l3=0x0d}
0x7a75…7a82 Line {l1=0x0b, l2=»    3:BEGIN«, l3=0x0b}
0x7a82…7aa0 Line {l1=0x1c, l2=»        HUSKNIV:=USERNIVEAU;«, l3=0x1c}
0x7aa0…7abe Line {l1=0x1c, l2=»        USERNIVEAU:=UMULIUS;«, l3=0x1c}
0x7abe…7ad0 Line {l1=0x10, l2=»        NULPOST;«, l3=0x10}
0x7ad0…7ae4 Line {l1=0x12, l2=»        SKRIVPOST;«, l3=0x12}
0x7ae4…7af4 Line {l1=0x0e, l2=»        REPEAT«, l3=0x0e}
0x7af4…7b07 Line {l1=0x11, l2=»          READLN;«, l3=0x11}
0x7b07…7b2d Line {l1=0x24, l2=»          FOR I:=1 TO ANTALFELTER DO«, l3=0x24}
0x7b2d…7b4f Line {l1=0x20, l2=»            LÆSFELT(PICTURE(I));«, l3=0x20}
0x7b4f…7b6a Line {l1=0x19, l2=»          READLN;READ(I);«, l3=0x19}
0x7b6a…7b8d Line {l1=0x21, l2=»          IF I<>-1 THEN SKRIVPOST«, l3=0x21}
0x7b8d…7ba2 Line {l1=0x13, l2=»        UNTIL I=-1;«, l3=0x13}
0x7ba2…7bbf Line {l1=0x1b, l2=»        USERNIVEAU:=HUSKNIV«, l3=0x1b}
0x7bbf…7bcb Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x7bcb…7bf1 Line {l1=0x24, l2=»    4:IF USERNIVEAU>=HSM THEN OPRET;«, l3=0x24}
0x7bf1…7c01 Line {l1=0x0e, l2=»    5:LISTDESC«, l3=0x0e}
0x7c01…7c0a Line {l1=0x07, l2=»    END«, l3=0x07}
0x7c0a…7c18 Line {l1=0x0c, l2=»  UNTIL I=0;«, l3=0x0c}
0x7c18…7c28 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x7c28…7c42 Line {l1=0x18, l2=»  WRITELN('Output-fil');«, l3=0x18}
0x7c42…7c53 Line {l1=0x0f, l2=»  GOTOXY(12,1);«, l3=0x0f}
0x7c53…7c66 Line {l1=0x11, l2=»  EDIT(FNAVN:16);«, l3=0x11}
0x7c66…7c96 Line {l1=0x2e, l2=»  IF FNAVN<>'                ' THEN SKRIVDESC;«, l3=0x2e}
0x7c96…7cab Line {l1=0x13, l2=»  FNAVN:='       ';«, l3=0x13}
0x7cab…7cd3 Line {l1=0x26, l2=»  FOR I:=1 TO 7 DO FNAVN(I):=PARM^(I);«, l3=0x26}
0x7cd3…7cf5 Line {l1=0x20, l2=»  CHAIN('HOVED   *1',FNAVN,QUQ);«, l3=0x20}
0x7cf5…7d2a Line {l1=0x33, l2=»  IF IORESULT<>0 THEN WRITELN('IORESULT ',IORESULT)«, l3=0x33}
0x7d2a…7d30 Line {l1=0x04, l2=»END.«, l3=0x04}
0x7d30…7d40 00 00 63 63 63 63 63 63 63 63 63 63 63 63 63 63                                                   ┆  cccccccccccccc┆
0x7d40…7d60 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┆
            […0x18…]

Reduced view