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

⟦8b4334fc4⟧ TextFile

    Length: 6240 (0x1860)
    Types: TextFile
    Notes: Mikados_K
    Names: »NBTMAIN.K«

Derivation

└─⟦a3d38fea3⟧ Bits:30008985 PRODUKTION NBT.
    └─⟦this⟧ »NBTMAIN.K« 

Mikados K File

PROCEDURE MAINTAIN;
 
VAR KARMPROFIL,
    RAMMEPROFIL,
    POST1,
    VKARM:INTEGER;
    RAMME16:AR116;
    VBESLAG:AR14;
    VBREDDE:AR13;
    VHØJDE:AR13;
    KBESLAG,
    KFORSTÆRK:AR14;
    KVREGEL,
    KLREGEL:AR13;
    FARVEKODE,
    FARVENR:DOBBTAL;
    GLASKODE,
    GLASNR:AR13;
    GLASTYPE:INTEGER;
    J:INTEGER;
 
 
BEGIN
 
ÅBEN;
POS:=1;NULLER(1):=0;NULLER(2):=0;
REPEAT
BEGIN
  OLINIE.ORDRENR:=ORDRENUM;OLINIE.POSITION:=POS;KGUMMI:=NULLER;PLACERING:=0;
  GETREC(OLIZ.H,OLIF,OLINIE.A);
  IF (IER<>0) AND (IER<>-6) THEN IOF (OLIZ.H.FILENAME);
  IF IER=0 THEN
  BEGIN
    CLEARSCREEN;
    GOTOXY(15,12);
    WRITELN('Nu behandles ordrenr: ',ORDRENUM:4,' Positionsnr: ',POS:3);
    IF OLINIE.VINDUENR>0 THEN
    BEGIN
      CHECKBH (OLINIE.BREDDE);CHECKBH(OLINIE.HØJDE);
      HENTKOMBI(KARMPROFIL,RAMMEPROFIL,POST1,FILER(1));
      HENTVINDUE(VKARM,RAMME16,VBESLAG,VBREDDE,VHØJDE,FILER(2));
      HENTKARM(VKARM,KBESLAG,KFORSTÆRK,KVREGEL,KLREGEL,FILER(3));
      BESTEMGLAS(GLASKODE,GLASNR);
      KPROFIL.NR:=KARMPROFIL;
      GETREC(PROZ.H,PROF,KPROFIL.A);
      IF IER<>0 THEN IOF(PROZ.H.FILENAME);
      KPPROFIL.NR:=POST1;
      GETREC(PROZ.H,PROF,KPPROFIL.A);
      IF IER<>0 THEN IOF(PROZ.H.FILENAME);
      BESTEMFARVE(FARVEKODE,FARVENR,FILER(4));
      FOR I1:=1 TO 16 DO
      BEGIN
        RAMME.NR:=RAMME16(I1);
        IF RAMME.NR>19 THEN
        BEGIN
          GETREC(RAMZ.H,RAMF,RAMME.A);
          IF IER<>0 THEN IOF(RAMZ.H.FILENAME);
          GOTOXY(15,14);
          WRITELN('Rammenr: ',I1);
          DK:=KPROFIL.DIM(1); DKP:=KPPROFIL.DIM(1);
          IF RAMME.TYP=3 THEN
          BEGIN
            DK:=KPROFIL.DIM(2);
            DKP:=KPPROFIL.DIM(2);
          END;
UDSKRIV(7,BREDDE);
UDSKRIV(7,DK);
UDSKRIV(7,DKP);
          REGN(BREDDE,I1,1,(I1-1)MOD 4+1,OLINIE.BLAMBRED,OLINIE.BREDDE,
               VBREDDE,RAMME16);
