DataMuseum.dk

Presents historical artifacts from the history of:

CP/M

This is an automatic "excavation" of a thematic subset of
artifacts from Datamuseum.dk's BitArchive.

See our Wiki for more about CP/M

Excavated with: AutoArchaeologist - Free & Open Source Software.


top - download

⟦52ebdbff9⟧ TextFile

    Length: 8960 (0x2300)
    Types: TextFile
    Names: »PRINTKIT.PRG«

Derivation

└─⟦71c82d5c0⟧ Bits:30004214 LISTAID - Partslist management system
    └─ ⟦this⟧ »PRINTKIT.PRG« 

TextFile

*******************************************************************************
*DESIGN NIF/ASD/SEPTEMBER 1985
*******************************************************************************
*
*PROCEDURE PRINTKIT CALLED FROM PFIL

GO TOP
SET TALK OFF
SET FORMAT TO PRINT
EJECT
STORE CHR(30)-CHR(31) TO MHEADW
@ 1,1 SAY MHEADW
SET FORMAT TO SCREEN
ERASE
STORE N TO SOTS
@ 10,10 SAY 'PLEASE ADJUST TO TOP OF FORM'
@ 12,10 SAY 'DO YOU WANT SOTKITS APPENDED (Y/N)? ' GET  SOTS
READ
@ 12,10 SAY 'PRINTING KIT-LIST                               '
SET FORMAT TO PRINT
SET MARGIN TO 1
STORE 63 TO RIGHT
*******************************************************************************
*OUTPUT REPORTHEADER

