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

⟦a074dca65⟧ TextFile

    Length: 8736 (0x2220)
    Types: TextFile
    Notes: Mikados_K
    Names: »SYSVEDL.K«

Derivation

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

Mikados K File

PROGRAM SYSVEDL;
TYPE
SYSPOST=RECORD
(*DATO1,DATO2,
  UGENR,
  MAXEXC,
  ORDRENR1-2,
  FAKTNR1-2,
  KREDNTNR1-2,
  BILAGSNR1-2,JOURFILNR,MOMS,
  KASSFILNR,KASSJOURFILNR,KASSSID,
  FAKJOURNR,POSTJOURNR,LA1-5*)
                                   HELTAL: ARRAY (1..24) OF INTEGER;
  KGB:ARRAY (1..5) OF REAL;
  BETADAT:PACKED ARRAY (1..13) OF CHAR;
(*KIKKODE,ÆNDKODE*) KODE:ARRAY (1..2) OF PACKED ARRAY (1..10) OF CHAR
END;
SYSFILE=FILE OF SYSPOST;
VAR I,J:INTEGER;
       R:REAL;
       FILNAVN:STRING(20);
       TEKST:STRING(13);
       F:SYSFILE;
       QUQ:^INTEGER;
PROCEDURE PRSYSOPL;
BEGIN
WITH F^ DO
BEGIN
  CLEARSCREEN;
  GOTOXY(1,1);
  WRITELN('1  DATO',' ':26,HELTAL(1)*10000.0+HELTAL(2):10:-2);
  WRITELN('2  UGENR',' ':25,HELTAL(3):10);
  WRITELN('3  MAXEXCESS-KUNDEREG',' ':12,HELTAL(4):10);
  WRITELN('4  ORDRENR',' ':23,HELTAL(5)*10000.0+HELTAL(6):10:-2);
  WRITELN('5  FAKTURANR',' ':21,HELTAL(7)*10000.0+HELTAL(8):10:-2);
  WRITELN('6  KREDITNOTANR',' ':18,HELTAL(9)*10000.0+HELTAL(10):10:-2);
  WRITELN('7  BILAGSNR',' ':22,HELTAL(11)*10000.0+HELTAL(12):10:-2);
  WRITELN('8  JOURNALFILNR',' ':18,HELTAL(13):10);
  WRITELN('9  MOMS',' ':26,HELTAL(14)/100:10:2);
  WRITELN('10 KASSRAPFILNR',' ':18,HELTAL(15):10);
  WRITELN('11 KASJOURFILNR',' ':18,HELTAL(16):10);
  WRITELN('12 KASSRAPSIDNR',' ':18,HELTAL(17):10);
  WRITELN('13 FAKJOURSIDNR',' ':18,HELTAL(18):10);
  WRITELN('14 KASJOURSIDNR',' ':18,HELTAL(19):10);
  WRITELN('15 KASSE',' ':25,KGB(1)/100:10:2);
  WRITELN('16 BANK',' ':26,KGB(2)/100:10:2);
  WRITELN('17 GIRO',' ':26,KGB(3)/100:10:2);
  WRITELN('18 RABAT',' ':25,KGB(4)/100:10:2);
  WRITELN('19 RENTE',' ':25,KGB(5)/100:10:2);
  WRITELN('20 BETALINGSDATO',' ':17,BETADAT);
  WRITE('21 KIKKEKODE',' ':21);
  IF FILNAVN='KLAUS-KLUDDER' THEN WRITELN(KODE(1)) ELSE WRITELN;
  WRITE('22 PILLEKODE',' ':21);
  IF FILNAVN='KLAUS-KLUDDER' THEN WRITELN(KODE(2)) ELSE WRITELN
END
END;
PROCEDURE ININT(I,J,INDEX,MIN,MAX:INTEGER);
VAR K:INTEGER;
BEGIN
  REPEAT
       GOTOXY(I,J);READLN;READ(K)
  UNTIL (IORESULT=0) AND (K>=MIN) AND (K<=MAX);
  F^.HELTAL(INDEX):=K
