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

⟦0b231a955⟧ TextFile

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

Derivation

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

Mikados K File

PROCEDURE MAINTAIN;
BEGIN
 
POS:=1;KGUMMI:=NULLER;
REPEAT
BEGIN
  OLINIE.ORDRENR:=ORDRENUM;OLINIE.POSITION:=POS;
  GETREC(OLIZ.H,OLIF,OLINIE.A);
  IF (IER<>0) AND (IER<>-6) THEN IOF (IER,OLIZ.H.FILENAME);
  IF IER=0 THEN
  BEGIN
    IF OLINIE.VINDUENR>0 THEN
      CHECKBH (OLINIE.BREDDE);CHECKBH(OLINIE.HØJDE);
      KOMBI.NR:=OLINIE.VINDUENR DIV 1000;
      GETREC(KOMZ.H,KOMF,KOMBI.A);
      IF IER<>0 THEN IOF(IER,KOMZ.H.FILENAME);
      VINDUE.NR:=OLINIE.VINDUENR MOD 1000;
      GETREC(VINZ.H,VINF,VINDUE.A);
      IF IER<>0 THEN IOF(IER,VINZ.H.FILENAME);
      KPROFIL.NR:=KOMBI.KARMPROFIL;
      GETREC(PROZ.H,PROF,KPROFIL.A);
      IF IER<>0 THEN IOF(IER,PROZ.H.FILENAME);
      KPPROFIL.NR:=KOMBI.POST1;
      GETREC(PROZ.H,PROF,KPPROFIL.A);
      IF IER<>0 THEN IOF(IER,PROZ.H.FILENAME);
      BESTEMFARVE;
      FOR I1:=1 TO 16 DO
      BEGIN
        RAMME.NR:=VINDUE.RAMME(I1);
        IF RAMME.NR>19 THEN
        BEGIN
          GETREC(RAMZ.H,RAMF,RAMME.A);
          IF IER<>0 THEN IOF(IER,RAMZ.H.FILENAME);
          DK:=KPROFIL.DIM(1); DKP:=KPPROFIL.DIM(1);
          IF RAMME.TYP=3 THEN DK:=KPROFIL.DIM(2);DKP:=KPPROFIL.DIM(2);
          Z:=(I1-1) MOD 4+1;I:=1;
          BEREGN(I1,BREDDE,I,Z,OLINIE.BLAMBRED,OLINIE.BREDDE,VINDUE.BREDDE,
                 VINDUE.RAMME);
          Z:=(I1+3) DIV 4;I:=4;
          BEREGN(I1,HØJDE,I,Z,OLINIE.BLAMHØJD,OLINIE.HØJDE,VINDUE.HØJDE,
                 VINDUE.RAMME);
          BESTEMGLAS;
          IF RAMME.TYP=3 THEN
          BEGIN
            TILBEHØR.NR:=KOMBI.KARMPROFIL;TILBEHØR.GLASKODE:=GLASKODE;
            GETREC(TILZ.H,TILF,TILBEHØR.A);
            IF IER<>0 THEN IOF(IER,TILZ.H.FILENAME);
            FAKODE:=FAKODE1;GLASTYPE:=3;KGUMMI:=TILBEHØR.GLASGUM;FANR:=FANR1;
          END
          ELSE
          BEGIN
            TILBEHØR.NR:=KOMBI.RAMMEPROFIL;TILBEHØR.GLASKODE:=GLASKODE;
            GETREC(TILZ.H,TILF,TILBEHØR.A);
            IF IER<>0 THEN IOF(IER,TILZ.H.FILENAME);
            GENER2(6,KPROFIL.TÆTGUM,BREDDE,HØJDE); (*KARMTÆTNING*)
            RPROFIL.NR:=KOMBI.RAMMEPROFIL;
            GETREC(PROZ.H,PROF,RPROFIL.A);
            IF IER<>0 THEN IOF(IER,PROZ.H.FILENAME);
            GENER2(7,RPROFIL.TÆTGUM,BREDDE,HØJDE); (*RAMMETÆTNING*)
            FAKODE:=FAKODE2;GLASTYPE:=2;FANR:=FANR2;
            BESTEMFORSTÆRKNING;
            MÅL:=BREDDE;STÆRKR1:=RAMME.VREGEL(REGELNR);
            STÆRKR2:=RAMME.LREGEL(REGELNR);STÆRKR:=STÆRKR1;
            FOR PLACERING:=1 TO 4 DO
            BEGIN
              TYPE1:=NULLER;TYPE2:=0;LÆNGDE:=0;
              IF PLACERING=3 THEN
              BEGIN
                MÅL:=HØJDE;
                STÆRKR:=STÆRKR2;
              END;
              IF RAMME.FORSTÆRK(PLACERING)=1 THEN
              BEGIN
                STÆRKNING;
                TYPE1:=RPROFIL.FORSTÆR(TYPER);
                GENER2(4,TYPE1,0,LÆNGDE);            (*FORSTÆRKNING*)
              END;
              IF RAMME.BESLAG(PLACERING)>0 THEN
              BEGIN
                BESLAGNING(RAMME.BESLAG(PLACERING));
                TYPE3:=NULLER;TYPE3(2):=TYPE2;
                GENER2(5,TYPE3,0,0)                  (*BESLAG*)
              END;
              GENER1(0,KOMBI.RAMMEPROFIL,LÆNGDE,MÅL,0,RPROFIL.TÆTGUM,
                     TILBEHØR.GLASGUM)               (*RAMMEPROFIL*)
            END;
            BREDDE:=BREDDE-2*RPROFIL.DIM(1);HØJDE:=HØJDE-2*RPROFIL.DIM(1);
          END;
          PLACERING:=20;
          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(IER,PROZ.H.FILENAME);
          BREDDE:=BREDDE-2*GPROFIL.DIM(1);HØJDE:=HØJDE-2*GPROFIL.DIM(1);
          TYPE1(1):=0;TYPE1(2):=GLASNR;
          GENER2(8,TILBEHØR.GLASGUM,BREDDE,HØJDE);   (*GLASLISTEGUMMI*)
          GENER2(GLASTYPE,TYPE1,BREDDE,HØJDE);
        END;
      END;
      KARM.NR:=VINDUE.KARMNR;
      GETREC(KARZ.H,KARF,KARM.A);
      IF IER<>0 THEN IOF(IER,KARZ.H.FILENAME);
      I1:=0;FANR:=FANR1;FAKODE:=FAKODE1;
      BESTEMFORSTÆRKNING;
      MÅL:=OLINIE.BLAMBRED;STÆRKR1:=KARM.VREGEL(REGELNR);
      STÆRKR2:=KARM.LREGEL(REGELNR);STÆRKR:=STÆRKR1;
      FOR PLACERING:=1 TO 4 DO
      BEGIN
        TYPE1:=NULLER;TYPE2:=0;LÆNGDE:=0;
        IF PLACERING=3 THEN
        BEGIN
          MÅL:=OLINIE.BLAMHØJD;
          STÆRKR:=STÆRKR2;
        END;
        IF KARM.FORSTÆRK(PLACERING)=1 THEN
        BEGIN
          STÆRKNING;
          TYPE1:=KPROFIL.FORSTÆR(TYPER);
          GENER2(4,TYPE1,0,LÆNGDE);    (*FORSTÆRKNING*)
        END;
        IF KARM.BESLAG(PLACERING)>0 THEN
        BEGIN
          BESLAGNING;
          TYPE3:=NULLER;TYPE3(2):=TYPE2;
          GENER2(5,TYPE3,0,0);         (*BESLAG*)
        END;
        GENER1(0,KOMBI.KARMPROFIL,LÆNGDE,MÅL,0,KPROFIL.TÆTGUM,KGUMMI);
                                       (*KARMPROFIL*)
      END;
      BESTEMFORSTÆRKNING;
      FOR PLACERING:=5 TO 19 DO
      BEGIN
        TYPE1:=NULLER;TYPE2:=0;
        POST.KARM:=KARM.NR;POST.NR:=PLACERING-4;
        GETREC(POSZ.H,POSF,POST.A);
        IF (IER<>0) AND (IER<>-6) THEN IOF(IER,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:=KPROFIL.FORSTÆR(TYPER);
          GENER2(4,TYPE1,0,LÆNGDE)     (*FORSTÆRKNING*)
          GENER1(0,KOMBI.POST1,LÆNGDE,MÅL,O,NULLER,NULLER);
                                       (*POSTPROFIL*)
        END;
      END;
      POS:=POS+1;
    END;
  END;
  UNTIL (IER=-6) OR (POS=100);
END;
END;

Full view