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

⟦fe5ac2d5e⟧ TextFile

    Length: 10112 (0x2780)
    Types: TextFile
    Notes: Mikados_K
    Names: »FILETEST.K«

Derivation

└─⟦ec8c1e0b0⟧ Bits:30007442 8" floppy ( MIKPROG vol. 1-3, MIKREL vol. 1-3, PCSE 4.7.80 vol 1-3, GL.SYS )
    └─⟦this⟧ »FILETEST.K« 

Mikados K File

PROGRAM FILETEST;
 
       (***************************************************)
       (*                                                 *)
       (*   OPRETTELSE OG AJOURFØRING AF PERSONKARTOTEK   *)
       (*                                                 *)
       (* DEMONSTRATION AF DIREKTE FILER OG ANVENDELSE AF *)
       (* EDIT PROCEDUREN I MIKADOS PASCAL                *)
       (***************************************************)
 
 
TYPE STATUS = ( GIFT, ENKE, FRASKILT, UNGKARL );
     ALFA = STRING(30);
     TEKST = STRING(18);
     DATO = RECORD DAG: 1..31;
                   MÅNED: 1..12;
                   ÅR: INTEGER
            END;
     PERSON = RECORD
                NAVN: RECORD
                        FORNAVN, EFTERNAVN: ALFA
                      END;
                KØN: (MAND, KVINDE, UKENDT);
                FØDSELSDATO: DATO;
                CASE ÆGTESKABELIGSTATUS: STATUS OF
                  GIFT, ENKE: (GIFTEDATO: DATO);
                  FRASKILT:   (SKILSMISSEDATO: DATO;
                               ANTALSKILSMISSER: INTEGER);
                  UNGKARL:    (UAFHÆNGIG: BOOLEAN)
              END (*PERSON*);
 
VAR  REGISTER: FILE OF PERSON;
     ÆSTATUS, KODE: ALFA;
     FINISHED, OK: BOOLEAN;
     OPKODE, SVAR : CHAR;
     POSTNUMMER: INTEGER;
     IOVAL: INTEGER;
 
 
       (***************************************************)
       (* GENERELT ANVENDELIG PROCEDURE SOM ILLUSTRERER   *)
       (* HVORLEDES EDIT PROCEDUREN KAN ANVENDES TIL      *)
       (* REDIGERING AF HELTAL.                           *)
       (* HVIS OPKODE<>'R' INDTASTES NYT HELTAL           *)
       (* HVIS OPKODE ='R' PRÆSENTERES DET NUVÆRENDE      *)
       (*      INDHOLD AF HELTAL PÅ SKÆRMEN MED HENBLIK   *)
       (*      PÅ REDIGERING                              *)
       (***************************************************)
 
PROCEDURE ENTERINTEGER( LEDETEKST: TEKST;
                        VAR HELTAL: INTEGER );
  VAR STØRRELSESORDEN,INDEX: INTEGER;
      INTSTRING: STRING(6);
      SIGN, CH: CHAR;
      DIGITS, FINISHED: BOOLEAN;
BEGIN
  INDEX := 18;
  WHILE LEDETEKST(INDEX)=' ' DO INDEX:=INDEX-1;
  WRITE( LEDETEKST:INDEX, ' ' );
  INTSTRING := '      ';
  IF OPKODE='R' THEN
    BEGIN
    INDEX:=0;
    IF HELTAL<0 THEN
      BEGIN
      HELTAL:=-HELTAL;
      INDEX:=1;
      INTSTRING(1):='-'
      END;
    STØRRELSESORDEN:=10000;
    WHILE HELTAL<STØRRELSESORDEN DO
      STØRRELSESORDEN := STØRRELSESORDEN DIV 10;
    REPEAT
      BEGIN
      INDEX:=INDEX+1;
      INTSTRING(INDEX):= CHR( HELTAL DIV STØRRELSESORDEN + ORD('0'));
      HELTAL := HELTAL MOD STØRRELSESORDEN;
      STØRRELSESORDEN := STØRRELSESORDEN DIV 10;
      END;
    UNTIL STØRRELSESORDEN=0;
    END;
  EDIT( INTSTRING:6 );
  INDEX := 1;
  FINISHED := FALSE;
  DIGITS := FALSE;
  SIGN := ' ';
  HELTAL := 0;
  REPEAT
    BEGIN
    CH := INTSTRING(INDEX);
    IF CH IN (.'+','-'.) THEN
      IF DIGITS OR (SIGN<>' ') THEN FINISHED:=TRUE
      ELSE SIGN:= CH
    ELSE
      IF CH IN (.'0'..'9'.) THEN
        BEGIN
        HELTAL := HELTAL*10 + ORD(CH) - ORD('0');
        DIGITS := TRUE
        END
      ELSE FINISHED:=TRUE;
    INDEX := INDEX + 1;
    END;
  UNTIL FINISHED OR (INDEX>6);
  IF SIGN='-' THEN HELTAL:=-HELTAL;
END  (*ENTERINTEGER*);
 
PROCEDURE ENTERSTRING( LEDETEKST: TEKST;
                       VAR EDITSTRING: ALFA;
                       LÆNGDE: INTEGER );
  VAR INDEX: INTEGER;
BEGIN
  INDEX:=18;
  WHILE LEDETEKST(INDEX)=' ' DO INDEX:=INDEX-1;
  WRITE( LEDETEKST:INDEX, ' ' );
  IF OPKODE='O' THEN
    BEGIN
    FILLCHAR( EDITSTRING(1), LÆNGDE, ' ' );
    (*$R-*)  EDITSTRING(0) := CHR(LÆNGDE);  (*$R+*)
    END;
  EDIT( EDITSTRING:LÆNGDE )
END (*ENTERSTRING*);
 