END;
PROCEDURE INREAL(I,J,INDEX1,INDEX2:INTEGER;MIN,MAX:REAL);
VAR R:REAL;
BEGIN
  REPEAT
       GOTOXY(I,J);READLN;READ(R)
  UNTIL (IORESULT=0) AND (R>=MIN) AND (R<=MAX);
  F^.HELTAL(INDEX1):=TRUNC(R/10000.0);
  F^.HELTAL(INDEX2):=TRUNC(R-F^.HELTAL(INDEX1)*10000.0)
END;
PROCEDURE SYSOPL(O:INTEGER);
BEGIN
WITH F^ DO
BEGIN
  CASE O OF
1: BEGIN
       GOTOXY(1,1);
       WRITELN('1  DATO');
       INREAL(30,1,1,2,800000.0,990000.0)
   END;
2: BEGIN
       GOTOXY(1,2);
       WRITELN('2  UGENR');
       ININT(30,2,3,1,53)
   END;
3: BEGIN
       GOTOXY(1,3);
       WRITELN('3  MAXEXCESS-KUNDEREG');
       ININT(30,3,4,0,1000)
   END;
4: BEGIN
       GOTOXY(1,4);
       WRITELN('4  ORDRENUMMER');
       INREAL(30,4,5,6,0.0,10000000.0)
   END;
5: BEGIN
       GOTOXY(1,5);
       WRITELN('5  FAKTURANR');
       INREAL(30,5,7,8,0.0,10000000.0)
   END;
6: BEGIN
       GOTOXY(1,6);
       WRITELN('6  KREDITNOTANR');
       INREAL(30,6,9,10,0.0,10000000.0)
   END;
7: BEGIN
       GOTOXY(1,7);
       WRITELN('7  BILAGSNR');
       INREAL(30,7,11,12,0.0,10000000.0)
   END;
8: BEGIN
       GOTOXY(1,8);
       WRITELN('8  JOURNALFILNR');
       ININT(30,8,13,1,1000)
   END;
20: BEGIN
       GOTOXY(1,20);
       WRITELN('20 BETALINGSDATO');
       REPEAT
         GOTOXY(30,20);
         READLN;READ(TEKST)
       UNTIL IORESULT=0;
       FOR I:=1 TO 13 DO BETADAT(I):=' ';
       FOR I:=1 TO LENGTH(TEKST) DO BETADAT(I):=TEKST(I)
   END;
9: BEGIN
       GOTOXY(1,9);
       WRITELN('9  MOMS');
       REPEAT
         GOTOXY(30,9);
         READLN;READ(R)
       UNTIL (IORESULT=0) AND (R>=0) AND (R<=100);
       HELTAL(14):=TRUNC(R*100)
    END;
21: BEGIN
       GOTOXY(1,21);
       WRITELN('21 KIKKEKODE');
       REPEAT
         GOTOXY(30,21);
         READLN;READ(TEKST)
       UNTIL (IORESULT=0) AND (LENGTH(TEKST)<11);
       FOR I:=1 TO 10 DO KODE(1,I):=' ';
       FOR I:=1 TO LENGTH(TEKST) DO KODE(1,I):=TEKST(I)
    END;
22: BEGIN
       GOTOXY(1,22);
       WRITELN('22 PILLEKODE');
       REPEAT
         GOTOXY(30,22);
         READLN;READ(TEKST)
       UNTIL (IORESULT=0) AND (LENGTH(TEKST)<11);
       FOR I:=1 TO 10 DO KODE(2,I):=' ';
       FOR I:=1 TO LENGTH(TEKST) DO KODE(2,I):=TEKST(I)
    END;
10: BEGIN
       GOTOXY(1,10);
       WRITELN('10 KASSRAPFILNR');
       ININT(30,10,15,1,1000)
    END;
11: BEGIN
       GOTOXY(1,11);
       WRITELN('11 KASJOURFILNR');
       ININT(30,11,16,1,1000)
    END;
