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

⟦47e97ecf4⟧ TextFile

    Length: 18720 (0x4920)
    Types: TextFile
    Notes: Mikados_K
    Names: »REGVEDL.K«

Derivation

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

Mikados K File

PROGRAM REGVEDL;
CONST MAXFELTER=30;
      MAXNØGLER=9;
      MAXZONE=1000;
      MAXPOST=250;
(*$IISFHEAD*)
ZZONE   =RECORD
        H:ISFHEAD;
        T:ARRAY(1..MAXZONE) OF INTEGER
END;
NFELT=^FELTBESKRIVELSE;
NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);
SKÆRMPOS=RECORD
   X,Y:INTEGER
END;
FTYPE=(HELTAL,DOBBTAL,REEL,TEKST);
VTYPE=(HINTERVAL,DINTERVAL,RINTERVAL,DATO,CPR);
BESKRIVELSESTYPE=(FELTDESC,VALIDESC);
FELTBESKRIVELSE=RECORD
   NÆSTEVAL:NFELT;
   CASE DESCTYPE:BESKRIVELSESTYPE OF
   FELTDESC:
  (INDPOS,UDPOS:SKÆRMPOS;
   KIKKENIVEAU,ÆNDRENIVEAU:NIVEAU;
   EDITERING:INTEGER;
   LEDETEKST,FØLGETEKST:STRING;
   INDEKS:INTEGER;
   LÆNGDE:INTEGER;
   FORAN0:INTEGER;
   CASE FELTTYPE:FTYPE OF
   REEL:(DEC:INTEGER);
   HELTAL,DOBBTAL,TEKST:());
   VALIDESC:
  (CASE VALIDITETSTYPE:VTYPE OF
      HINTERVAL:(MIN,MAX:INTEGER);
      DINTERVAL:(MIN1,MIN2,MAX1,MAX2:INTEGER);
      RINTERVAL:(RMIN,RMAX:REAL);
      DATO,CPR:())
END;
FELTFIL=FILE OF FELTBESKRIVELSE;
ARAR=PACKED ARRAY (-11..-10) OF CHAR;
RAR=ARRAY (0..0) OF REAL;
PPOST=RECORD
      AA:ARAR;
      A:AR;
      AAA:RAR;
      CONTENTS: ARRAY (1..MAXPOST) OF INTEGER
END;
PARMARRAY=PACKED ARRAY (1..40) OF CHAR;
CLOCKRECORD=RECORD
             DATE:PACKED ARRAY (1..10) OF CHAR;
             TIME:PACKED ARRAY (1..8) OF CHAR
END;
VAR PARM:^PARMARRAY;
    CLOCK:^CLOCKRECORD;
    FELT:NFELT;
    USERNIVEAU,HUSKNIV:NIVEAU;
    PICTURE:ARRAY (1..MAXFELTER) OF NFELT;
    NØGLER:ARRAY (1..MAXNØGLER) OF NFELT;
    OPTION,IER,I,J,ANTALFELTER,ANTALNØGLER:INTEGER;
    CH:STRING(1);
    REGNAVN,LINE:STRING;
    FFIL:FELTFIL;
    FNAVN:STRING;
       REGISTER:ISF;
       ZONE:ZZONE;
       POST:PPOST;
       QUQ:^INTEGER;
(*$L-*)
(*$R-,IEXCOMCOP*)
(*$IIOPEN*)
(*$ISÆTØG*)
(*$IREADPROC*)
(*$IFINDPOST*)
(*$IFORSKYD*)
(*$IICLOSE*)
(*$IPUTGET*)
(*$IINSERT*)
(*$INEXTREC*)
(*$IDELETE*)
(*$IINITIATE*)
(*$L+*)
(*$P*)
PROCEDURE ERROR(VAR FIL:FILNAVN);
BEGIN
  WRITELN('FEJL I REGISTER ',FIL,' FEJLKODE ',IER);
  ICLOSE(ZONE.H,REGISTER);
  EXIT(REGVEDL)
END;
PROCEDURE OFEJL(VAR FIL:FILNAVN);
VAR I:INTEGER;
BEGIN
  GOTOXY(1,20);
  WRITELN('REGISTERFEJL ',IER,' I ',FIL,' . SITUATIONEN ER FORSØGT REDDET.');
  WRITELN('TAST 0, HVIS DER SKAL FORTSÆTTES');
  REPEAT GOTOXY(40,21);READLN;READ(I) UNTIL IORESULT=0;
  IF I<>0 THEN ERROR(FIL);
  CLEARSCREEN
END;
(*$P*)
PROCEDURE LÆSDESC;
BEGIN
  REWRITE(FFIL,FNAVN);
 
  GET(FFIL);
  I:=0;
  ANTALNØGLER:=0;
  WHILE FFIL^.INDPOS.X>0 DO
  BEGIN
    I:=I+1;
    CASE FFIL^.FELTTYPE OF
    REEL:NEW(PICTURE(I),FELTDESC,REEL);
    HELTAL,DOBBTAL,TEKST:NEW(PICTURE(I),FELTDESC,HELTAL)
    END;
    FELT:=PICTURE(I);
    WITH PICTURE(I)^ DO
    BEGIN
      DESCTYPE:=FELTDESC;
      INDPOS.X:=FFIL^.INDPOS.X;
      INDPOS.Y:=FFIL^.INDPOS.Y;
      UDPOS.X:=FFIL^.UDPOS.X;
      UDPOS.Y:=FFIL^.UDPOS.Y;
      KIKKENIVEAU:=FFIL^.KIKKENIVEAU;
      ÆNDRENIVEAU:=FFIL^.ÆNDRENIVEAU;
      IF ÆNDRENIVEAU=UMULIUS THEN
      BEGIN
        ANTALNØGLER:=ANTALNØGLER+1;
        NØGLER(ANTALNØGLER):=PICTURE(I)
      END;
      LEDETEKST:=FFIL^.LEDETEKST;
      FØLGETEKST:=FFIL^.FØLGETEKST;
      EDITERING:=FFIL^.EDITERING;
      FELTTYPE:=FFIL^.FELTTYPE;
      INDEKS:=FFIL^.INDEKS;
      LÆNGDE:=FFIL^.LÆNGDE;
      FORAN0:=FFIL^.FORAN0;
      IF FELTTYPE=REEL THEN DEC:=FFIL^.DEC;
      WHILE FFIL^.NÆSTEVAL<>NIL DO
      BEGIN
        GET(FFIL);
        WITH FELT^ DO
        CASE FFIL^.VALIDITETSTYPE OF
          HINTERVAL:BEGIN
                      NEW(NÆSTEVAL,VALIDESC,HINTERVAL);
                      NÆSTEVAL^.MIN:=FFIL^.MIN;
                      NÆSTEVAL^.MAX:=FFIL^.MAX
                    END;
          DINTERVAL:BEGIN
                      NEW(NÆSTEVAL,VALIDESC,DINTERVAL);
                      NÆSTEVAL^.MIN1:=FFIL^.MIN1;NÆSTEVAL^.MIN2:=FFIL^.MIN2;
                      NÆSTEVAL^.MAX1:=FFIL^.MAX1;NÆSTEVAL^.MAX2:=FFIL^.MAX2
                    END;
          RINTERVAL:BEGIN
                      NEW(NÆSTEVAL,VALIDESC,RINTERVAL);
                      NÆSTEVAL^.RMIN:=FFIL^.RMIN;
                      NÆSTEVAL^.RMAX:=FFIL^.RMAX
                    END;
          DATO,CPR:NEW(NÆSTEVAL,VALIDESC,DATO)
        END;
        FELT:=FELT^.NÆSTEVAL;
        FELT^.DESCTYPE:=VALIDESC;
        FELT^.VALIDITETSTYPE:=FFIL^.VALIDITETSTYPE
      END;
      FELT^.NÆSTEVAL:=NIL
    END;
    GET(FFIL)
  END;
  CLOSE(FFIL);
  ANTALFELTER:=I
END;
(*$P*)
PROCEDURE 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)
               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);
BEGIN
 IF USERNIVEAU>=F^.KIKKENIVEAU THEN
 BEGIN
  GOTOXY(F^.UDPOS.X,F^.UDPOS.Y);
  WRITE(F^.LEDETEKST,' ');
  MOVETOLINE(F);
  WRITELN(LINE);
 END
END;
 
PROCEDURE SKRIVPOST;
VAR I:INTEGER;
BEGIN
  CLEARSCREEN;
  FOR I:=1 TO ANTALFELTER DO SKRIVFELT(PICTURE(I));
END;
 
PROCEDURE PRINTPOST;
VAR I:INTEGER;
BEGIN
  PAGE(LIST);
  WRITELN(LIST,REGNAVN,' UDSKRIFT');
  WRITELN(LIST);
  FOR I:=1 TO ANTALFELTER DO
  BEGIN
    WRITE(LIST,PICTURE(I)^.LEDETEKST,' ');
    MOVETOLINE(PICTURE(I));
    WRITELN(LIST,LINE)
  END
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 MAINTAIN;
VAR J:INTEGER;
    CH:STRING(1);
BEGIN
      CLEARSCREEN;
      IF OPTION<>4 THEN
      BEGIN
        HUSKNIV:=USERNIVEAU;
        USERNIVEAU:=UMULIUS;
        NULPOST;
        FOR J:=1 TO ANTALNØGLER DO LÆSFELT(NØGLER(J));
        USERNIVEAU:=HUSKNIV;
        GETREC(ZONE.H,REGISTER,POST.A);
        IF (IER<>0) AND (IER<>-6) THEN ERROR(ZONE.H.FILENAME);
      END;
      CASE OPTION OF
        1: IF IER=0 THEN
           BEGIN
             SKRIVPOST;
             REPEAT
               REPEAT
                 GOTOXY(1,23);
                 J:=0;
                 WRITELN('Feltnr, 0 for færdig ',J);
                 GOTOXY(22,23);READLN;
                 IF NOT (EOLN OR (INPUT^=' ')) THEN READ(J)
               UNTIL (IORESULT=0) AND (J>=0) AND (J<=ANTALFELTER);
               IF J>0 THEN LÆSFELT(PICTURE(J))
             UNTIL J=0;
             PUTREC(ZONE.H,REGISTER,POST.A);
             IF IER<>0 THEN ERROR(ZONE.H.FILENAME)
           END
           ELSE
           BEGIN
             WRITELN('Post findes ikke, tryk RETURN');
             READLN
           END;
        2: IF IER=0 THEN
           BEGIN
             SKRIVPOST;
             WRITELN('Tryk RETURN');READLN
           END
           ELSE
           BEGIN
             WRITELN('Post findes ikke, tryk RETURN');READLN
           END;
        3: IF IER=0 THEN
             PRINTPOST
           ELSE BEGIN WRITELN('Post findes ikke, tryk RETURN');READLN END;
        4: BEGIN
             NULPOST;
             SKRIVPOST;
             HUSKNIV:=USERNIVEAU;
             USERNIVEAU:=UMULIUS;
             FOR J:=1 TO ANTALFELTER DO LÆSFELT(PICTURE(J));
             USERNIVEAU:=HUSKNIV;
             IF (NOT ZONE.H.FILEINIT) AND (ZONE.H.RECINUSE=0) THEN
             BEGIN
               GOTOXY(1,23);
               WRITELN('ANTAL INITIALISERINGSPOSTER');
               GOTOXY(30,23);
               READLN;READ(J);
               INITIATE(ZONE.H,REGISTER,J);
               IF IER<>0 THEN ERROR(ZONE.H.FILENAME)
             END;
             INSERT(ZONE.H,REGISTER,POST.A);
             IF IER<>0 THEN
             IF IER=-7 THEN
             BEGIN
               WRITELN('Posten findes, RETURN');READLN
             END
             ELSE ERROR(ZONE.H.FILENAME)
           END;
        5: IF IER=0 THEN
           BEGIN
             SKRIVPOST;
             GOTOXY(1,20);
             CH:='J';
             WRITELN('Sletning korrekt J/N');
             GOTOXY(22,20);EDIT(CH);
             IF CH='J' THEN
             BEGIN
               DELETE(ZONE.H,REGISTER,POST.A);
               IF IER=-9 THEN
               BEGIN
                 WRITELN('Eneste post, kan ikke slettes, RETURN');
                 READLN;
                 IER:=0
               END;
               IF IER<>0 THEN ERROR(ZONE.H.FILENAME)
             END
           END
           ELSE
           BEGIN
             WRITELN('Post findes ikke, tryk RETURN');READLN
           END
      END