UDSKRIV(7,BREDDE);
          REGN(HØJDE,I1,4,(I1+3)DIV 4,OLINIE.BLAMHØJD,OLINIE.HØJDE,VHØJDE,
               RAMME16);
          J:=1;
          WHILE (I1<>OLINIE.RAMMENR(J)) AND (J<3) DO J:=J+1;
          IF RAMME.TYP=3 THEN
          BEGIN
            TILBEHØR.NR:=KARMPROFIL;TILBEHØR.GLASKODE:=GLASKODE(J);
            GETREC(TILZ.H,TILF,TILBEHØR.A);
            IF IER<>0 THEN IOF(TILZ.H.FILENAME);
            FAKODE:=FARVEKODE(1);GLASTYPE:=3;KGUMMI:=TILBEHØR.GLASGUM;
            FANR:=FARVENR(1);
          END
          ELSE
          BEGIN
            TILBEHØR.NR:=RAMMEPROFIL;TILBEHØR.GLASKODE:=GLASKODE(J);
            GETREC(TILZ.H,TILF,TILBEHØR.A);
            IF IER<>0 THEN IOF(TILZ.H.FILENAME);
            GENER2(6,KPROFIL.TÆTGUM,BREDDE,HØJDE); (*KARMTÆTNING*)
            RPROFIL.NR:=RAMMEPROFIL;
            GETREC(PROZ.H,PROF,RPROFIL.A);
            IF IER<>0 THEN IOF(PROZ.H.FILENAME);
            GENER2(7,RPROFIL.TÆTGUM,BREDDE,HØJDE); (*RAMMETÆTNING*)
            FAKODE:=FARVEKODE(2);GLASTYPE:=2;FANR:=FARVENR(2);
            BESTEMFORSTÆRKNING;
            MÅL:=BREDDE;STÆRKR1:=RAMME.VREGEL(REGELNR);
            STÆRKR2:=RAMME.LREGEL(REGELNR);STÆRKR:=STÆRKR1;
            PROFILBEHANDLING(HØJDE,RAMME.FORSTÆRK,RPROFIL.FORSTÆR,
                             RAMME.BESLAG,RAMMEPROFIL,RPROFIL.TÆTGUM,
                             TILBEHØR.GLASGUM); (*RAMMEPROFILER*)
            BREDDE:=BREDDE-2*RPROFIL.DIM(1);HØJDE:=HØJDE-2*RPROFIL.DIM(1);
          END;
          PLACERING:=20;TYPE1:=NULLER;TYPE2:=0;
          GENER1(0,TILBEHØR.GLASLIST,BREDDE,HØJDE,0,TILBEHØR.GLASLGUM,NULLER)
                                                   ; (*GLASLISTE*)
          GENER2(9,TILBEHØR.GLASGUM,BREDDE,HØJDE);   (*GLASGUMMI*)
          GPROFIL.NR:=TILBEHØR.GLASLIST;
          GETREC(PROZ.H,PROF,GPROFIL.A);
          IF IER<>0 THEN IOF(PROZ.H.FILENAME);
          BREDDE:=BREDDE-2*GPROFIL.DIM(1);HØJDE:=HØJDE-2*GPROFIL.DIM(1);
          TYPE1(1):=0;TYPE1(2):=GLASNR(J);
          GENER2(8,TILBEHØR.GLASLGUM,BREDDE,HØJDE);   (*GLASLISTEGUMMI*)
          GENER2(GLASTYPE,TYPE1,BREDDE,HØJDE);
        END;
      END;
      I1:=0;FANR:=FARVENR(1);FAKODE:=FARVEKODE(1);
      BESTEMFORSTÆRKNING;
      MÅL:=OLINIE.BLAMBRED;STÆRKR1:=KVREGEL(REGELNR);
      STÆRKR2:=KLREGEL(REGELNR);STÆRKR:=STÆRKR1;
      PROFILBEHANDLING(OLINIE.BLAMHØJD,KFORSTÆRK,KPROFIL.FORSTÆR,
                       KBESLAG,KARMPROFIL,KPROFIL.TÆTGUM,KGUMMI);
                       (*KARMPROFILER*)
      BESTEMFORSTÆRKNING;
      FOR PLACERING:=5 TO 19 DO
      BEGIN
        TYPE1:=NULLER;TYPE2:=0;
        POST.KARMNR:=VKARM;POST.NR:=PLACERING-4;
        GETREC(POSZ.H,POSF,POST.A);
        IF (IER<>0) AND (IER<>-6) THEN IOF(POSZ.H.FILENAME);
        IF IER=0 THEN
        BEGIN
          IF POST.VANDLOD=0 THEN
            POSTBEREGN(OLINIE.BREDDE,OLINIE.BLAMBRED)
          ELSE
            POSTBEREGN(OLINIE.HØJDE,OLINIE.BLAMHØJD);
          MÅL:=LÆNGDE;STÆRKR:=POST.FORSTÆRK(REGELNR);
          STÆRKNING;
          TYPE1:=KPPROFIL.FORSTÆR(TYPER);
          GENER2(4,TYPE1,0,LÆNGDE);    (*FORSTÆRKNING*)
          GENER1(0,POST1,LÆNGDE,MÅL,0,NULLER,NULLER);
                                       (*POSTPROFIL*)
        END
        ELSE
          IER:=0;
      END;
      POS:=POS+1;
    END;
    END;
  END;
  UNTIL (IER=-6) OR (POS=100);
  LUK;
END;

Full view