@  8,1 SAY 'DATE: '+DATO
@ 10,1 SAY '****************************************************************'
@ 11,1 SAY '**                                                            **'
@ 12,1 SAY '** KITLIST                                                    **'
@ 13,1 SAY '**                                                            **'
@ 14,1 SAY '** UNIT: '+UNITNAME+'    CONFIGURATION_FILE: '+CONFIGNAME
@ 14,RIGHT SAY '**'
@ 15,1 SAY '**------------------------------------------------------------**'
@ 16,1 SAY '**                                                            **'
@ 17,1 SAY '** COMPONENTS CONTAINED IN FILE: '+OPERDBF
@ 17,RIGHT SAY '**'
@ 18,1 SAY '**                                                            **'
@ 19,1 SAY '****************************************************************'
@ 20,1 SAY PRINTCTR
*******************************************************************************
RELEASE RIGHT,MHEADW
   STORE CHR(149) TO HY
   STORE HY+HY+HY+HY+HY TO LINE
   STORE LINE+LINE+LINE+LINE+LINE+LINE+HY TO LINE31
   STORE CHR(152)+LINE+CHR(145)+LINE+CHR(145)+LINE31+CHR(145) TO TOPLINE
   STORE TOPLINE+$(LINE31,1,15)+CHR(145)+$(LINE31,1,12)+CHR(145) TO TOPLINE
   STORE TOPLINE+$(LINE31,1,24)+CHR(153) TO TOPLINE
   STORE CHR(147)+LINE+CHR(143)+LINE+CHR(143)+LINE31+CHR(143) TO MIDLINE
   STORE MIDLINE+$(LINE31,1,15)+CHR(143)+$(LINE31,1,12)+CHR(143) TO MIDLINE
   STORE MIDLINE+$(LINE31,1,24)+CHR(146) TO MIDLINE
   STORE CHR(154)+LINE+CHR(144)+LINE+CHR(144)+LINE31+CHR(144) TO BOTLINE
   STORE BOTLINE+$(LINE31,1,15)+CHR(144)+$(LINE31,1,12)+CHR(144) TO BOTLINE
   STORE BOTLINE+$(LINE31,1,24)+CHR(155) TO BOTLINE
   STORE CHR(150) TO I
   STORE I+'ITEM '+I+' QTY.'+I+' DESCRIPTION                   '+I TO COLH1
   STORE COLH1+' LOT NUMBER    '+I+' IDENTIFIKAT'+I TO COLH1
   STORE COLH1+' REMARKS                '+I TO COLH1
   STORE I+' NO. '+I+' MGD.'+I+' BESKRIVELSE                   '+I TO COLH2
   STORE COLH2+' DATOKODE      '+I+' (IKR/ETC.) '+I TO COLH2
   STORE COLH2+' BEMÆRKNINGER           '+I TO COLH2
   STORE I+'     '+I+'     '+I+'                               '+I TO BROW
   STORE BROW+'               '+I+'            '+I TO BROW 
   STORE BROW+'                        '+I TO BROW 
   STORE I+'               '+I+'            '+I TO TAIL 
   STORE TAIL+'                        '+I TO TAIL 
   RELEASE HY,LINE,LINE31
   SET MARGIN TO 5
   EJECT
   STORE 43 TO ROWTRESH
   STORE PINIT TO PAGE
   STORE LEN(TOPLINE)-30 TO RIGHT
   DO WHILE .NOT.EOF
      STORE 1 TO COLUMN
      @ 5,1 SAY HEAD1L USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      @ 5,RIGHT SAY HEAD1R USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      @ 6,1 SAY HEAD2L USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      @ 6,RIGHT SAY HEAD2R USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      @ 7,1 SAY HEAD3L USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
      IF PAGE>0
         @ 7,RIGHT SAY '                       PAGE '+STR(PAGE,2)
      ELSE
         @ 7,RIGHT SAY '                       PAGE '
      ENDIF
      STORE 9 TO ROW
      @ ROW,COLUMN SAY TOPLINE   
      STORE ROW+1 TO ROW
      @ ROW,COLUMN SAY COLH1 
      STORE ROW+1 TO ROW
      @ ROW,COLUMN SAY COLH2
      STORE ROW+1 TO ROW
      @ ROW,COLUMN SAY MIDLINE
      STORE ROW+1 TO ROW
      @ ROW,COLUMN SAY MIDLINE
      STORE ROW+1 TO ROW
      @ ROW,COLUMN SAY BROW
      STORE ROW+1 TO ROW
      STORE 1 TO ITEM
      STORE 0 TO ENDPOS
      DO WHILE (ROWTRESH-ROW>(ENDPOS/24)+5).AND..NOT.EOF
         STORE 0 TO LASTPOS
         STORE @('.',REF:DES) TO ENDPOS
         IF ENDPOS=0.AND.'$'$REF:DES
            STORE @('$',REF:DES) TO ENDPOS
            STORE T TO CHAIN
         ELSE
            STORE F TO CHAIN
         ENDIF
         STORE I+'  '+STR(ITEM,1)+'. '+I+STR(COUNTER,5)+I TO PRINTSTR1
         STORE ITEM+1 TO ITEM
         DO WHILE LASTPOS<=ENDPOS
            STORE $(REF:DES,LASTPOS+1,30) TO PRINTSTR2
            IF LASTPOS+30<ENDPOS
               STORE @(',',$(PRINTSTR2,24,7)) TO CURPOS
               STORE LASTPOS+23+CURPOS TO LASTPOS
               STORE CHR(27)+CHR(67)+$(PRINTSTR2,1,23+CURPOS)+CHR(27)+CHR(68);