END;
(*$P*)
BEGIN
  CLEARSCREEN;
 
  CH:=' ';FNAVN:='';I:=1;
  REPEAT
    CH(1):=PARM^(I);
    FNAVN:=CONCAT(FNAVN,CH);
    I:=I+1
  UNTIL PARM^(I)=',';
  FOR J:=1 TO I-4 DO ZONE.H.FILENAME(J):=PARM^(J);
  I:=I+1;
  J:=ORD(PARM^(I))-48;
  USERNIVEAU:=MENIG;
  WHILE J>0 DO BEGIN USERNIVEAU:=SUCC(USERNIVEAU);J:=J-1 END;
  I:=I+2;
  REGNAVN:='';
  REPEAT
    CH(1):=PARM^(I);
    REGNAVN:=CONCAT(REGNAVN,CH);
    I:=I+1
  UNTIL PARM^(I)=' ';
  FNAVN:=CONCAT(FNAVN,':0000:I');
  REWRITE(REGISTER,FNAVN);
  IOPEN(ZONE.H,REGISTER,SKRIV);IF IER<>0 THEN OFEJL(ZONE.H.FILENAME);
  LINE:=CONCAT(COPY(FNAVN,1,4),'DESC:P');
  LINE:=CONCAT(LINE,COPY(FNAVN,POS(':P',FNAVN)+2,1),':30:J');
  FNAVN:=LINE;
  WRITELN('MEMAVAIL ',MEMAVAIL);
  LÆSDESC;
  WRITELN('MEMAVAIL ',MEMAVAIL);READLN;
  REPEAT
    CLEARSCREEN;
    GOTOXY(10,10);
    WRITELN(REGNAVN,' R E G I S T E R - V E D L I G E H O L D E L S E');
    GOTOXY(10,12);
    WRITELN('0 Færdig');
    WRITELN(' ':9,'1 Ændring');
    WRITELN(' ':9,'2 Udskrift på skærm');
    WRITELN(' ':9,'3 Udskrift på printer');
    WRITELN(' ':9,'4 Oprettelse');
    WRITELN(' ':9,'5 Sletning');
    REPEAT
      CH:='2';
      GOTOXY(10,19);
      WRITELN('Vælg 0-5');
      GOTOXY(21,19);EDIT(CH)
    UNTIL CH(1) IN (.'0'..'5'.);
    OPTION:=ORD(CH(1))-48;
    IF OPTION>0 THEN
      MAINTAIN
  UNTIL OPTION=0;
  ICLOSE(ZONE.H,REGISTER);
  CLEARSCREEN;
  WRITELN('ICLOSE ',IER);
  CHAIN('INTRE   *1','START:P1',QUQ)
END.

Mikados K File