PROCEDURE ENTERDATO( LEDETEKST: TEKST;
                     VAR EDITDATO: DATO );
  VAR INDEX: INTEGER;
BEGIN
  INDEX:= 18;
  WHILE LEDETEKST(INDEX)=' ' DO INDEX:=INDEX-1;
  WRITE( LEDETEKST:INDEX, ' ' );
  WITH EDITDATO DO
    BEGIN
    ENTERINTEGER( 'DAG               ', DAG );
    ENTERINTEGER( 'MÅNED             ', MÅNED );
    ENTERINTEGER( 'ÅR                ', ÅR );
    END;
END  (*ENTERDATO*);
 
PROCEDURE ENTERCOMMAND;
BEGIN
  REPEAT
    BEGIN
    WRITE( 'OPERATIONSKODE (O-OPRET, R-RET, A-AFSLUT) ' );
    WHILE EOLN DO READLN;
    READ( OPKODE );
    END;
  UNTIL OPKODE IN (.'O','R','A'.);
END;
 
PROCEDURE ENTERSTATUS;
BEGIN
  IF OPKODE='R' THEN
    CASE REGISTER^.ÆGTESKABELIGSTATUS OF
      GIFT:     ÆSTATUS := 'GIFT    ';
      ENKE:     ÆSTATUS := 'ENKE    ';
      FRASKILT: ÆSTATUS := 'FRASKILT';
      UNGKARL:  ÆSTATUS := 'UNGKARL';
    END
  ELSE ÆSTATUS := '    ';
  REPEAT
    BEGIN
    WRITE( 'INDTAST ÆGTESKABELIG STATUS (G/F/E/U) ' );
    EDIT( ÆSTATUS );
    END;
  UNTIL ÆSTATUS(1) IN (.'G','F','E','U'.);
END;
 
 
BEGIN
REWRITE( REGISTER, 'PERSDATA:P2:10' );
FINISHED := FALSE;
REPEAT
  BEGIN
  CLEARSCREEN;
  OK := TRUE;
  ENTERCOMMAND;
  IF OPKODE<>'A' THEN
    BEGIN
    WRITELN;
    WRITE( 'INDTAST POSTNUMMER ' );
    READ( POSTNUMMER );
    SEEK( REGISTER, POSTNUMMER );
    IF IORESULT<>0 THEN
      BEGIN
      IOVAL:=IORESULT;
      WRITE( 'FEJL ', IOVAL, ' VED OPSLAG I FIL' );
      WRITE(' - TAST RETURN:');
      READLN;
      OK := FALSE
      END;
    IF OK AND (OPKODE='R') THEN
      BEGIN
      GET( REGISTER );
      IF IORESULT<>0 THEN
        BEGIN
        WRITELN( 'FEJL ', IORESULT, ' VED INDLÆSNING AF POST');
        OK := FALSE
        END
      ELSE SEEK( REGISTER, POSTNUMMER );
      END;
    IF OK THEN
      BEGIN
      WITH REGISTER^,NAVN DO
        BEGIN
        ENTERSTRING('FORNAVN           ', FORNAVN, 30 );
        ENTERSTRING('EFTERNAVN         ', EFTERNAVN, 30 );
        KODE := ' ';
        REPEAT
          BEGIN
          IF OPKODE='R' THEN
            CASE KØN OF
              MAND:   KODE := 'M';
              KVINDE: KODE := 'K';
              UKENDT: KODE := 'U';
            END;
          ENTERSTRING('KØN (M/K/U)       ', KODE, 1 );
          END;
        UNTIL KODE(1) IN (.'M','K','U'.);
        CASE KODE(1) OF
          'M': KØN := MAND;
          'K': KØN := KVINDE;
          'U': KØN := UKENDT;
        END;
        ENTERDATO( 'FØDSELSDATO       ', FØDSELSDATO );
        ENTERSTATUS;
        CASE ÆSTATUS(1) OF
          'G','E': BEGIN
                 IF ÆSTATUS(1)='G' THEN ÆGTESKABELIGSTATUS:=GIFT
                                ELSE ÆGTESKABELIGSTATUS:=ENKE;
                 WRITE( 'DATO FOR ÆGTESKABETS ');
                 ENTERDATO('INDGÅELSE         ',GIFTEDATO);
               END;
          'F': BEGIN
                 ÆGTESKABELIGSTATUS:=FRASKILT;
                 ENTERDATO('SKILSMISSEDATO    ', SKILSMISSEDATO );
                 ENTERINTEGER('ANTAL SKILSMISSER ',ANTALSKILSMISSER);
               END;
          'U': BEGIN
                 ÆGTESKABELIGSTATUS:=UNGKARL;
                 REPEAT
                   BEGIN
                   WRITE('UAFHÆNGIG (J/N) ');
                   WHILE EOLN DO READLN;
                   READ( SVAR )
                   END;
                 UNTIL SVAR IN (.'J','N'.);
                 UAFHÆNGIG := SVAR = 'J';
               END;
        END (*CASE ÆGTESKABELIGSTATUS*);
        END (*WITH REGISTER^*);
      PUT( REGISTER );
      END  (*IF OK*);
    END (*OPKODE<>'A'*);
  END (*REPEATSÆTNING*);
UNTIL OPKODE='A';
WRITELN('FILETEST SLUT')
END (*FILETEST*).

Mikados K File