TO PRINTSTR2
            ELSE
               IF CHAIN
                  STORE @('$',PRINTSTR2) TO MERG
                  STORE $(PRINTSTR2,1,MERG-1)-',' TO PRINTSTR2
                  SKIP
                  STORE @('$',REF:DES) TO ENDPOS
                  IF ENDPOS=0
                     STORE F TO CHAIN
                     STORE @('.',REF:DES) TO ENDPOS
                     STORE 0 TO LASTPOS
                  ENDIF
               ELSE
                 STORE ENDPOS+1 TO LASTPOS
               ENDIF
               STORE CHR(27)+CHR(67)+PRINTSTR2+CHR(27)+CHR(68) TO PRINTSTR2
            ENDIF
            STORE PRINTSTR1+PRINTSTR2 TO PRINTSTR
            @ ROW,1 SAY PRINTSTR
            @ ROW,47 SAY TAIL
            STORE I+'     '+I+'     '+I TO PRINTSTR1
            STORE ROW+1 TO ROW
         ENDDO
         @ ROW,1  SAY PRINTSTR1 
         @ ROW,14 SAY MAIN:CHAR
         @ ROW,45 SAY TAIL
         STORE ROW+1 TO ROW
         @ ROW,1  SAY PRINTSTR1 USING 'XXXXXXXXXXXXX'
         @ ROW,14 SAY SPEC:CODE USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
         @ ROW,45 SAY TAIL
         STORE ROW+1 TO ROW
         @ ROW,1  SAY PRINTSTR1 USING 'XXXXXXXXXXXXX'
         STORE GEN:NAME+' '+CVALUE+' '+TOLERANCE+' '+RATED:VOLT TO PRINTVAR
         @ ROW,14 SAY PRINTVAR USING 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
         @ ROW,45 SAY TAIL
         STORE ROW+1 TO ROW
         @ ROW,1 SAY BROW
         STORE ROW+1 TO ROW
         @ ROW,1 SAY MIDLINE
         STORE ROW+1 TO ROW
         SKIP
         IF $(REF:CODE,1,1)$'CDS'
            GO BOTTOM
            SKIP
         ENDIF 
      ENDDO
      DO WHILE ROW<ROWTRESH
         @ ROW,1 SAY BROW 
         STORE ROW+1 TO ROW
      ENDDO
      @ ROW,1 SAY BOTLINE
      STORE ROW+1 TO ROW
      @ ROW,1 SAY BOTT1
      STORE ROW+1 TO ROW
      @ ROW,1 SAY BOTT2
      STORE ROW+1 TO ROW
      @ ROW,1 SAY BOTT3
      IF PAGE>0
         STORE PAGE+1 TO PAGE
      ENDIF
   ENDDO
*******************************************************************************
*RETURN
SET FORMAT TO SCREEN
IF SOTS
   STORE OPERDBF TO MPLL
   STORE 'MISING SOT-FILES: ' TO MISSING
   GO TOP
   LOCATE FOR $(REF:CODE,1,3)='SOT'
   STORE @('.',OPERDBF) TO PLACE
   STORE $(OPERDBF,1,PLACE) TO MSOURCE
   RELEASE PLACE
   STORE 0 TO OLDNR
   DO WHILE #>OLDNR
      STORE # TO OLDNR
      IF $(REF:CODE,1,3)='SOT'
          STORE 'LISTING OF SELECT_ON_TEST-KIT: '+REF:CODE TO HEADING
         *CALL PRINTSOT
          SET EXACT ON
          STORE REF:CODE TO MSOT
          DELETE FOR REF:CODE=MSOT
          GO OLDNR
          STORE $(REF:CODE,4,2) TO MSOT
           IF RANK(MSOT)=RANK(' ').OR.RANK(MSOT)=RANK('0')
              STORE $(MSOT,2,1) TO MSOT
           ENDIF
           STORE MSOURCE-'S'-MSOT TO MSOTNAME
          *CHECK IF SOT FILE EXISTS, IF IT DOES NOT TELL IT AND PROCCED
           IF FILE(MSOTNAME)
              USE PLL_STRU
              COPY STRU TO SOTPLL
              USE SOTPLL
              APPEND FROM &MSOTNAME
              REPLACE ALL REF:DES WITH 'SOT'-MSOT
              STORE 'PLL' TO MDBASE
              *INITIALIZE OPERDBF FOR COMPLETE
              STORE 'SOTPLL.DBF' TO OPERDBF
              DO COMPLETE
              DO CONVERT
              USE SOTPLL
              *INITIALIZE HEADER FOR PRINTSOT
              STORE T TO CALL
              SET FORMAT TO PRINT
              DO PRINTSOT
              SET FORMAT TO SCREEN
           ELSE
              STORE MISSING+MSOTNAME TO MISSING
           ENDIF
        ENDIF
        USE &MPLL
        LOCATE FOR $(REF:CODE,1,3)='SOT'.AND..NOT.*
   ENDDO
   IF '.'$MISSING
      SET FORMAT TO PRINT
      EJECT
      @ 10,1 SAY MISSING
   ENDIF
   RECALL ALL
ENDIF
RELEASE ALL LIKE PRINTSTR*
RELEASE TOPLINE
RELEASE MIDLINE
RELEASE BOTLINE
RELEASE ROW,COLUMN,PAGE,ROWTRESH,HEADING,OLDNR,TAIL
RETURN

«eof»