0x0000…0012 Line {l1=0x10, l2=»PROGRAM REGVEDL;«, l3=0x10}
0x0012…0027 Line {l1=0x13, l2=»CONST MAXFELTER=30;«, l3=0x13}
0x0027…003b Line {l1=0x12, l2=»      MAXNØGLER=9;«, l3=0x12}
0x003b…0050 Line {l1=0x13, l2=»      MAXZONE=1000;«, l3=0x13}
0x0050…0064 Line {l1=0x12, l2=»      MAXPOST=250;«, l3=0x12}
0x0064…0073 Line {l1=0x0d, l2=»(*$IISFHEAD*)«, l3=0x0d}
0x0073…0084 Line {l1=0x0f, l2=»ZZONE   =RECORD«, l3=0x0f}
0x0084…0098 Line {l1=0x12, l2=»        H:ISFHEAD;«, l3=0x12}
0x0098…00c0 Line {l1=0x26, l2=»        T:ARRAY(1..MAXZONE) OF INTEGER«, l3=0x26}
0x00c0…00c6 Line {l1=0x04, l2=»END;«, l3=0x04}
0x00c6…00df Line {l1=0x17, l2=»NFELT=^FELTBESKRIVELSE;«, l3=0x17}
0x00df…012a Line {l1=0x49, l2=»NIVEAU=(MENIG,SERGENT,LØJTNANT,KAPTAJN,MAJOR,OBERST,GENERAL,HSM,UMULIUS);«, l3=0x49}
0x012a…013b Line {l1=0x0f, l2=»SKÆRMPOS=RECORD«, l3=0x0f}
0x013b…014b Line {l1=0x0e, l2=»   X,Y:INTEGER«, l3=0x0e}
0x014b…0151 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0151…0175 Line {l1=0x22, l2=»FTYPE=(HELTAL,DOBBTAL,REEL,TEKST);«, l3=0x22}
0x0175…01a6 Line {l1=0x2f, l2=»VTYPE=(HINTERVAL,DINTERVAL,RINTERVAL,DATO,CPR);«, l3=0x2f}
0x01a6…01cd Line {l1=0x25, l2=»BESKRIVELSESTYPE=(FELTDESC,VALIDESC);«, l3=0x25}
0x01cd…01e5 Line {l1=0x16, l2=»FELTBESKRIVELSE=RECORD«, l3=0x16}
0x01e5…01f9 Line {l1=0x12, l2=»   NÆSTEVAL:NFELT;«, l3=0x12}
0x01f9…021f Line {l1=0x24, l2=»   CASE DESCTYPE:BESKRIVELSESTYPE OF«, l3=0x24}
0x021f…022d Line {l1=0x0c, l2=»   FELTDESC:«, l3=0x0c}
0x022d…0248 Line {l1=0x19, l2=»  (INDPOS,UDPOS:SKÆRMPOS;«, l3=0x19}
0x0248…026c Line {l1=0x22, l2=»   KIKKENIVEAU,ÆNDRENIVEAU:NIVEAU;«, l3=0x22}
0x026c…0283 Line {l1=0x15, l2=»   EDITERING:INTEGER;«, l3=0x15}
0x0283…02a4 Line {l1=0x1f, l2=»   LEDETEKST,FØLGETEKST:STRING;«, l3=0x1f}
0x02a4…02b8 Line {l1=0x12, l2=»   INDEKS:INTEGER;«, l3=0x12}
0x02b8…02cc Line {l1=0x12, l2=»   LÆNGDE:INTEGER;«, l3=0x12}
0x02cc…02e0 Line {l1=0x12, l2=»   FORAN0:INTEGER;«, l3=0x12}
0x02e0…02fb Line {l1=0x19, l2=»   CASE FELTTYPE:FTYPE OF«, l3=0x19}
0x02fb…0313 Line {l1=0x16, l2=»   REEL:(DEC:INTEGER);«, l3=0x16}
0x0313…0331 Line {l1=0x1c, l2=»   HELTAL,DOBBTAL,TEKST:());«, l3=0x1c}
0x0331…033f Line {l1=0x0c, l2=»   VALIDESC:«, l3=0x0c}
0x033f…0360 Line {l1=0x1f, l2=»  (CASE VALIDITETSTYPE:VTYPE OF«, l3=0x1f}
0x0360…0384 Line {l1=0x22, l2=»      HINTERVAL:(MIN,MAX:INTEGER);«, l3=0x22}
0x0384…03b4 Line {l1=0x2e, l2=»      DINTERVAL:(MIN1,MIN2,MAX1,MAX2:INTEGER);«, l3=0x2e}
0x03b4…03d7 Line {l1=0x21, l2=»      RINTERVAL:(RMIN,RMAX:REAL);«, l3=0x21}
0x03d7…03eb Line {l1=0x12, l2=»      DATO,CPR:())«, l3=0x12}
0x03eb…03f1 Line {l1=0x04, l2=»END;«, l3=0x04}
0x03f1…0413 Line {l1=0x20, l2=»FELTFIL=FILE OF FELTBESKRIVELSE;«, l3=0x20}
0x0413…043a Line {l1=0x25, l2=»ARAR=PACKED ARRAY (-11..-10) OF CHAR;«, l3=0x25}
0x043a…0455 Line {l1=0x19, l2=»RAR=ARRAY (0..0) OF REAL;«, l3=0x19}
0x0455…0463 Line {l1=0x0c, l2=»PPOST=RECORD«, l3=0x0c}
0x0463…0473 Line {l1=0x0e, l2=»      AA:ARAR;«, l3=0x0e}
0x0473…0480 Line {l1=0x0b, l2=»      A:AR;«, l3=0x0b}
0x0480…0490 Line {l1=0x0e, l2=»      AAA:RAR;«, l3=0x0e}
0x0490…04bf Line {l1=0x2d, l2=»      CONTENTS: ARRAY (1..MAXPOST) OF INTEGER«, l3=0x2d}
0x04bf…04c5 Line {l1=0x04, l2=»END;«, l3=0x04}
0x04c5…04ee Line {l1=0x27, l2=»PARMARRAY=PACKED ARRAY (1..40) OF CHAR;«, l3=0x27}
0x04ee…0502 Line {l1=0x12, l2=»CLOCKRECORD=RECORD«, l3=0x12}
0x0502…0533 Line {l1=0x2f, l2=»             DATE:PACKED ARRAY (1..10) OF CHAR;«, l3=0x2f}
0x0533…0562 Line {l1=0x2d, l2=»             TIME:PACKED ARRAY (1..8) OF CHAR«, l3=0x2d}
0x0562…0568 Line {l1=0x04, l2=»END;«, l3=0x04}
0x0568…057e Line {l1=0x14, l2=»VAR PARM:^PARMARRAY;«, l3=0x14}
0x057e…0597 Line {l1=0x17, l2=»    CLOCK:^CLOCKRECORD;«, l3=0x17}
0x0597…05a8 Line {l1=0x0f, l2=»    FELT:NFELT;«, l3=0x0f}
0x05a8…05c8 Line {l1=0x1e, l2=»    USERNIVEAU,HUSKNIV:NIVEAU;«, l3=0x1e}
0x05c8…05f4 Line {l1=0x2a, l2=»    PICTURE:ARRAY (1..MAXFELTER) OF NFELT;«, l3=0x2a}
0x05f4…061f Line {l1=0x29, l2=»    NØGLER:ARRAY (1..MAXNØGLER) OF NFELT;«, l3=0x29}
0x061f…0654 Line {l1=0x33, l2=»    OPTION,IER,I,J,ANTALFELTER,ANTALNØGLER:INTEGER;«, l3=0x33}
0x0654…0667 Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x0667…0681 Line {l1=0x18, l2=»    REGNAVN,LINE:STRING;«, l3=0x18}
0x0681…0694 Line {l1=0x11, l2=»    FFIL:FELTFIL;«, l3=0x11}
0x0694…06a7 Line {l1=0x11, l2=»    FNAVN:STRING;«, l3=0x11}
0x06a7…06bd Line {l1=0x14, l2=»       REGISTER:ISF;«, l3=0x14}
0x06bd…06d1 Line {l1=0x12, l2=»       ZONE:ZZONE;«, l3=0x12}
0x06d1…06e5 Line {l1=0x12, l2=»       POST:PPOST;«, l3=0x12}
0x06e5…06fb Line {l1=0x14, l2=»       QUQ:^INTEGER;«, l3=0x14}
0x06fb…0704 Line {l1=0x07, l2=»(*$L-*)«, l3=0x07}
0x0704…0717 Line {l1=0x11, l2=»(*$R-,IEXCOMCOP*)«, l3=0x11}
0x0717…0724 Line {l1=0x0b, l2=»(*$IIOPEN*)«, l3=0x0b}
0x0724…0731 Line {l1=0x0b, l2=»(*$ISÆTØG*)«, l3=0x0b}
0x0731…0741 Line {l1=0x0e, l2=»(*$IREADPROC*)«, l3=0x0e}
0x0741…0751 Line {l1=0x0e, l2=»(*$IFINDPOST*)«, l3=0x0e}
0x0751…0760 Line {l1=0x0d, l2=»(*$IFORSKYD*)«, l3=0x0d}
0x0760…076e Line {l1=0x0c, l2=»(*$IICLOSE*)«, l3=0x0c}
0x076e…077c Line {l1=0x0c, l2=»(*$IPUTGET*)«, l3=0x0c}
0x077c…078a Line {l1=0x0c, l2=»(*$IINSERT*)«, l3=0x0c}
0x078a…0799 Line {l1=0x0d, l2=»(*$INEXTREC*)«, l3=0x0d}
0x0799…07a7 Line {l1=0x0c, l2=»(*$IDELETE*)«, l3=0x0c}
0x07a7…07b7 Line {l1=0x0e, l2=»(*$IINITIATE*)«, l3=0x0e}
0x07b7…07c0 Line {l1=0x07, l2=»(*$L+*)«, l3=0x07}
0x07c0…07c8 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x07c8…07eb Line {l1=0x21, l2=»PROCEDURE ERROR(VAR FIL:FILNAVN);«, l3=0x21}
0x07eb…07f2 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x07f2…0827 Line {l1=0x33, l2=»  WRITELN('FEJL I REGISTER ',FIL,' FEJLKODE ',IER);«, l3=0x33}
0x0827…0843 Line {l1=0x1a, l2=»  ICLOSE(ZONE.H,REGISTER);«, l3=0x1a}
0x0843…0854 Line {l1=0x0f, l2=»  EXIT(REGVEDL)«, l3=0x0f}
0x0854…085a Line {l1=0x04, l2=»END;«, l3=0x04}
0x085a…087d Line {l1=0x21, l2=»PROCEDURE OFEJL(VAR FIL:FILNAVN);«, l3=0x21}
0x087d…088d Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x088d…0894 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0894…08a5 Line {l1=0x0f, l2=»  GOTOXY(1,20);«, l3=0x0f}
0x08a5…08f4 Line {l1=0x4d, l2=»  WRITELN('REGISTERFEJL ',IER,' I ',FIL,' . SITUATIONEN ER FORSØGT REDDET.');«, l3=0x4d}
0x08f4…0924 Line {l1=0x2e, l2=»  WRITELN('TAST 0, HVIS DER SKAL FORTSÆTTES');«, l3=0x2e}
0x0924…095d Line {l1=0x37, l2=»  REPEAT GOTOXY(40,21);READLN;READ(I) UNTIL IORESULT=0;«, l3=0x37}
0x095d…0979 Line {l1=0x1a, l2=»  IF I<>0 THEN ERROR(FIL);«, l3=0x1a}
0x0979…0988 Line {l1=0x0d, l2=»  CLEARSCREEN«, l3=0x0d}
0x0988…098e Line {l1=0x04, l2=»END;«, l3=0x04}
0x098e…0996 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x0996…09aa Line {l1=0x12, l2=»PROCEDURE LÆSDESC;«, l3=0x12}
0x09aa…09b1 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x09b1…09c9 Line {l1=0x16, l2=»  REWRITE(FFIL,FNAVN);«, l3=0x16}
0x09c9…09cc Line {l1=0x01, l2=» «, l3=0x01}
0x09cc…09da Line {l1=0x0c, l2=»  GET(FFIL);«, l3=0x0c}
0x09da…09e3 Line {l1=0x07, l2=»  I:=0;«, l3=0x07}
0x09e3…09f6 Line {l1=0x11, l2=»  ANTALNØGLER:=0;«, l3=0x11}
0x09f6…0a13 Line {l1=0x1b, l2=»  WHILE FFIL^.INDPOS.X>0 DO«, l3=0x1b}
0x0a13…0a1c Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x0a1c…0a29 Line {l1=0x0b, l2=»    I:=I+1;«, l3=0x0b}
0x0a29…0a45 Line {l1=0x1a, l2=»    CASE FFIL^.FELTTYPE OF«, l3=0x1a}
0x0a45…0a6e Line {l1=0x27, l2=»    REEL:NEW(PICTURE(I),FELTDESC,REEL);«, l3=0x27}
0x0a6e…0aa8 Line {l1=0x38, l2=»    HELTAL,DOBBTAL,TEKST:NEW(PICTURE(I),FELTDESC,HELTAL)«, l3=0x38}
0x0aa8…0ab2 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0ab2…0ac9 Line {l1=0x15, l2=»    FELT:=PICTURE(I);«, l3=0x15}
0x0ac9…0ae2 Line {l1=0x17, l2=»    WITH PICTURE(I)^ DO«, l3=0x17}
0x0ae2…0aed Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0aed…0b08 Line {l1=0x19, l2=»      DESCTYPE:=FELTDESC;«, l3=0x19}
0x0b08…0b29 Line {l1=0x1f, l2=»      INDPOS.X:=FFIL^.INDPOS.X;«, l3=0x1f}
0x0b29…0b4a Line {l1=0x1f, l2=»      INDPOS.Y:=FFIL^.INDPOS.Y;«, l3=0x1f}
0x0b4a…0b69 Line {l1=0x1d, l2=»      UDPOS.X:=FFIL^.UDPOS.X;«, l3=0x1d}
0x0b69…0b88 Line {l1=0x1d, l2=»      UDPOS.Y:=FFIL^.UDPOS.Y;«, l3=0x1d}
0x0b88…0baf Line {l1=0x25, l2=»      KIKKENIVEAU:=FFIL^.KIKKENIVEAU;«, l3=0x25}
0x0baf…0bd6 Line {l1=0x25, l2=»      ÆNDRENIVEAU:=FFIL^.ÆNDRENIVEAU;«, l3=0x25}
0x0bd6…0bf9 Line {l1=0x21, l2=»      IF ÆNDRENIVEAU=UMULIUS THEN«, l3=0x21}
0x0bf9…0c06 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x0c06…0c2b Line {l1=0x23, l2=»        ANTALNØGLER:=ANTALNØGLER+1;«, l3=0x23}
0x0c2b…0c54 Line {l1=0x27, l2=»        NØGLER(ANTALNØGLER):=PICTURE(I)«, l3=0x27}
0x0c54…0c60 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x0c60…0c83 Line {l1=0x21, l2=»      LEDETEKST:=FFIL^.LEDETEKST;«, l3=0x21}
0x0c83…0ca8 Line {l1=0x23, l2=»      FØLGETEKST:=FFIL^.FØLGETEKST;«, l3=0x23}
0x0ca8…0ccb Line {l1=0x21, l2=»      EDITERING:=FFIL^.EDITERING;«, l3=0x21}
0x0ccb…0cec Line {l1=0x1f, l2=»      FELTTYPE:=FFIL^.FELTTYPE;«, l3=0x1f}
0x0cec…0d09 Line {l1=0x1b, l2=»      INDEKS:=FFIL^.INDEKS;«, l3=0x1b}
0x0d09…0d26 Line {l1=0x1b, l2=»      LÆNGDE:=FFIL^.LÆNGDE;«, l3=0x1b}
0x0d26…0d43 Line {l1=0x1b, l2=»      FORAN0:=FFIL^.FORAN0;«, l3=0x1b}
0x0d43…0d70 Line {l1=0x2b, l2=»      IF FELTTYPE=REEL THEN DEC:=FFIL^.DEC;«, l3=0x2b}
0x0d70…0d94 Line {l1=0x22, l2=»      WHILE FFIL^.NÆSTEVAL<>NIL DO«, l3=0x22}
0x0d94…0da1 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x0da1…0db5 Line {l1=0x12, l2=»        GET(FFIL);«, l3=0x12}
0x0db5…0dcc Line {l1=0x15, l2=»        WITH FELT^ DO«, l3=0x15}
0x0dcc…0df2 Line {l1=0x24, l2=»        CASE FFIL^.VALIDITETSTYPE OF«, l3=0x24}
0x0df2…0e0d Line {l1=0x19, l2=»          HINTERVAL:BEGIN«, l3=0x19}
0x0e0d…0e46 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,HINTERVAL);«, l3=0x37}
0x0e46…0e77 Line {l1=0x2f, l2=»                      NÆSTEVAL^.MIN:=FFIL^.MIN;«, l3=0x2f}
0x0e77…0ea7 Line {l1=0x2e, l2=»                      NÆSTEVAL^.MAX:=FFIL^.MAX«, l3=0x2e}
0x0ea7…0ec1 Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x0ec1…0edc Line {l1=0x19, l2=»          DINTERVAL:BEGIN«, l3=0x19}
0x0edc…0f15 Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,DINTERVAL);«, l3=0x37}
0x0f15…0f63 Line {l1=0x4c, l2=»                      NÆSTEVAL^.MIN1:=FFIL^.MIN1;NÆSTEVAL^.MIN2:=FFIL^.MIN2;«, l3=0x4c}
0x0f63…0fb0 Line {l1=0x4b, l2=»                      NÆSTEVAL^.MAX1:=FFIL^.MAX1;NÆSTEVAL^.MAX2:=FFIL^.MAX2«, l3=0x4b}
0x0fb0…0fca Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x0fca…0fe5 Line {l1=0x19, l2=»          RINTERVAL:BEGIN«, l3=0x19}
0x0fe5…101e Line {l1=0x37, l2=»                      NEW(NÆSTEVAL,VALIDESC,RINTERVAL);«, l3=0x37}
0x101e…1051 Line {l1=0x31, l2=»                      NÆSTEVAL^.RMIN:=FFIL^.RMIN;«, l3=0x31}
0x1051…1083 Line {l1=0x30, l2=»                      NÆSTEVAL^.RMAX:=FFIL^.RMAX«, l3=0x30}
0x1083…109d Line {l1=0x18, l2=»                    END;«, l3=0x18}
0x109d…10cd Line {l1=0x2e, l2=»          DATO,CPR:NEW(NÆSTEVAL,VALIDESC,DATO)«, l3=0x2e}
0x10cd…10db Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x10db…10fa Line {l1=0x1d, l2=»        FELT:=FELT^.NÆSTEVAL;«, l3=0x1d}
0x10fa…111d Line {l1=0x21, l2=»        FELT^.DESCTYPE:=VALIDESC;«, l3=0x21}
0x111d…1151 Line {l1=0x32, l2=»        FELT^.VALIDITETSTYPE:=FFIL^.VALIDITETSTYPE«, l3=0x32}
0x1151…115d Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x115d…1178 Line {l1=0x19, l2=»      FELT^.NÆSTEVAL:=NIL«, l3=0x19}
0x1178…1182 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1182…1191 Line {l1=0x0d, l2=»    GET(FFIL)«, l3=0x0d}
0x1191…1199 Line {l1=0x06, l2=»  END;«, l3=0x06}
0x1199…11a9 Line {l1=0x0e, l2=»  CLOSE(FFIL);«, l3=0x0e}
0x11a9…11bb Line {l1=0x10, l2=»  ANTALFELTER:=I«, l3=0x10}
0x11bb…11c1 Line {l1=0x04, l2=»END;«, l3=0x04}
0x11c1…11c9 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x11c9…11ed Line {l1=0x22, l2=»PROCEDURE MOVETOLINE(VAR F:NFELT);«, l3=0x22}
0x11ed…1200 Line {l1=0x11, l2=»VAR CH:STRING(1);«, l3=0x11}
0x1200…1219 Line {l1=0x17, l2=»    TAL,DECS,I:INTEGER;«, l3=0x17}
0x1219…1231 Line {l1=0x16, l2=»    RESULT,DM,DD:REAL;«, l3=0x16}
0x1231…1238 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1238…1244 Line {l1=0x0a, l2=»  CH:=' ';«, l3=0x0a}
0x1244…125f Line {l1=0x19, l2=»      CASE F^.FELTTYPE OF«, l3=0x19}
0x125f…1273 Line {l1=0x12, l2=»      HELTAL:BEGIN«, l3=0x12}
0x1273…128d Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x128d…12ba Line {l1=0x2b, l2=»               TAL:=ABS(POST.A(F^.INDEKS));«, l3=0x2b}
0x12ba…12d1 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x12d1…12fe Line {l1=0x2b, l2=»                 CH(1):=CHR(TAL MOD 10+48);«, l3=0x2b}
0x12fe…1327 Line {l1=0x27, l2=»                 LINE:=CONCAT(CH,LINE);«, l3=0x27}
0x1327…1349 Line {l1=0x20, l2=»                 TAL:=TAL DIV 10«, l3=0x20}
0x1349…1366 Line {l1=0x1b, l2=»               UNTIL TAL=0;«, l3=0x1b}
0x1366…13ae Line {l1=0x46, l2=»               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);«, l3=0x46}
0x13ae…13f1 Line {l1=0x41, l2=»               IF POST.A(F^.INDEKS)<0 THEN LINE:=CONCAT('-',LINE)«, l3=0x41}
0x13f1…1404 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x1404…1418 Line {l1=0x12, l2=»     DOBBTAL:BEGIN«, l3=0x12}
0x1418…1432 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x1432…147e Line {l1=0x4a, l2=»               RESULT:=ABS(POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1));«, l3=0x4a}
0x147e…149f Line {l1=0x1f, l2=»               DM:=100000000.0;«, l3=0x1f}
0x149f…14b6 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x14b6…14e0 Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x14e0…150c Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x150c…1528 Line {l1=0x1a, l2=»                 DM:=DM/10«, l3=0x1a}
0x1528…1552 Line {l1=0x28, l2=»               UNTIL (I>48) OR (DM<1.0);«, l3=0x28}
0x1552…1569 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x1569…158a Line {l1=0x1f, l2=»                 CH(1):=CHR(I);«, l3=0x1f}
0x158a…15b3 Line {l1=0x27, l2=»                 LINE:=CONCAT(LINE,CH);«, l3=0x27}
0x15b3…15dd Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x15dd…1609 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x1609…1627 Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x1627…1646 Line {l1=0x1d, l2=»               UNTIL DM<0.09;«, l3=0x1d}
0x1646…168e Line {l1=0x46, l2=»               WHILE LENGTH(LINE)<F^.FORAN0 DO LINE:=CONCAT('0',LINE);«, l3=0x46}
0x168e…16d8 Line {l1=0x48, l2=»               IF POST.A(F^.INDEKS)*10000.0+POST.A(F^.INDEKS+1)<0.0 THEN«, l3=0x48}
0x16d8…1701 Line {l1=0x27, l2=»                 LINE:=CONCAT('-',LINE)«, l3=0x27}
0x1701…1714 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x1714…1728 Line {l1=0x12, l2=»       TEKST:BEGIN«, l3=0x12}
0x1728…1742 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x1742…177f Line {l1=0x3b, l2=»               FOR I:=F^.INDEKS TO F^.INDEKS+F^.LÆNGDE-1 DO«, l3=0x3b}
0x177f…1795 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x1795…17ba Line {l1=0x23, l2=»                 CH(1):=POST.AA(I);«, l3=0x23}
0x17ba…17e2 Line {l1=0x26, l2=»                 LINE:=CONCAT(LINE,CH)«, l3=0x26}
0x17e2…17f6 Line {l1=0x12, l2=»               END«, l3=0x12}
0x17f6…1809 Line {l1=0x11, l2=»             END;«, l3=0x11}
0x1809…181d Line {l1=0x12, l2=»        REEL:BEGIN«, l3=0x12}
0x181d…184f Line {l1=0x30, l2=»               RESULT:=ABS(POST.AAA(F^.INDEKS));«, l3=0x30}
0x184f…186d Line {l1=0x1c, l2=»               DECS:=F^.DEC;«, l3=0x1c}
0x186d…188c Line {l1=0x1d, l2=»               IF DECS=0 THEN«, l3=0x1d}
0x188c…18a6 Line {l1=0x18, l2=»                 DD:=0.0«, l3=0x18}
0x18a6…18bb Line {l1=0x13, l2=»               ELSE«, l3=0x13}
0x18bb…18d1 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x18d1…18ec Line {l1=0x19, l2=»                 DD:=0.1;«, l3=0x19}
0x18ec…193a Line {l1=0x4c, l2=»                 FOR I:=1 TO DECS DO BEGIN RESULT:=RESULT*10.0;DD:=DD*10 END«, l3=0x4c}
0x193a…194f Line {l1=0x13, l2=»               END;«, l3=0x13}
0x194f…1969 Line {l1=0x18, l2=»               LINE:='';«, l3=0x18}
0x1969…198d Line {l1=0x22, l2=»               IF F^.FORAN0=0 THEN«, l3=0x22}
0x198d…19a3 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x19a3…19c9 Line {l1=0x24, l2=»                 DM:=100000000000.0;«, l3=0x24}
0x19c9…19e2 Line {l1=0x17, l2=»                 REPEAT«, l3=0x17}
0x19e2…1a0e Line {l1=0x2a, l2=»                   I:=TRUNC(RESULT/DM)+48;«, l3=0x2a}
0x1a0e…1a3c Line {l1=0x2c, l2=»                   RESULT:=RESULT-DM*(I-48);«, l3=0x2c}
0x1a3c…1a5c Line {l1=0x1e, l2=»                   DM:=DM/10.0«, l3=0x1e}
0x1a5c…1a87 Line {l1=0x29, l2=»                 UNTIL (I>48) OR (DM<1.0)«, l3=0x29}
0x1a87…1a9b Line {l1=0x12, l2=»               END«, l3=0x12}
0x1a9b…1ab0 Line {l1=0x13, l2=»               ELSE«, l3=0x13}
0x1ab0…1ac6 Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x1ac6…1ae1 Line {l1=0x19, l2=»                 DM:=1.0;«, l3=0x19}
0x1ae1…1b19 Line {l1=0x36, l2=»                 FOR I:=2 TO F^.FORAN0 DO DM:=DM*10.0;«, l3=0x36}
0x1b19…1b43 Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x1b43…1b6f Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x1b6f…1b8d Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x1b8d…1ba2 Line {l1=0x13, l2=»               END;«, l3=0x13}
0x1ba2…1bb9 Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x1bb9…1bda Line {l1=0x1f, l2=»                 CH(1):=CHR(I);«, l3=0x1f}
0x1bda…1c03 Line {l1=0x27, l2=»                 LINE:=CONCAT(LINE,CH);«, l3=0x27}
0x1c03…1c3b Line {l1=0x36, l2=»                 IF DM=DD THEN LINE:=CONCAT(LINE,'.');«, l3=0x36}
0x1c3b…1c65 Line {l1=0x28, l2=»                 I:=TRUNC(RESULT/DM)+48;«, l3=0x28}
0x1c65…1c91 Line {l1=0x2a, l2=»                 RESULT:=RESULT-DM*(I-48);«, l3=0x2a}
0x1c91…1caf Line {l1=0x1c, l2=»                 DM:=DM/10.0«, l3=0x1c}
0x1caf…1cce Line {l1=0x1d, l2=»               UNTIL DM<0.09;«, l3=0x1d}
0x1cce…1d15 Line {l1=0x45, l2=»               IF POST.AAA(F^.INDEKS)<0.0 THEN LINE:=CONCAT('-',LINE)«, l3=0x45}
0x1d15…1d27 Line {l1=0x10, l2=»             END«, l3=0x10}
0x1d27…1d32 Line {l1=0x09, l2=»      END«, l3=0x09}
0x1d32…1d38 Line {l1=0x04, l2=»END;«, l3=0x04}
0x1d38…1d40 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x1d40…1d54 Line {l1=0x12, l2=»PROCEDURE NULPOST;«, l3=0x12}
0x1d54…1d66 Line {l1=0x10, l2=»VAR I,J:INTEGER;«, l3=0x10}
0x1d66…1d6d Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1d6d…1d9f Line {l1=0x30, l2=»  FOR J:=1 TO ANTALFELTER DO WITH PICTURE(J)^ DO«, l3=0x30}
0x1d9f…1da8 Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x1da8…1dbe Line {l1=0x14, l2=»    CASE FELTTYPE OF«, l3=0x14}
0x1dbe…1ddd Line {l1=0x1d, l2=»    HELTAL:POST.A(INDEKS):=0;«, l3=0x1d}
0x1ddd…1df0 Line {l1=0x11, l2=»    DOBBTAL:BEGIN«, l3=0x11}
0x1df0…1e12 Line {l1=0x20, l2=»              POST.A(INDEKS):=0;«, l3=0x20}
0x1e12…1e35 Line {l1=0x21, l2=»              POST.A(INDEKS+1):=0«, l3=0x21}
0x1e35…1e47 Line {l1=0x10, l2=»            END;«, l3=0x10}
0x1e47…1e68 Line {l1=0x1f, l2=»    REEL:POST.AAA(INDEKS):=0.0;«, l3=0x1f}
0x1e68…1e97 Line {l1=0x2d, l2=»    TEKST:FOR I:=INDEKS TO LÆNGDE+INDEKS-1 DO«, l3=0x2d}
0x1e97…1eb5 Line {l1=0x1c, l2=»            POST.AA(I):=' ';«, l3=0x1c}
0x1eb5…1ebe Line {l1=0x07, l2=»    END«, l3=0x07}
0x1ebe…1ec5 Line {l1=0x05, l2=»  END«, l3=0x05}
0x1ec5…1ecb Line {l1=0x04, l2=»END;«, l3=0x04}
0x1ecb…1ece Line {l1=0x01, l2=» «, l3=0x01}
0x1ece…1ef1 Line {l1=0x21, l2=»PROCEDURE SKRIVFELT(VAR F:NFELT);«, l3=0x21}
0x1ef1…1ef8 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1ef8…1f1d Line {l1=0x23, l2=» IF USERNIVEAU>=F^.KIKKENIVEAU THEN«, l3=0x23}
0x1f1d…1f25 Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x1f25…1f47 Line {l1=0x20, l2=»  GOTOXY(F^.UDPOS.X,F^.UDPOS.Y);«, l3=0x20}
0x1f47…1f63 Line {l1=0x1a, l2=»  WRITE(F^.LEDETEKST,' ');«, l3=0x1a}
0x1f63…1f75 Line {l1=0x10, l2=»  MOVETOLINE(F);«, l3=0x10}
0x1f75…1f87 Line {l1=0x10, l2=»  WRITELN(LINE);«, l3=0x10}
0x1f87…1f8d Line {l1=0x04, l2=» END«, l3=0x04}
0x1f8d…1f93 Line {l1=0x04, l2=»END;«, l3=0x04}
0x1f93…1f96 Line {l1=0x01, l2=» «, l3=0x01}
0x1f96…1fac Line {l1=0x14, l2=»PROCEDURE SKRIVPOST;«, l3=0x14}
0x1fac…1fbc Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x1fbc…1fc3 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x1fc3…1fd3 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x1fd3…2008 Line {l1=0x33, l2=»  FOR I:=1 TO ANTALFELTER DO SKRIVFELT(PICTURE(I));«, l3=0x33}
0x2008…200e Line {l1=0x04, l2=»END;«, l3=0x04}
0x200e…2011 Line {l1=0x01, l2=» «, l3=0x01}
0x2011…2027 Line {l1=0x14, l2=»PROCEDURE PRINTPOST;«, l3=0x14}
0x2027…2037 Line {l1=0x0e, l2=»VAR I:INTEGER;«, l3=0x0e}
0x2037…203e Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x203e…204d Line {l1=0x0d, l2=»  PAGE(LIST);«, l3=0x0d}
0x204d…2073 Line {l1=0x24, l2=»  WRITELN(LIST,REGNAVN,' UDSKRIFT');«, l3=0x24}
0x2073…2085 Line {l1=0x10, l2=»  WRITELN(LIST);«, l3=0x10}
0x2085…20a3 Line {l1=0x1c, l2=»  FOR I:=1 TO ANTALFELTER DO«, l3=0x1c}
0x20a3…20ac Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x20ac…20d8 Line {l1=0x2a, l2=»    WRITE(LIST,PICTURE(I)^.LEDETEKST,' ');«, l3=0x2a}
0x20d8…20f5 Line {l1=0x1b, l2=»    MOVETOLINE(PICTURE(I));«, l3=0x1b}
0x20f5…210d Line {l1=0x16, l2=»    WRITELN(LIST,LINE)«, l3=0x16}
0x210d…2114 Line {l1=0x05, l2=»  END«, l3=0x05}
0x2114…211a Line {l1=0x04, l2=»END;«, l3=0x04}
0x211a…2122 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x2122…2143 Line {l1=0x1f, l2=»PROCEDURE LÆSFELT(VAR F:NFELT);«, l3=0x1f}
0x2143…215c Line {l1=0x17, l2=»VAR I,TAL,TAL1:INTEGER;«, l3=0x17}
0x215c…216c Line {l1=0x0e, l2=»    VAL:NFELT;«, l3=0x0e}
0x216c…217e Line {l1=0x10, l2=»    RESULT:REAL;«, l3=0x10}
0x217e…2193 Line {l1=0x13, l2=»    BUMMED:BOOLEAN;«, l3=0x13}
0x2193…2196 Line {l1=0x01, l2=» «, l3=0x01}
0x2196…219e Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x219e…21b3 Line {l1=0x13, l2=»PROCEDURE LÆSLINIE;«, l3=0x13}
0x21b3…21c4 Line {l1=0x0f, l2=»VAR OK:BOOLEAN;«, l3=0x0f}
0x21c4…21e1 Line {l1=0x1b, l2=»    DECS,I,FORTEGN:INTEGER;«, l3=0x1b}
0x21e1…21ef Line {l1=0x0c, l2=»    DM:REAL;«, l3=0x0c}
0x21ef…21f2 Line {l1=0x01, l2=» «, l3=0x01}
0x21f2…21f9 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x21f9…2203 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x2203…2213 Line {l1=0x0e, l2=»    OK:=FALSE;«, l3=0x0e}
0x2213…2225 Line {l1=0x10, l2=»    RESULT:=0.0;«, l3=0x10}
0x2225…2232 Line {l1=0x0b, l2=»    TAL:=0;«, l3=0x0b}
0x2232…2240 Line {l1=0x0c, l2=»    TAL1:=0;«, l3=0x0c}
0x2240…2266 Line {l1=0x24, l2=»    GOTOXY(F^.INDPOS.X,F^.INDPOS.Y);«, l3=0x24}
0x2266…22a0 Line {l1=0x38, l2=»    WRITELN(F^.LEDETEKST,' ':F^.LÆNGDE+2,F^.FØLGETEKST);«, l3=0x38}
0x22a0…22dd Line {l1=0x3b, l2=»    GOTOXY(F^.INDPOS.X+LENGTH(F^.LEDETEKST)+1,F^.INDPOS.Y);«, l3=0x3b}
0x22dd…22f9 Line {l1=0x1a, l2=»    IF F^.EDITERING=0 THEN«, l3=0x1a}
0x22f9…2304 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2304…231d Line {l1=0x17, l2=»      READLN;READ(LINE)«, l3=0x17}
0x231d…2326 Line {l1=0x07, l2=»    END«, l3=0x07}
0x2326…2330 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x2330…233b Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x233b…2351 Line {l1=0x14, l2=»      MOVETOLINE(F);«, l3=0x14}
0x2351…236e Line {l1=0x1b, l2=»      EDIT(LINE:F^.LÆNGDE);«, l3=0x1b}
0x236e…23b2 Line {l1=0x42, l2=»      WHILE LINE(LENGTH(LINE))=' ' DO LINE(0):=CHR(ORD(LINE(0))-1)«, l3=0x42}
0x23b2…23bc Line {l1=0x08, l2=»    END;«, l3=0x08}
0x23bc…23d5 Line {l1=0x17, l2=»    CASE F^.FELTTYPE OF«, l3=0x17}
0x23d5…23dd Line {l1=0x06, l2=»TEKST:«, l3=0x06}
0x23dd…2402 Line {l1=0x23, l2=»    IF LENGTH(LINE)<=F^.LÆNGDE THEN«, l3=0x23}
0x2402…240d Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x240d…241e Line {l1=0x0f, l2=»      OK:=TRUE;«, l3=0x0f}
0x241e…2445 Line {l1=0x25, l2=»      WHILE LENGTH(LINE)<F^.LÆNGDE DO«, l3=0x25}
0x2445…2462 Line {l1=0x1b, l2=»        IF F^.FORAN0=0 THEN«, l3=0x1b}
0x2462…2484 Line {l1=0x20, l2=»          LINE:=CONCAT(LINE,' ')«, l3=0x20}
0x2484…2492 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x2492…24b4 Line {l1=0x20, l2=»          LINE:=CONCAT(' ',LINE)«, l3=0x20}
0x24b4…24be Line {l1=0x08, l2=»    END;«, l3=0x08}
0x24be…24cf Line {l1=0x0f, l2=»HELTAL,DOBBTAL:«, l3=0x0f}
0x24cf…24eb Line {l1=0x1a, l2=»    IF LENGTH(LINE)>0 THEN«, l3=0x1a}
0x24eb…24f6 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x24f6…2503 Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x2503…2516 Line {l1=0x11, l2=»      FORTEGN:=1;«, l3=0x11}
0x2516…2531 Line {l1=0x19, l2=»      IF LINE(1)='-' THEN«, l3=0x19}
0x2531…253e Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x253e…2554 Line {l1=0x14, l2=»        FORTEGN:=-1;«, l3=0x14}
0x2554…2562 Line {l1=0x0c, l2=»        I:=1«, l3=0x0c}
0x2562…256e Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x256e…258d Line {l1=0x1d, l2=»      WHILE LENGTH(LINE)>I DO«, l3=0x1d}
0x258d…259a Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x259a…25ad Line {l1=0x11, l2=»        OK:=TRUE;«, l3=0x11}
0x25ad…25be Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x25be…25ed Line {l1=0x2d, l2=»        IF NOT (LINE(I) IN (.'0'..'9'.)) THEN«, l3=0x2d}
0x25ed…25fc Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x25fc…2612 Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x2612…262d Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x262d…263b Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x263b…2666 Line {l1=0x29, l2=»        RESULT:=10*RESULT+ORD(LINE(I))-48«, l3=0x29}
0x2666…2672 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2672…2691 Line {l1=0x1d, l2=»      RESULT:=RESULT*FORTEGN;«, l3=0x1d}
0x2691…26a3 Line {l1=0x10, l2=»      IF OK THEN«, l3=0x10}
0x26a3…26be Line {l1=0x19, l2=»      CASE F^.FELTTYPE OF«, l3=0x19}
0x26be…270a Line {l1=0x4a, l2=»      HELTAL:IF ABS(RESULT)<=32767 THEN TAL:=TRUNC(RESULT) ELSE OK:=FALSE;«, l3=0x4a}
0x270a…273a Line {l1=0x2e, l2=»      DOBBTAL:IF ABS(RESULT)<=327679999.0 THEN«, l3=0x2e}
0x273a…274f Line {l1=0x13, l2=»              BEGIN«, l3=0x13}
0x274f…277c Line {l1=0x2b, l2=»                TAL:=TRUNC(RESULT/10000.0);«, l3=0x2b}
0x277c…27ad Line {l1=0x2f, l2=»                TAL1:=TRUNC(RESULT-10000.0*TAL)«, l3=0x2f}
0x27ad…27c0 Line {l1=0x11, l2=»              END«, l3=0x11}
0x27c0…27de Line {l1=0x1c, l2=»              ELSE OK:=FALSE«, l3=0x1c}
0x27de…27e9 Line {l1=0x09, l2=»      END«, l3=0x09}
0x27e9…2801 Line {l1=0x16, l2=»    END ELSE OK:=TRUE;«, l3=0x16}
0x2801…2808 Line {l1=0x05, l2=»REEL:«, l3=0x05}
0x2808…2824 Line {l1=0x1a, l2=»    IF LENGTH(LINE)>0 THEN«, l3=0x1a}
0x2824…282f Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x282f…283c Line {l1=0x0b, l2=»      I:=0;«, l3=0x0b}
0x283c…284f Line {l1=0x11, l2=»      FORTEGN:=1;«, l3=0x11}
0x284f…2860 Line {l1=0x0f, l2=»      DECS:=-1;«, l3=0x0f}
0x2860…287b Line {l1=0x19, l2=»      IF LINE(1)='-' THEN«, l3=0x19}
0x287b…2888 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x2888…289e Line {l1=0x14, l2=»        FORTEGN:=-1;«, l3=0x14}
0x289e…28ac Line {l1=0x0c, l2=»        I:=1«, l3=0x0c}
0x28ac…28b8 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x28b8…28e6 Line {l1=0x2c, l2=»      WHILE (LENGTH(LINE)>I) AND (DECS<0) DO«, l3=0x2c}
0x28e6…28f3 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x28f3…2906 Line {l1=0x11, l2=»        OK:=TRUE;«, l3=0x11}
0x2906…2917 Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x2917…2940 Line {l1=0x27, l2=»        IF LINE(I) IN (.'0'..'9'.) THEN«, l3=0x27}
0x2940…296d Line {l1=0x2b, l2=»          RESULT:=10*RESULT+ORD(LINE(I))-48«, l3=0x2b}
0x296d…297b Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x297b…29ab Line {l1=0x2e, l2=»        IF (LINE(I)='.') OR (LINE(I)=',') THEN«, l3=0x2e}
0x29ab…29be Line {l1=0x11, l2=»          DECS:=0«, l3=0x11}
0x29be…29cc Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x29cc…29db Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x29db…29f1 Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x29f1…2a0c Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x2a0c…2a19 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x2a19…2a25 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2a25…2a35 Line {l1=0x0e, l2=»      DM:=1.0;«, l3=0x0e}
0x2a35…2a54 Line {l1=0x1d, l2=»      WHILE LENGTH(LINE)>I DO«, l3=0x1d}
0x2a54…2a61 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x2a61…2a72 Line {l1=0x0f, l2=»        I:=I+1;«, l3=0x0f}
0x2a72…2a88 Line {l1=0x14, l2=»        DM:=DM/10.0;«, l3=0x14}
0x2a88…2ab1 Line {l1=0x27, l2=»        IF LINE(I) IN (.'0'..'9'.) THEN«, l3=0x27}
0x2ab1…2ac0 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x2ac0…2af0 Line {l1=0x2e, l2=»          RESULT:=RESULT+DM*(ORD(LINE(I))-48);«, l3=0x2e}
0x2af0…2b08 Line {l1=0x16, l2=»          DECS:=DECS+1«, l3=0x16}
0x2b08…2b15 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x2b15…2b23 Line {l1=0x0c, l2=»        ELSE«, l3=0x0c}
0x2b23…2b32 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x2b32…2b48 Line {l1=0x14, l2=»          OK:=FALSE;«, l3=0x14}
0x2b48…2b63 Line {l1=0x19, l2=»          I:=LENGTH(LINE)«, l3=0x19}
0x2b63…2b70 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x2b70…2b7c Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x2b7c…2b9b Line {l1=0x1d, l2=»      RESULT:=FORTEGN*RESULT;«, l3=0x1d}
0x2b9b…2bc0 Line {l1=0x23, l2=»      IF DECS>F^.DEC THEN OK:=FALSE«, l3=0x23}
0x2bc0…2bc9 Line {l1=0x07, l2=»    END«, l3=0x07}
0x2bc9…2bdc Line {l1=0x11, l2=»    ELSE OK:=TRUE«, l3=0x11}
0x2bdc…2be5 Line {l1=0x07, l2=»    END«, l3=0x07}
0x2be5…2bf1 Line {l1=0x0a, l2=»  UNTIL OK«, l3=0x0a}
0x2bf1…2bf7 Line {l1=0x04, l2=»END;«, l3=0x04}
0x2bf7…2bff Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x2bff…2c14 Line {l1=0x13, l2=»PROCEDURE CHECKVAL;«, l3=0x13}
0x2c14…2c39 Line {l1=0x23, l2=»VAR I,DAT0,MÅNED,ÅR,MODULC:INTEGER;«, l3=0x23}
0x2c39…2c5c Line {l1=0x21, l2=»    CPN:ARRAY (1..10) OF INTEGER;«, l3=0x21}
0x2c5c…2c63 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x2c63…2c82 Line {l1=0x1d, l2=»  CASE VAL^.VALIDITETSTYPE OF«, l3=0x1d}
0x2c82…2c90 Line {l1=0x0c, l2=»  HINTERVAL:«, l3=0x0c}
0x2c90…2cc1 Line {l1=0x2f, l2=»    BUMMED:=((TAL<VAL^.MIN) OR (TAL>VAL^.MAX));«, l3=0x2f}
0x2cc1…2ccf Line {l1=0x0c, l2=»  DINTERVAL:«, l3=0x0c}
0x2ccf…2d0f Line {l1=0x3e, l2=»    BUMMED:=((TAL*10000.0+TAL1<VAL^.MIN1*10000.0+VAL^.MIN2) OR«, l3=0x3e}
0x2d0f…2d4e Line {l1=0x3d, l2=»             (TAL*10000.0+TAL1>VAL^.MAX1*10000.0+VAL^.MAX2));«, l3=0x3d}
0x2d4e…2d5c Line {l1=0x0c, l2=»  RINTERVAL:«, l3=0x0c}
0x2d5c…2d95 Line {l1=0x37, l2=»    BUMMED:=((RESULT<VAL^.RMIN) OR (RESULT>VAL^.RMAX));«, l3=0x37}
0x2d95…2d9e Line {l1=0x07, l2=»  DATO:«, l3=0x07}
0x2d9e…2dba Line {l1=0x1a, l2=»    IF LENGTH(LINE)=6 THEN«, l3=0x1a}
0x2dba…2dc5 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2dc5…2df6 Line {l1=0x2f, l2=»      ÅR:=10*(ORD(LINE(1))-48)+ORD(LINE(2))-48;«, l3=0x2f}
0x2df6…2e2a Line {l1=0x32, l2=»      MÅNED:=10*(ORD(LINE(3))-48)+ORD(LINE(4))-48;«, l3=0x32}
0x2e2a…2e5d Line {l1=0x31, l2=»      DAT0:=10*(ORD(LINE(5))-48)+ORD(LINE(6))-48;«, l3=0x31}
0x2e5d…2eab Line {l1=0x4c, l2=»      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;«, l3=0x4c}
0x2eab…2ec5 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x2ec5…2eda Line {l1=0x13, l2=»      CASE MÅNED OF«, l3=0x13}
0x2eda…2f09 Line {l1=0x2d, l2=»      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;«, l3=0x2d}
0x2f09…2f54 Line {l1=0x49, l2=»      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4 <>0)) THEN BUMMED:=TRUE«, l3=0x49}
0x2f54…2f5f Line {l1=0x09, l2=»      END«, l3=0x09}
0x2f5f…2f68 Line {l1=0x07, l2=»    END«, l3=0x07}
0x2f68…2f80 Line {l1=0x16, l2=»    ELSE BUMMED:=TRUE;«, l3=0x16}
0x2f80…2f88 Line {l1=0x06, l2=»  CPR:«, l3=0x06}
0x2f88…2fa5 Line {l1=0x1b, l2=»    IF LENGTH(LINE)=10 THEN«, l3=0x1b}
0x2fa5…2fb0 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x2fb0…2fe2 Line {l1=0x30, l2=»      FOR I:=1 TO 10 DO CPN(I):=ORD(LINE(I))-48;«, l3=0x30}
0x2fe2…3001 Line {l1=0x1d, l2=»      DAT0:=CPN(1)*10+CPN(2);«, l3=0x1d}
0x3001…3021 Line {l1=0x1e, l2=»      MÅNED:=CPN(3)*10+CPN(4);«, l3=0x1e}
0x3021…303e Line {l1=0x1b, l2=»      ÅR:=CPN(5)*10+CPN(6);«, l3=0x1b}
0x303e…308c Line {l1=0x4c, l2=»      IF (DAT0<1) OR (MÅNED<1) OR (MÅNED>12) OR (DAT0>31) THEN BUMMED:=TRUE;«, l3=0x4c}
0x308c…30a6 Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x30a6…30bb Line {l1=0x13, l2=»      CASE MÅNED OF«, l3=0x13}
0x30bb…30ea Line {l1=0x2d, l2=»      4,6,9,11: IF DAT0>30 THEN BUMMED:=TRUE;«, l3=0x2d}
0x30ea…3134 Line {l1=0x48, l2=»      2: IF (DAT0>29) OR ((DAT0=29) AND (ÅR MOD 4<>0)) THEN BUMMED:=TRUE«, l3=0x48}
0x3134…3140 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x3140…315a Line {l1=0x18, l2=»      IF NOT BUMMED THEN«, l3=0x18}
0x315a…3167 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x3167…31b6 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}
0x31b6…31e0 Line {l1=0x28, l2=»              CPN(8)*3+CPN(9)*2+CPN(10);«, l3=0x28}
0x31e0…320f Line {l1=0x2d, l2=»        IF MODULC MOD 11<>0 THEN BUMMED:=TRUE«, l3=0x2d}
0x320f…321a Line {l1=0x09, l2=»      END«, l3=0x09}
0x321a…3223 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3223…323b Line {l1=0x16, l2=»    ELSE BUMMED:=TRUE;«, l3=0x16}
0x323b…3242 Line {l1=0x05, l2=»  END«, l3=0x05}
0x3242…3248 Line {l1=0x04, l2=»END;«, l3=0x04}
0x3248…3250 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x3250…3267 Line {l1=0x15, l2=»(*PROCEDURE LÆSFELT*)«, l3=0x15}
0x3267…326e Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x326e…3293 Line {l1=0x23, l2=» IF USERNIVEAU>=F^.ÆNDRENIVEAU THEN«, l3=0x23}
0x3293…329b Line {l1=0x06, l2=» BEGIN«, l3=0x06}
0x329b…32a5 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x32a5…32b4 Line {l1=0x0d, l2=»    LÆSLINIE;«, l3=0x0d}
0x32b4…32cb Line {l1=0x15, l2=»    VAL:=F^.NÆSTEVAL;«, l3=0x15}
0x32cb…32df Line {l1=0x12, l2=»    BUMMED:=FALSE;«, l3=0x12}
0x32df…3309 Line {l1=0x28, l2=»    WHILE (VAL<>NIL) AND (NOT BUMMED) DO«, l3=0x28}
0x3309…3314 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x3314…3325 Line {l1=0x0f, l2=»      CHECKVAL;«, l3=0x0f}
0x3325…333f Line {l1=0x18, l2=»      VAL:=VAL^.NÆSTEVAL«, l3=0x18}
0x333f…3348 Line {l1=0x07, l2=»    END«, l3=0x07}
0x3348…335d Line {l1=0x13, l2=»  UNTIL NOT BUMMED;«, l3=0x13}
0x335d…3374 Line {l1=0x15, l2=»  CASE F^.FELTTYPE OF«, l3=0x15}
0x3374…3396 Line {l1=0x20, l2=»  HELTAL:POST.A(F^.INDEKS):=TAL;«, l3=0x20}
0x3396…33a7 Line {l1=0x0f, l2=»  DOBBTAL:BEGIN«, l3=0x0f}
0x33a7…33cc Line {l1=0x23, l2=»            POST.A(F^.INDEKS):=TAL;«, l3=0x23}
0x33cc…33f3 Line {l1=0x25, l2=»            POST.A(F^.INDEKS+1):=TAL1«, l3=0x25}
0x33f3…3403 Line {l1=0x0e, l2=»          END;«, l3=0x0e}
0x3403…3428 Line {l1=0x23, l2=»  REEL:POST.AAA(F^.INDEKS):=RESULT;«, l3=0x23}
0x3428…344a Line {l1=0x20, l2=»  TEKST:FOR I:=1 TO F^.LÆNGDE DO«, l3=0x20}
0x344a…3477 Line {l1=0x2b, l2=»            POST.AA(I+F^.INDEKS-1):=LINE(I)«, l3=0x2b}
0x3477…347e Line {l1=0x05, l2=»  END«, l3=0x05}
0x347e…3484 Line {l1=0x04, l2=» END«, l3=0x04}
0x3484…348a Line {l1=0x04, l2=»END;«, l3=0x04}
0x348a…3492 Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x3492…34a7 Line {l1=0x13, l2=»PROCEDURE MAINTAIN;«, l3=0x13}
0x34a7…34b7 Line {l1=0x0e, l2=»VAR J:INTEGER;«, l3=0x0e}
0x34b7…34ca Line {l1=0x11, l2=»    CH:STRING(1);«, l3=0x11}
0x34ca…34d1 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x34d1…34e5 Line {l1=0x12, l2=»      CLEARSCREEN;«, l3=0x12}
0x34e5…34fe Line {l1=0x17, l2=»      IF OPTION<>4 THEN«, l3=0x17}
0x34fe…350b Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x350b…3529 Line {l1=0x1c, l2=»        HUSKNIV:=USERNIVEAU;«, l3=0x1c}
0x3529…3547 Line {l1=0x1c, l2=»        USERNIVEAU:=UMULIUS;«, l3=0x1c}
0x3547…3559 Line {l1=0x10, l2=»        NULPOST;«, l3=0x10}
0x3559…3591 Line {l1=0x36, l2=»        FOR J:=1 TO ANTALNØGLER DO LÆSFELT(NØGLER(J));«, l3=0x36}
0x3591…35af Line {l1=0x1c, l2=»        USERNIVEAU:=HUSKNIV;«, l3=0x1c}
0x35af…35d8 Line {l1=0x27, l2=»        GETREC(ZONE.H,REGISTER,POST.A);«, l3=0x27}
0x35d8…3618 Line {l1=0x3e, l2=»        IF (IER<>0) AND (IER<>-6) THEN ERROR(ZONE.H.FILENAME);«, l3=0x3e}
0x3618…3624 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x3624…363a Line {l1=0x14, l2=»      CASE OPTION OF«, l3=0x14}
0x363a…3654 Line {l1=0x18, l2=»        1: IF IER=0 THEN«, l3=0x18}
0x3654…3666 Line {l1=0x10, l2=»           BEGIN«, l3=0x10}
0x3666…367f Line {l1=0x17, l2=»             SKRIVPOST;«, l3=0x17}
0x367f…3694 Line {l1=0x13, l2=»             REPEAT«, l3=0x13}
0x3694…36ab Line {l1=0x15, l2=»               REPEAT«, l3=0x15}
0x36ab…36cb Line {l1=0x1e, l2=»                 GOTOXY(1,23);«, l3=0x1e}
0x36cb…36e3 Line {l1=0x16, l2=»                 J:=0;«, l3=0x16}
0x36e3…3719 Line {l1=0x34, l2=»                 WRITELN('Feltnr, 0 for færdig ',J);«, l3=0x34}
0x3719…3741 Line {l1=0x26, l2=»                 GOTOXY(22,23);READLN;«, l3=0x26}
0x3741…377e Line {l1=0x3b, l2=»                 IF NOT (EOLN OR (INPUT^=' ')) THEN READ(J)«, l3=0x3b}
0x377e…37c2 Line {l1=0x42, l2=»               UNTIL (IORESULT=0) AND (J>=0) AND (J<=ANTALFELTER);«, l3=0x42}
0x37c2…37f2 Line {l1=0x2e, l2=»               IF J>0 THEN LÆSFELT(PICTURE(J))«, l3=0x2e}
0x37f2…380b Line {l1=0x17, l2=»             UNTIL J=0;«, l3=0x17}
0x380b…3839 Line {l1=0x2c, l2=»             PUTREC(ZONE.H,REGISTER,POST.A);«, l3=0x2c}
0x3839…386d Line {l1=0x32, l2=»             IF IER<>0 THEN ERROR(ZONE.H.FILENAME)«, l3=0x32}
0x386d…387d Line {l1=0x0e, l2=»           END«, l3=0x0e}
0x387d…388e Line {l1=0x0f, l2=»           ELSE«, l3=0x0f}
0x388e…38a0 Line {l1=0x10, l2=»           BEGIN«, l3=0x10}
0x38a0…38d8 Line {l1=0x36, l2=»             WRITELN('Post findes ikke, tryk RETURN');«, l3=0x36}
0x38d8…38ed Line {l1=0x13, l2=»             READLN«, l3=0x13}
0x38ed…38fe Line {l1=0x0f, l2=»           END;«, l3=0x0f}
0x38fe…3918 Line {l1=0x18, l2=»        2: IF IER=0 THEN«, l3=0x18}
0x3918…392a Line {l1=0x10, l2=»           BEGIN«, l3=0x10}
0x392a…3943 Line {l1=0x17, l2=»             SKRIVPOST;«, l3=0x17}
0x3943…396f Line {l1=0x2a, l2=»             WRITELN('Tryk RETURN');READLN«, l3=0x2a}
0x396f…397f Line {l1=0x0e, l2=»           END«, l3=0x0e}
0x397f…3990 Line {l1=0x0f, l2=»           ELSE«, l3=0x0f}
0x3990…39a2 Line {l1=0x10, l2=»           BEGIN«, l3=0x10}
0x39a2…39e0 Line {l1=0x3c, l2=»             WRITELN('Post findes ikke, tryk RETURN');READLN«, l3=0x3c}
0x39e0…39f1 Line {l1=0x0f, l2=»           END;«, l3=0x0f}
0x39f1…3a0b Line {l1=0x18, l2=»        3: IF IER=0 THEN«, l3=0x18}
0x3a0b…3a23 Line {l1=0x16, l2=»             PRINTPOST«, l3=0x16}
0x3a23…3a6f Line {l1=0x4a, l2=»           ELSE BEGIN WRITELN('Post findes ikke, tryk RETURN');READLN END;«, l3=0x4a}
0x3a6f…3a81 Line {l1=0x10, l2=»        4: BEGIN«, l3=0x10}
0x3a81…3a98 Line {l1=0x15, l2=»             NULPOST;«, l3=0x15}
0x3a98…3ab1 Line {l1=0x17, l2=»             SKRIVPOST;«, l3=0x17}
0x3ab1…3ad4 Line {l1=0x21, l2=»             HUSKNIV:=USERNIVEAU;«, l3=0x21}
0x3ad4…3af7 Line {l1=0x21, l2=»             USERNIVEAU:=UMULIUS;«, l3=0x21}
0x3af7…3b35 Line {l1=0x3c, l2=»             FOR J:=1 TO ANTALFELTER DO LÆSFELT(PICTURE(J));«, l3=0x3c}
0x3b35…3b58 Line {l1=0x21, l2=»             USERNIVEAU:=HUSKNIV;«, l3=0x21}
0x3b58…3b9c Line {l1=0x42, l2=»             IF (NOT ZONE.H.FILEINIT) AND (ZONE.H.RECINUSE=0) THEN«, l3=0x42}
0x3b9c…3bb0 Line {l1=0x12, l2=»             BEGIN«, l3=0x12}
0x3bb0…3bce Line {l1=0x1c, l2=»               GOTOXY(1,23);«, l3=0x1c}
0x3bce…3c06 Line {l1=0x36, l2=»               WRITELN('ANTAL INITIALISERINGSPOSTER');«, l3=0x36}
0x3c06…3c25 Line {l1=0x1d, l2=»               GOTOXY(30,23);«, l3=0x1d}
0x3c25…3c45 Line {l1=0x1e, l2=»               READLN;READ(J);«, l3=0x1e}
0x3c45…3c72 Line {l1=0x2b, l2=»               INITIATE(ZONE.H,REGISTER,J);«, l3=0x2b}
0x3c72…3ca8 Line {l1=0x34, l2=»               IF IER<>0 THEN ERROR(ZONE.H.FILENAME)«, l3=0x34}
0x3ca8…3cbb Line {l1=0x11, l2=»             END;«, l3=0x11}
0x3cbb…3ce9 Line {l1=0x2c, l2=»             INSERT(ZONE.H,REGISTER,POST.A);«, l3=0x2c}
0x3ce9…3d06 Line {l1=0x1b, l2=»             IF IER<>0 THEN«, l3=0x1b}
0x3d06…3d23 Line {l1=0x1b, l2=»             IF IER=-7 THEN«, l3=0x1b}
0x3d23…3d37 Line {l1=0x12, l2=»             BEGIN«, l3=0x12}
0x3d37…3d6f Line {l1=0x36, l2=»               WRITELN('Posten findes, RETURN');READLN«, l3=0x36}
0x3d6f…3d81 Line {l1=0x10, l2=»             END«, l3=0x10}
0x3d81…3dab Line {l1=0x28, l2=»             ELSE ERROR(ZONE.H.FILENAME)«, l3=0x28}
0x3dab…3dbc Line {l1=0x0f, l2=»           END;«, l3=0x0f}
0x3dbc…3dd6 Line {l1=0x18, l2=»        5: IF IER=0 THEN«, l3=0x18}
0x3dd6…3de8 Line {l1=0x10, l2=»           BEGIN«, l3=0x10}
0x3de8…3e01 Line {l1=0x17, l2=»             SKRIVPOST;«, l3=0x17}
0x3e01…3e1d Line {l1=0x1a, l2=»             GOTOXY(1,20);«, l3=0x1a}
0x3e1d…3e34 Line {l1=0x15, l2=»             CH:='J';«, l3=0x15}
0x3e34…3e63 Line {l1=0x2d, l2=»             WRITELN('Sletning korrekt J/N');«, l3=0x2d}
0x3e63…3e89 Line {l1=0x24, l2=»             GOTOXY(22,20);EDIT(CH);«, l3=0x24}
0x3e89…3ea6 Line {l1=0x1b, l2=»             IF CH='J' THEN«, l3=0x1b}
0x3ea6…3eba Line {l1=0x12, l2=»             BEGIN«, l3=0x12}
0x3eba…3eea Line {l1=0x2e, l2=»               DELETE(ZONE.H,REGISTER,POST.A);«, l3=0x2e}
0x3eea…3f09 Line {l1=0x1d, l2=»               IF IER=-9 THEN«, l3=0x1d}
0x3f09…3f1f Line {l1=0x14, l2=»               BEGIN«, l3=0x14}
0x3f1f…3f63 Line {l1=0x42, l2=»                 WRITELN('Eneste post, kan ikke slettes, RETURN');«, l3=0x42}
0x3f63…3f7d Line {l1=0x18, l2=»                 READLN;«, l3=0x18}
0x3f7d…3f96 Line {l1=0x17, l2=»                 IER:=0«, l3=0x17}
0x3f96…3fab Line {l1=0x13, l2=»               END;«, l3=0x13}
0x3fab…3fe1 Line {l1=0x34, l2=»               IF IER<>0 THEN ERROR(ZONE.H.FILENAME)«, l3=0x34}
0x3fe1…3ff3 Line {l1=0x10, l2=»             END«, l3=0x10}
0x3ff3…4003 Line {l1=0x0e, l2=»           END«, l3=0x0e}
0x4003…4014 Line {l1=0x0f, l2=»           ELSE«, l3=0x0f}
0x4014…4026 Line {l1=0x10, l2=»           BEGIN«, l3=0x10}
0x4026…4064 Line {l1=0x3c, l2=»             WRITELN('Post findes ikke, tryk RETURN');READLN«, l3=0x3c}
0x4064…4074 Line {l1=0x0e, l2=»           END«, l3=0x0e}
0x4074…407f Line {l1=0x09, l2=»      END«, l3=0x09}
0x407f…4085 Line {l1=0x04, l2=»END;«, l3=0x04}
0x4085…408d Line {l1=0x06, l2=»(*$P*)«, l3=0x06}
0x408d…4094 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x4094…40a4 Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x40a4…40a7 Line {l1=0x01, l2=» «, l3=0x01}
0x40a7…40c2 Line {l1=0x19, l2=»  CH:=' ';FNAVN:='';I:=1;«, l3=0x19}
0x40c2…40cc Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x40cc…40e2 Line {l1=0x14, l2=»    CH(1):=PARM^(I);«, l3=0x14}
0x40e2…4100 Line {l1=0x1c, l2=»    FNAVN:=CONCAT(FNAVN,CH);«, l3=0x1c}
0x4100…410c Line {l1=0x0a, l2=»    I:=I+1«, l3=0x0a}
0x410c…4123 Line {l1=0x15, l2=»  UNTIL PARM^(I)=',';«, l3=0x15}
0x4123…4157 Line {l1=0x32, l2=»  FOR J:=1 TO I-4 DO ZONE.H.FILENAME(J):=PARM^(J);«, l3=0x32}
0x4157…4162 Line {l1=0x09, l2=»  I:=I+1;«, l3=0x09}
0x4162…417a Line {l1=0x16, l2=»  J:=ORD(PARM^(I))-48;«, l3=0x16}
0x417a…4190 Line {l1=0x14, l2=»  USERNIVEAU:=MENIG;«, l3=0x14}
0x4190…41cf Line {l1=0x3d, l2=»  WHILE J>0 DO BEGIN USERNIVEAU:=SUCC(USERNIVEAU);J:=J-1 END;«, l3=0x3d}
0x41cf…41da Line {l1=0x09, l2=»  I:=I+2;«, l3=0x09}
0x41da…41ea Line {l1=0x0e, l2=»  REGNAVN:='';«, l3=0x0e}
0x41ea…41f4 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x41f4…420a Line {l1=0x14, l2=»    CH(1):=PARM^(I);«, l3=0x14}
0x420a…422c Line {l1=0x20, l2=»    REGNAVN:=CONCAT(REGNAVN,CH);«, l3=0x20}
0x422c…4238 Line {l1=0x0a, l2=»    I:=I+1«, l3=0x0a}
0x4238…424f Line {l1=0x15, l2=»  UNTIL PARM^(I)=' ';«, l3=0x15}
0x424f…4272 Line {l1=0x21, l2=»  FNAVN:=CONCAT(FNAVN,':0000:I');«, l3=0x21}
0x4272…428e Line {l1=0x1a, l2=»  REWRITE(REGISTER,FNAVN);«, l3=0x1a}
0x428e…42d5 Line {l1=0x45, l2=»  IOPEN(ZONE.H,REGISTER,SKRIV);IF IER<>0 THEN OFEJL(ZONE.H.FILENAME);«, l3=0x45}
0x42d5…4300 Line {l1=0x29, l2=»  LINE:=CONCAT(COPY(FNAVN,1,4),'DESC:P');«, l3=0x29}
0x4300…433f Line {l1=0x3d, l2=»  LINE:=CONCAT(LINE,COPY(FNAVN,POS(':P',FNAVN)+2,1),':30:J');«, l3=0x3d}
0x433f…434f Line {l1=0x0e, l2=»  FNAVN:=LINE;«, l3=0x0e}
0x434f…4371 Line {l1=0x20, l2=»  WRITELN('MEMAVAIL ',MEMAVAIL);«, l3=0x20}
0x4371…437d Line {l1=0x0a, l2=»  LÆSDESC;«, l3=0x0a}
0x437d…43a6 Line {l1=0x27, l2=»  WRITELN('MEMAVAIL ',MEMAVAIL);READLN;«, l3=0x27}
0x43a6…43b0 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x43b0…43c2 Line {l1=0x10, l2=»    CLEARSCREEN;«, l3=0x10}
0x43c2…43d6 Line {l1=0x12, l2=»    GOTOXY(10,10);«, l3=0x12}
0x43d6…4420 Line {l1=0x48, l2=»    WRITELN(REGNAVN,' R E G I S T E R - V E D L I G E H O L D E L S E');«, l3=0x48}
0x4420…4434 Line {l1=0x12, l2=»    GOTOXY(10,12);«, l3=0x12}
0x4434…444e Line {l1=0x18, l2=»    WRITELN('0 Færdig');«, l3=0x18}
0x444e…446f Line {l1=0x1f, l2=»    WRITELN(' ':9,'1 Ændring');«, l3=0x1f}
0x446f…449a Line {l1=0x29, l2=»    WRITELN(' ':9,'2 Udskrift på skærm');«, l3=0x29}
0x449a…44c7 Line {l1=0x2b, l2=»    WRITELN(' ':9,'3 Udskrift på printer');«, l3=0x2b}
0x44c7…44eb Line {l1=0x22, l2=»    WRITELN(' ':9,'4 Oprettelse');«, l3=0x22}
0x44eb…450d Line {l1=0x20, l2=»    WRITELN(' ':9,'5 Sletning');«, l3=0x20}
0x450d…4519 Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x4519…4529 Line {l1=0x0e, l2=»      CH:='2';«, l3=0x0e}
0x4529…453f Line {l1=0x14, l2=»      GOTOXY(10,19);«, l3=0x14}
0x453f…455b Line {l1=0x1a, l2=»      WRITELN('Vælg 0-5');«, l3=0x1a}
0x455b…4579 Line {l1=0x1c, l2=»      GOTOXY(21,19);EDIT(CH)«, l3=0x1c}
0x4579…459b Line {l1=0x20, l2=»    UNTIL CH(1) IN (.'0'..'5'.);«, l3=0x20}
0x459b…45b7 Line {l1=0x1a, l2=»    OPTION:=ORD(CH(1))-48;«, l3=0x1a}
0x45b7…45cd Line {l1=0x14, l2=»    IF OPTION>0 THEN«, l3=0x14}
0x45cd…45dd Line {l1=0x0e, l2=»      MAINTAIN«, l3=0x0e}
0x45dd…45f0 Line {l1=0x11, l2=»  UNTIL OPTION=0;«, l3=0x11}
0x45f0…460c Line {l1=0x1a, l2=»  ICLOSE(ZONE.H,REGISTER);«, l3=0x1a}
0x460c…461c Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x461c…4637 Line {l1=0x19, l2=»  WRITELN('ICLOSE ',IER);«, l3=0x19}
0x4637…465d Line {l1=0x24, l2=»  CHAIN('INTRE   *1','START:P1',QUQ)«, l3=0x24}
0x465d…4663 Line {l1=0x04, l2=»END.«, l3=0x04}
0x4663…4680 00 00 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            ┆  ccccccccccccccccccccccccccc┆
0x4680…46a0 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┆
            […0x13…]
0x4900…4920 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 4e   ┆cccccccccccccccccccccccccccccccN┆

Reduced view