12: BEGIN
       GOTOXY(1,12);
       WRITELN('12 KASSRAPSIDNR');
       ININT(30,12,17,1,10000)
    END;
13: BEGIN
       GOTOXY(1,13);
       WRITELN('13 FAKJOURSIDNR');
       ININT(30,13,18,1,10000)
    END;
14: BEGIN
       GOTOXY(1,14);
       WRITELN('14 KASJOURSIDNR');
       ININT(30,14,19,1,10000)
    END;
15: BEGIN
       GOTOXY(1,15);
       WRITELN('15 KASSE');
       REPEAT
         GOTOXY(30,15);READLN;READ(KGB(1))
       UNTIL IORESULT=0;
       KGB(1):=100*KGB(1)
    END;
16: BEGIN
       GOTOXY(1,16);
       WRITELN('16 BANK');
       REPEAT
         GOTOXY(30,16);READLN;READ(KGB(2))
       UNTIL IORESULT=0;
       KGB(2):=100*KGB(2)
    END;
17: BEGIN
       GOTOXY(1,17);
       WRITELN('17 GIRO');
       REPEAT
         GOTOXY(30,17);READLN;READ(KGB(3))
       UNTIL IORESULT=0;
       KGB(3):=100*KGB(3)
    END;
18: BEGIN
       GOTOXY(1,18);
       WRITELN('18 RABAT');
       REPEAT
         GOTOXY(30,18);READLN;READ(KGB(4))
       UNTIL IORESULT=0;
       KGB(4):=100*KGB(4)
    END;
19: BEGIN
       GOTOXY(1,19);
       WRITELN('19 RENTE');
       REPEAT
         GOTOXY(30,19);READLN;READ(KGB(5))
       UNTIL IORESULT=0;
       KGB(5):=100*KGB(5)
    END;
 END
END;
END;
BEGIN
  FILNAVN:='SYSREG:P2:1:I';
  REWRITE(F,FILNAVN);
  SEEK(F,1);
  GET(F);
  CLEARSCREEN;
  REPEAT
    GOTOXY(1,1);
    WRITELN('OPRETTE, KIKKE ELL. ÆNDRE  (1/2/3)');
    GOTOXY(40,1);
    READLN;READ(I)
  UNTIL (IORESULT=0) AND (I>0) AND (I<4);
  CASE I OF
  1:BEGIN
      CLEARSCREEN;
      FOR J:=1 TO 22 DO SYSOPL(J);
      SEEK(F,1);
      PUT(F)
    END;
  2:BEGIN
      REPEAT
        GOTOXY(1,2);
        WRITELN('ADGANGSKODE');
        GOTOXY(20,2);READLN;READ(FILNAVN)
      UNTIL IORESULT=0;
      PRSYSOPL
    END;
  3:BEGIN
      REPEAT
        GOTOXY(1,2);
        WRITELN('ADGANGSKODE');
        GOTOXY(20,2);READLN;READ(FILNAVN)
      UNTIL IORESULT=0;
      PRSYSOPL;
      REPEAT
      REPEAT
        GOTOXY(1,23);
        WRITELN('HVILKET FELT SKAL ÆNDRES, 0 FOR SLUT');
        GOTOXY(40,23);READLN;READ(I)
      UNTIL (IORESULT=0) AND (I>=0) AND (I<23);
      CASE I OF
1,2,20: SYSOPL(I);
9,21,22: IF FILNAVN='KLAUS-KLUDDER' THEN SYSOPL(I);
3,4,5,6,7,8,10,11,12,13,14,15,16,17,18,19:BEGIN
               GOTOXY(1,23);
               WRITELN('ÆNDRING IKKE TILLADT, TRYK RETURN NÅR FORSTÅET');
               GOTOXY(40,23);
               READLN;READ(J);
               IF J=4711 THEN SYSOPL(I)
            END;
      END;
      UNTIL I=0;
      SEEK(F,1);
      PUT(F)
    END
  END;
  CLOSE(F);
  CHAIN('INTRE   *1','HOVSA:P1',QUQ)
END.

Full view