0x0000…0013 Line {l1=0x11, l2=»PROGRAM FILETEST;«, l3=0x11}
0x0013…0016 Line {l1=0x01, l2=» «, l3=0x01}
0x0016…0054 Line {l1=0x3c, l2=»       (***************************************************)«, l3=0x3c}
0x0054…0092 Line {l1=0x3c, l2=»       (*                                                 *)«, l3=0x3c}
0x0092…00d0 Line {l1=0x3c, l2=»       (*   OPRETTELSE OG AJOURFØRING AF PERSONKARTOTEK   *)«, l3=0x3c}
0x00d0…010e Line {l1=0x3c, l2=»       (*                                                 *)«, l3=0x3c}
0x010e…014c Line {l1=0x3c, l2=»       (* DEMONSTRATION AF DIREKTE FILER OG ANVENDELSE AF *)«, l3=0x3c}
0x014c…018a Line {l1=0x3c, l2=»       (* EDIT PROCEDUREN I MIKADOS PASCAL                *)«, l3=0x3c}
0x018a…01c8 Line {l1=0x3c, l2=»       (***************************************************)«, l3=0x3c}
0x01c8…01cb Line {l1=0x01, l2=» «, l3=0x01}
            […0x1…]
0x01ce…0200 Line {l1=0x30, l2=»TYPE STATUS = ( GIFT, ENKE, FRASKILT, UNGKARL );«, l3=0x30}
0x0200…0219 Line {l1=0x17, l2=»     ALFA = STRING(30);«, l3=0x17}
0x0219…0233 Line {l1=0x18, l2=»     TEKST = STRING(18);«, l3=0x18}
0x0233…0253 Line {l1=0x1e, l2=»     DATO = RECORD DAG: 1..31;«, l3=0x1e}
0x0253…0275 Line {l1=0x20, l2=»                   MÅNED: 1..12;«, l3=0x20}
0x0275…0295 Line {l1=0x1e, l2=»                   ÅR: INTEGER«, l3=0x1e}
0x0295…02a7 Line {l1=0x10, l2=»            END;«, l3=0x10}
0x02a7…02bd Line {l1=0x14, l2=»     PERSON = RECORD«, l3=0x14}
0x02bd…02db Line {l1=0x1c, l2=»                NAVN: RECORD«, l3=0x1c}
0x02db…030d Line {l1=0x30, l2=»                        FORNAVN, EFTERNAVN: ALFA«, l3=0x30}
0x030d…0329 Line {l1=0x1a, l2=»                      END;«, l3=0x1a}
0x0329…0357 Line {l1=0x2c, l2=»                KØN: (MAND, KVINDE, UKENDT);«, l3=0x2c}
0x0357…037b Line {l1=0x22, l2=»                FØDSELSDATO: DATO;«, l3=0x22}
0x037b…03af Line {l1=0x32, l2=»                CASE ÆGTESKABELIGSTATUS: STATUS OF«, l3=0x32}
0x03af…03e1 Line {l1=0x30, l2=»                  GIFT, ENKE: (GIFTEDATO: DATO);«, l3=0x30}
0x03e1…0417 Line {l1=0x34, l2=»                  FRASKILT:   (SKILSMISSEDATO: DATO;«, l3=0x34}
0x0417…0453 Line {l1=0x3a, l2=»                               ANTALSKILSMISSER: INTEGER);«, l3=0x3a}
0x0453…0487 Line {l1=0x32, l2=»                  UNGKARL:    (UAFHÆNGIG: BOOLEAN)«, l3=0x32}
0x0487…04a6 Line {l1=0x1d, l2=»              END (*PERSON*);«, l3=0x1d}
0x04a6…04a9 Line {l1=0x01, l2=» «, l3=0x01}
0x04a9…04c9 Line {l1=0x1e, l2=»VAR  REGISTER: FILE OF PERSON;«, l3=0x1e}
0x04c9…04e4 Line {l1=0x19, l2=»     ÆSTATUS, KODE: ALFA;«, l3=0x19}
0x04e4…0501 Line {l1=0x1b, l2=»     FINISHED, OK: BOOLEAN;«, l3=0x1b}
0x0501…051c Line {l1=0x19, l2=»     OPKODE, SVAR : CHAR;«, l3=0x19}
0x051c…0537 Line {l1=0x19, l2=»     POSTNUMMER: INTEGER;«, l3=0x19}
0x0537…054d Line {l1=0x14, l2=»     IOVAL: INTEGER;«, l3=0x14}
0x054d…0550 Line {l1=0x01, l2=» «, l3=0x01}
            […0x1…]
0x0553…0591 Line {l1=0x3c, l2=»       (***************************************************)«, l3=0x3c}
0x0591…05cf Line {l1=0x3c, l2=»       (* GENERELT ANVENDELIG PROCEDURE SOM ILLUSTRERER   *)«, l3=0x3c}
0x05cf…060d Line {l1=0x3c, l2=»       (* HVORLEDES EDIT PROCEDUREN KAN ANVENDES TIL      *)«, l3=0x3c}
0x060d…064b Line {l1=0x3c, l2=»       (* REDIGERING AF HELTAL.                           *)«, l3=0x3c}
0x064b…0689 Line {l1=0x3c, l2=»       (* HVIS OPKODE<>'R' INDTASTES NYT HELTAL           *)«, l3=0x3c}
0x0689…06c7 Line {l1=0x3c, l2=»       (* HVIS OPKODE ='R' PRÆSENTERES DET NUVÆRENDE      *)«, l3=0x3c}
0x06c7…0705 Line {l1=0x3c, l2=»       (*      INDHOLD AF HELTAL PÅ SKÆRMEN MED HENBLIK   *)«, l3=0x3c}
0x0705…0743 Line {l1=0x3c, l2=»       (*      PÅ REDIGERING                              *)«, l3=0x3c}
0x0743…0781 Line {l1=0x3c, l2=»       (***************************************************)«, l3=0x3c}
0x0781…0784 Line {l1=0x01, l2=» «, l3=0x01}
0x0784…07af Line {l1=0x29, l2=»PROCEDURE ENTERINTEGER( LEDETEKST: TEKST;«, l3=0x29}
0x07af…07df Line {l1=0x2e, l2=»                        VAR HELTAL: INTEGER );«, l3=0x2e}
0x07df…0806 Line {l1=0x25, l2=»  VAR STØRRELSESORDEN,INDEX: INTEGER;«, l3=0x25}
0x0806…0823 Line {l1=0x1b, l2=»      INTSTRING: STRING(6);«, l3=0x1b}
0x0823…083a Line {l1=0x15, l2=»      SIGN, CH: CHAR;«, l3=0x15}
0x083a…085c Line {l1=0x20, l2=»      DIGITS, FINISHED: BOOLEAN;«, l3=0x20}
0x085c…0863 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0863…0873 Line {l1=0x0e, l2=»  INDEX := 18;«, l3=0x0e}
0x0873…08a4 Line {l1=0x2f, l2=»  WHILE LEDETEKST(INDEX)=' ' DO INDEX:=INDEX-1;«, l3=0x2f}
0x08a4…08c6 Line {l1=0x20, l2=»  WRITE( LEDETEKST:INDEX, ' ' );«, l3=0x20}
0x08c6…08e0 Line {l1=0x18, l2=»  INTSTRING := '      ';«, l3=0x18}
0x08e0…08f6 Line {l1=0x14, l2=»  IF OPKODE='R' THEN«, l3=0x14}
0x08f6…0901 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0901…0910 Line {l1=0x0d, l2=»    INDEX:=0;«, l3=0x0d}
0x0910…0926 Line {l1=0x14, l2=»    IF HELTAL<0 THEN«, l3=0x14}
0x0926…0933 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x0933…094b Line {l1=0x16, l2=»      HELTAL:=-HELTAL;«, l3=0x16}
0x094b…095c Line {l1=0x0f, l2=»      INDEX:=1;«, l3=0x0f}
0x095c…0975 Line {l1=0x17, l2=»      INTSTRING(1):='-'«, l3=0x17}
0x0975…0981 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x0981…099e Line {l1=0x1b, l2=»    STØRRELSESORDEN:=10000;«, l3=0x1b}
0x099e…09c3 Line {l1=0x23, l2=»    WHILE HELTAL<STØRRELSESORDEN DO«, l3=0x23}
0x09c3…09f5 Line {l1=0x30, l2=»      STØRRELSESORDEN := STØRRELSESORDEN DIV 10;«, l3=0x30}
0x09f5…0a01 Line {l1=0x0a, l2=»    REPEAT«, l3=0x0a}
0x0a01…0a0e Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x0a0e…0a25 Line {l1=0x15, l2=»      INDEX:=INDEX+1;«, l3=0x15}
0x0a25…0a6c Line {l1=0x45, l2=»      INTSTRING(INDEX):= CHR( HELTAL DIV STØRRELSESORDEN + ORD('0'));«, l3=0x45}
0x0a6c…0a99 Line {l1=0x2b, l2=»      HELTAL := HELTAL MOD STØRRELSESORDEN;«, l3=0x2b}
0x0a99…0acb Line {l1=0x30, l2=»      STØRRELSESORDEN := STØRRELSESORDEN DIV 10;«, l3=0x30}
0x0acb…0ad7 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x0ad7…0af5 Line {l1=0x1c, l2=»    UNTIL STØRRELSESORDEN=0;«, l3=0x1c}
0x0af5…0aff Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0aff…0b17 Line {l1=0x16, l2=»  EDIT( INTSTRING:6 );«, l3=0x16}
0x0b17…0b26 Line {l1=0x0d, l2=»  INDEX := 1;«, l3=0x0d}
0x0b26…0b3c Line {l1=0x14, l2=»  FINISHED := FALSE;«, l3=0x14}
0x0b3c…0b50 Line {l1=0x12, l2=»  DIGITS := FALSE;«, l3=0x12}
0x0b50…0b60 Line {l1=0x0e, l2=»  SIGN := ' ';«, l3=0x0e}
0x0b60…0b70 Line {l1=0x0e, l2=»  HELTAL := 0;«, l3=0x0e}
0x0b70…0b7a Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x0b7a…0b85 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0b85…0ba2 Line {l1=0x1b, l2=»    CH := INTSTRING(INDEX);«, l3=0x1b}
0x0ba2…0bc1 Line {l1=0x1d, l2=»    IF CH IN (.'+','-'.) THEN«, l3=0x1d}
0x0bc1…0bf5 Line {l1=0x32, l2=»      IF DIGITS OR (SIGN<>' ') THEN FINISHED:=TRUE«, l3=0x32}
0x0bf5…0c0b Line {l1=0x14, l2=»      ELSE SIGN:= CH«, l3=0x14}
0x0c0b…0c15 Line {l1=0x08, l2=»    ELSE«, l3=0x08}
0x0c15…0c37 Line {l1=0x20, l2=»      IF CH IN (.'0'..'9'.) THEN«, l3=0x20}
0x0c37…0c46 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x0c46…0c79 Line {l1=0x31, l2=»        HELTAL := HELTAL*10 + ORD(CH) - ORD('0');«, l3=0x31}
0x0c79…0c91 Line {l1=0x16, l2=»        DIGITS := TRUE«, l3=0x16}
0x0c91…0c9e Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x0c9e…0cba Line {l1=0x1a, l2=»      ELSE FINISHED:=TRUE;«, l3=0x1a}
0x0cba…0cd3 Line {l1=0x17, l2=»    INDEX := INDEX + 1;«, l3=0x17}
0x0cd3…0cdd Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0cdd…0cfd Line {l1=0x1e, l2=»  UNTIL FINISHED OR (INDEX>6);«, l3=0x1e}
0x0cfd…0d22 Line {l1=0x23, l2=»  IF SIGN='-' THEN HELTAL:=-HELTAL;«, l3=0x23}
0x0d22…0d3a Line {l1=0x16, l2=»END  (*ENTERINTEGER*);«, l3=0x16}
0x0d3a…0d3d Line {l1=0x01, l2=» «, l3=0x01}
0x0d3d…0d67 Line {l1=0x28, l2=»PROCEDURE ENTERSTRING( LEDETEKST: TEKST;«, l3=0x28}
0x0d67…0d95 Line {l1=0x2c, l2=»                       VAR EDITSTRING: ALFA;«, l3=0x2c}
0x0d95…0dc0 Line {l1=0x29, l2=»                       LÆNGDE: INTEGER );«, l3=0x29}
0x0dc0…0dd7 Line {l1=0x15, l2=»  VAR INDEX: INTEGER;«, l3=0x15}
0x0dd7…0dde Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0dde…0dec Line {l1=0x0c, l2=»  INDEX:=18;«, l3=0x0c}
0x0dec…0e1d Line {l1=0x2f, l2=»  WHILE LEDETEKST(INDEX)=' ' DO INDEX:=INDEX-1;«, l3=0x2f}
0x0e1d…0e3f Line {l1=0x20, l2=»  WRITE( LEDETEKST:INDEX, ' ' );«, l3=0x20}
0x0e3f…0e55 Line {l1=0x14, l2=»  IF OPKODE='O' THEN«, l3=0x14}
0x0e55…0e60 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0e60…0e8d Line {l1=0x2b, l2=»    FILLCHAR( EDITSTRING(1), LÆNGDE, ' ' );«, l3=0x2b}
0x0e8d…0ec2 Line {l1=0x33, l2=»    (*$R-*)  EDITSTRING(0) := CHR(LÆNGDE);  (*$R+*)«, l3=0x33}
0x0ec2…0ecc Line {l1=0x08, l2=»    END;«, l3=0x08}
0x0ecc…0ee9 Line {l1=0x1b, l2=»  EDIT( EDITSTRING:LÆNGDE )«, l3=0x1b}
0x0ee9…0eff Line {l1=0x14, l2=»END (*ENTERSTRING*);«, l3=0x14}
0x0eff…0f02 Line {l1=0x01, l2=» «, l3=0x01}
0x0f02…0f2a Line {l1=0x26, l2=»PROCEDURE ENTERDATO( LEDETEKST: TEKST;«, l3=0x26}
0x0f2a…0f56 Line {l1=0x2a, l2=»                     VAR EDITDATO: DATO );«, l3=0x2a}
0x0f56…0f6d Line {l1=0x15, l2=»  VAR INDEX: INTEGER;«, l3=0x15}
0x0f6d…0f74 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x0f74…0f83 Line {l1=0x0d, l2=»  INDEX:= 18;«, l3=0x0d}
0x0f83…0fb4 Line {l1=0x2f, l2=»  WHILE LEDETEKST(INDEX)=' ' DO INDEX:=INDEX-1;«, l3=0x2f}
0x0fb4…0fd6 Line {l1=0x20, l2=»  WRITE( LEDETEKST:INDEX, ' ' );«, l3=0x20}
0x0fd6…0fea Line {l1=0x12, l2=»  WITH EDITDATO DO«, l3=0x12}
0x0fea…0ff5 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x0ff5…1025 Line {l1=0x2e, l2=»    ENTERINTEGER( 'DAG               ', DAG );«, l3=0x2e}
0x1025…1057 Line {l1=0x30, l2=»    ENTERINTEGER( 'MÅNED             ', MÅNED );«, l3=0x30}
0x1057…1086 Line {l1=0x2d, l2=»    ENTERINTEGER( 'ÅR                ', ÅR );«, l3=0x2d}
0x1086…1090 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1090…10a5 Line {l1=0x13, l2=»END  (*ENTERDATO*);«, l3=0x13}
0x10a5…10a8 Line {l1=0x01, l2=» «, l3=0x01}
0x10a8…10c1 Line {l1=0x17, l2=»PROCEDURE ENTERCOMMAND;«, l3=0x17}
0x10c1…10c8 Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x10c8…10d2 Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x10d2…10dd Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x10dd…1119 Line {l1=0x3a, l2=»    WRITE( 'OPERATIONSKODE (O-OPRET, R-RET, A-AFSLUT) ' );«, l3=0x3a}
0x1119…1134 Line {l1=0x19, l2=»    WHILE EOLN DO READLN;«, l3=0x19}
0x1134…1149 Line {l1=0x13, l2=»    READ( OPKODE );«, l3=0x13}
0x1149…1153 Line {l1=0x08, l2=»    END;«, l3=0x08}
0x1153…1177 Line {l1=0x22, l2=»  UNTIL OPKODE IN (.'O','R','A'.);«, l3=0x22}
0x1177…117d Line {l1=0x04, l2=»END;«, l3=0x04}
0x117d…1180 Line {l1=0x01, l2=» «, l3=0x01}
0x1180…1198 Line {l1=0x16, l2=»PROCEDURE ENTERSTATUS;«, l3=0x16}
0x1198…119f Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x119f…11b5 Line {l1=0x14, l2=»  IF OPKODE='R' THEN«, l3=0x14}
0x11b5…11df Line {l1=0x28, l2=»    CASE REGISTER^.ÆGTESKABELIGSTATUS OF«, l3=0x28}
0x11df…1207 Line {l1=0x26, l2=»      GIFT:     ÆSTATUS := 'GIFT    ';«, l3=0x26}
0x1207…122f Line {l1=0x26, l2=»      ENKE:     ÆSTATUS := 'ENKE    ';«, l3=0x26}
0x122f…1257 Line {l1=0x26, l2=»      FRASKILT: ÆSTATUS := 'FRASKILT';«, l3=0x26}
0x1257…127e Line {l1=0x25, l2=»      UNGKARL:  ÆSTATUS := 'UNGKARL';«, l3=0x25}
0x127e…1287 Line {l1=0x07, l2=»    END«, l3=0x07}
0x1287…12a2 Line {l1=0x19, l2=»  ELSE ÆSTATUS := '    ';«, l3=0x19}
0x12a2…12ac Line {l1=0x08, l2=»  REPEAT«, l3=0x08}
0x12ac…12b7 Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x12b7…12ef Line {l1=0x36, l2=»    WRITE( 'INDTAST ÆGTESKABELIG STATUS (G/F/E/U) ' );«, l3=0x36}
0x12ef…1305 Line {l1=0x14, l2=»    EDIT( ÆSTATUS );«, l3=0x14}
0x1305…130f Line {l1=0x08, l2=»    END;«, l3=0x08}
0x130f…133b Line {l1=0x2a, l2=»  UNTIL ÆSTATUS(1) IN (.'G','F','E','U'.);«, l3=0x2a}
0x133b…1341 Line {l1=0x04, l2=»END;«, l3=0x04}
0x1341…1344 Line {l1=0x01, l2=» «, l3=0x01}
            […0x1…]
0x1347…134e Line {l1=0x05, l2=»BEGIN«, l3=0x05}
0x134e…1376 Line {l1=0x26, l2=»REWRITE( REGISTER, 'PERSDATA:P2:10' );«, l3=0x26}
0x1376…138a Line {l1=0x12, l2=»FINISHED := FALSE;«, l3=0x12}
0x138a…1392 Line {l1=0x06, l2=»REPEAT«, l3=0x06}
0x1392…139b Line {l1=0x07, l2=»  BEGIN«, l3=0x07}
0x139b…13ab Line {l1=0x0e, l2=»  CLEARSCREEN;«, l3=0x0e}
0x13ab…13ba Line {l1=0x0d, l2=»  OK := TRUE;«, l3=0x0d}
0x13ba…13cb Line {l1=0x0f, l2=»  ENTERCOMMAND;«, l3=0x0f}
0x13cb…13e2 Line {l1=0x15, l2=»  IF OPKODE<>'A' THEN«, l3=0x15}
0x13e2…13ed Line {l1=0x09, l2=»    BEGIN«, l3=0x09}
0x13ed…13fb Line {l1=0x0c, l2=»    WRITELN;«, l3=0x0c}
0x13fb…1420 Line {l1=0x23, l2=»    WRITE( 'INDTAST POSTNUMMER ' );«, l3=0x23}
0x1420…1439 Line {l1=0x17, l2=»    READ( POSTNUMMER );«, l3=0x17}
0x1439…145c Line {l1=0x21, l2=»    SEEK( REGISTER, POSTNUMMER );«, l3=0x21}
0x145c…1475 Line {l1=0x17, l2=»    IF IORESULT<>0 THEN«, l3=0x17}
0x1475…1482 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x1482…149a Line {l1=0x16, l2=»      IOVAL:=IORESULT;«, l3=0x16}
0x149a…14cf Line {l1=0x33, l2=»      WRITE( 'FEJL ', IOVAL, ' VED OPSLAG I FIL' );«, l3=0x33}
0x14cf…14f0 Line {l1=0x1f, l2=»      WRITE(' - TAST RETURN:');«, l3=0x1f}
0x14f0…14ff Line {l1=0x0d, l2=»      READLN;«, l3=0x0d}
0x14ff…1512 Line {l1=0x11, l2=»      OK := FALSE«, l3=0x11}
0x1512…151e Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x151e…153f Line {l1=0x1f, l2=»    IF OK AND (OPKODE='R') THEN«, l3=0x1f}
0x153f…154c Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x154c…1564 Line {l1=0x16, l2=»      GET( REGISTER );«, l3=0x16}
0x1564…157f Line {l1=0x19, l2=»      IF IORESULT<>0 THEN«, l3=0x19}
0x157f…158e Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x158e…15cf Line {l1=0x3f, l2=»        WRITELN( 'FEJL ', IORESULT, ' VED INDLÆSNING AF POST');«, l3=0x3f}
0x15cf…15e4 Line {l1=0x13, l2=»        OK := FALSE«, l3=0x13}
0x15e4…15f1 Line {l1=0x0b, l2=»        END«, l3=0x0b}
0x15f1…161b Line {l1=0x28, l2=»      ELSE SEEK( REGISTER, POSTNUMMER );«, l3=0x28}
0x161b…1627 Line {l1=0x0a, l2=»      END;«, l3=0x0a}
0x1627…1637 Line {l1=0x0e, l2=»    IF OK THEN«, l3=0x0e}
0x1637…1644 Line {l1=0x0b, l2=»      BEGIN«, l3=0x0b}
0x1644…1662 Line {l1=0x1c, l2=»      WITH REGISTER^,NAVN DO«, l3=0x1c}
0x1662…1671 Line {l1=0x0d, l2=»        BEGIN«, l3=0x0d}
0x1671…16ab Line {l1=0x38, l2=»        ENTERSTRING('FORNAVN           ', FORNAVN, 30 );«, l3=0x38}
0x16ab…16e7 Line {l1=0x3a, l2=»        ENTERSTRING('EFTERNAVN         ', EFTERNAVN, 30 );«, l3=0x3a}
0x16e7…16fd Line {l1=0x14, l2=»        KODE := ' ';«, l3=0x14}
0x16fd…170d Line {l1=0x0e, l2=»        REPEAT«, l3=0x0e}
0x170d…171e Line {l1=0x0f, l2=»          BEGIN«, l3=0x0f}
0x171e…173c Line {l1=0x1c, l2=»          IF OPKODE='R' THEN«, l3=0x1c}
0x173c…1755 Line {l1=0x17, l2=»            CASE KØN OF«, l3=0x17}
0x1755…1779 Line {l1=0x22, l2=»              MAND:   KODE := 'M';«, l3=0x22}
0x1779…179d Line {l1=0x22, l2=»              KVINDE: KODE := 'K';«, l3=0x22}
0x179d…17c1 Line {l1=0x22, l2=»              UKENDT: KODE := 'U';«, l3=0x22}
0x17c1…17d3 Line {l1=0x10, l2=»            END;«, l3=0x10}
0x17d3…180b Line {l1=0x36, l2=»          ENTERSTRING('KØN (M/K/U)       ', KODE, 1 );«, l3=0x36}
0x180b…181b Line {l1=0x0e, l2=»          END;«, l3=0x0e}
0x181b…1846 Line {l1=0x29, l2=»        UNTIL KODE(1) IN (.'M','K','U'.);«, l3=0x29}
0x1846…185f Line {l1=0x17, l2=»        CASE KODE(1) OF«, l3=0x17}
0x185f…187c Line {l1=0x1b, l2=»          'M': KØN := MAND;«, l3=0x1b}
0x187c…189b Line {l1=0x1d, l2=»          'K': KØN := KVINDE;«, l3=0x1d}
0x189b…18ba Line {l1=0x1d, l2=»          'U': KØN := UKENDT;«, l3=0x1d}
0x18ba…18c8 Line {l1=0x0c, l2=»        END;«, l3=0x0c}
0x18c8…1901 Line {l1=0x37, l2=»        ENTERDATO( 'FØDSELSDATO       ', FØDSELSDATO );«, l3=0x37}
0x1901…1917 Line {l1=0x14, l2=»        ENTERSTATUS;«, l3=0x14}
0x1917…1933 Line {l1=0x1a, l2=»        CASE ÆSTATUS(1) OF«, l3=0x1a}
0x1933…194d Line {l1=0x18, l2=»          'G','E': BEGIN«, l3=0x18}
0x194d…198f Line {l1=0x40, l2=»                 IF ÆSTATUS(1)='G' THEN ÆGTESKABELIGSTATUS:=GIFT«, l3=0x40}
0x198f…19cf Line {l1=0x3e, l2=»                                ELSE ÆGTESKABELIGSTATUS:=ENKE;«, l3=0x3e}
0x19cf…1a02 Line {l1=0x31, l2=»                 WRITE( 'DATO FOR ÆGTESKABETS ');«, l3=0x31}
0x1a02…1a3f Line {l1=0x3b, l2=»                 ENTERDATO('INDGÅELSE         ',GIFTEDATO);«, l3=0x3b}
0x1a3f…1a54 Line {l1=0x13, l2=»               END;«, l3=0x13}
0x1a54…1a6a Line {l1=0x14, l2=»          'F': BEGIN«, l3=0x14}
0x1a6a…1a9a Line {l1=0x2e, l2=»                 ÆGTESKABELIGSTATUS:=FRASKILT;«, l3=0x2e}
0x1a9a…1ade Line {l1=0x42, l2=»                 ENTERDATO('SKILSMISSEDATO    ', SKILSMISSEDATO );«, l3=0x42}
0x1ade…1b25 Line {l1=0x45, l2=»                 ENTERINTEGER('ANTAL SKILSMISSER ',ANTALSKILSMISSER);«, l3=0x45}
0x1b25…1b3a Line {l1=0x13, l2=»               END;«, l3=0x13}
0x1b3a…1b50 Line {l1=0x14, l2=»          'U': BEGIN«, l3=0x14}
0x1b50…1b7f Line {l1=0x2d, l2=»                 ÆGTESKABELIGSTATUS:=UNGKARL;«, l3=0x2d}
0x1b7f…1b98 Line {l1=0x17, l2=»                 REPEAT«, l3=0x17}
0x1b98…1bb2 Line {l1=0x18, l2=»                   BEGIN«, l3=0x18}
0x1bb2…1be1 Line {l1=0x2d, l2=»                   WRITE('UAFHÆNGIG (J/N) ');«, l3=0x2d}
0x1be1…1c0b Line {l1=0x28, l2=»                   WHILE EOLN DO READLN;«, l3=0x28}
0x1c0b…1c2c Line {l1=0x1f, l2=»                   READ( SVAR )«, l3=0x1f}
0x1c2c…1c45 Line {l1=0x17, l2=»                   END;«, l3=0x17}
0x1c45…1c72 Line {l1=0x2b, l2=»                 UNTIL SVAR IN (.'J','N'.);«, l3=0x2b}
0x1c72…1c9d Line {l1=0x29, l2=»                 UAFHÆNGIG := SVAR = 'J';«, l3=0x29}
0x1c9d…1cb2 Line {l1=0x13, l2=»               END;«, l3=0x13}
0x1cb2…1cdc Line {l1=0x28, l2=»        END (*CASE ÆGTESKABELIGSTATUS*);«, l3=0x28}
0x1cdc…1cfd Line {l1=0x1f, l2=»        END (*WITH REGISTER^*);«, l3=0x1f}
0x1cfd…1d15 Line {l1=0x16, l2=»      PUT( REGISTER );«, l3=0x16}
0x1d15…1d2c Line {l1=0x15, l2=»      END  (*IF OK*);«, l3=0x15}
0x1d2c…1d46 Line {l1=0x18, l2=»    END (*OPKODE<>'A'*);«, l3=0x18}
0x1d46…1d60 Line {l1=0x18, l2=»  END (*REPEATSÆTNING*);«, l3=0x18}
0x1d60…1d73 Line {l1=0x11, l2=»UNTIL OPKODE='A';«, l3=0x11}
0x1d73…1d8d Line {l1=0x18, l2=»WRITELN('FILETEST SLUT')«, l3=0x18}
0x1d8d…1da0 Line {l1=0x11, l2=»END (*FILETEST*).«, l3=0x11}
0x1da0…1dc0 00 00 52 4f 47 52 41 4d 20 46 49 4c 45 54 45 53 54 3b 11 01 20 01 3c 20 20 20 20 20 20 20 28 2a   ┆  ROGRAM FILETEST;    <       (*┆
0x1dc0…1de0 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a   ┆********************************┆
0x1de0…1e00 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 29 3c 3c 20 20 20 20 20 20 20 28 2a 20 20   ┆******************)<<       (*  ┆
0x1e00…1e20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20   ┆                                ┆
0x1e20…1e40 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 29 3c 3c 20 20 20 20 20 20 20 28 2a 20 20 20 4f   ┆               *)<<       (*   O┆
0x1e40…1e60 50 52 45 54 54 45 4c 53 45 20 4f 47 20 41 4a 4f 55 52 46 5c 52 49 4e 47 20 41 46 20 50 45 52 53   ┆PRETTELSE OG AJOURFØRING AF PERS┆
0x1e60…1e80 4f 4e 4b 41 52 54 4f 54 45 4b 20 20 20 2a 29 3c 3c 20 20 20 20 20 20 20 28 2a 20 20 20 20 20 20   ┆ONKARTOTEK   *)<<       (*      ┆
0x1e80…1ea0 89 00 ae 02 9f ab 08 de a1 15 f0 00 c3 f1 7f c8 84 a1 05 f1 cc 0d b9 05 ae 22 00 cc 07 b9 02 ae   ┆                         "      ┆
0x1ea0…1ec0 22 de a1 14 e2 ab 19 c6 0e c6 0e bc 08 08 e3 e4 94 9c a0 08 bd 08 b9 0e e1 ae 1e df a1 05 1c ae   ┆"                               ┆
0x1ec0…1ee0 1e b9 03 01 cc 08 e0 a2 04 ef 9a e0 ab 08 b9 05 c7 89 00 ae 02 a7 11 01 cb ab 23 a7 23 93 a1 02   ┆                          # #   ┆
0x1ee0…1f00 ae 06 a7 23 a1 f0 a7 11 10 c3 a1 04 ae 06 b9 03 0c ae 02 df a1 2c c6 0e bc 08 08 00 b7 08 a1 1d   ┆   #                 ,          ┆
0x1f00…1f20 a7 45 a2 02 c6 0e bc 08 08 a0 08 bd 08 a7 45 01 9a a7 45 ab 0a 00 ab 09 ae 22 1c ae 1e 02 ab 09   ┆ E            E   E      "      ┆
0x1f20…1f40 b9 18 a7 45 a2 02 c6 0e bc 08 08 a0 08 bd 08 a7 45 01 9a a7 45 ab 0a 00 ab 09 b9 56 ac 9c 00 00   ┆   E            E   E      V    ┆
0x1f40…1f60 26 00 b9 4e 5e 02 04 00 06 00 08 00 bc 01 0c 00 0e 00 10 00 12 00 14 00 16 00 18 00 1a 00 1c 00   ┆&  N^                           ┆
0x1f60…1f80 1e 00 90 01 22 00 24 00 26 00 28 00 2a 00 2c 00 2e 00 30 00 32 00 34 00 36 00 38 00 3a 00 3c 00   ┆    " $ & ( * , . 0 2 4 6 8 : < ┆
0x1f80…1fa0 3e 00 40 00 42 00 44 00 46 00 48 02 39 02 2a 02 e3 01 a7 11 c6 01 bc 04 04 8b 93 a1 12 06 ae 02   ┆> @ B D F H 9 *                 ┆
0x1fa0…1fc0 c6 01 bc 04 04 a5 56 bc 04 04 9c a0 04 ae 0e b9 e8 ad 00 02 03 00 de 02 26 00 7e 00 c9 00 b8 01   ┆      V                 & ü     ┆
0x1fc0…1fe0 eb 00 ed 00 f4 00 24 00 08 00 19 00 14 03 43 05 c6 01 bc 04 04 b3 03 8b 80 00 00 00 00 00 03 9c   ┆      $       C                 ┆
0x1fe0…2000 a0 04 ce 43 a7 11 27 c3 a1 f0 ae 22 c6 05 a5 08 a8 05 a7 12 cc 0a ae 06 c6 01 bc 04 04 b3 03 01   ┆   C  '    "                    ┆
0x2000…2020 80 00 00 00 00 00 03 9c a0 04 ce 43 ae 22 dc 9f cb ef 9f cb 84 a1 f4 e1 b9 f6 dc a7 34 c3 ef a7   ┆           C "              4   ┆
0x2020…2040 34 c3 84 a1 05 0f ae 1e b9 30 c6 05 ae 40 dc a7 33 c3 ef a7 33 c3 84 a1 05 10 ae 1e b9 1c dc f9   ┆4        0   @  3   3           ┆
0x2040…2060 03 c3 dc ef 00 00 00 00 ae 12 84 a1 05 0c ae 1e b9 08 c7 86 00 ae 02 9f ab 08 b9 7e c6 05 ae 40   ┆                           ü   @┆
0x2060…2080 dc a7 33 c3 ef a7 33 c3 84 a1 05 07 ae 1e b9 08 c7 86 00 ae 02 9f ab 08 b9 60 dc a7 34 c3 ef a7   ┆  3   3                  `  4   ┆
0x2080…20a0 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┆
            […0x37…]

Reduced view