$CPU 8086 ' make compatible with XT systems $LIB ALL OFF ' turn off all PowerBASIC libraries $ERROR ALL OFF ' turn off all PowerBASIC error checking $OPTIMIZE SIZE ' optimize for smaller code $COMPILE UNIT ' compile to a UNIT (.PBU) '$COMPILE EXE ' compile to a UNIT (.PBU) DEFINT A-Z ' Required for all numeric functions, forces PB to not ' include floating point in UNIT (makes it smaller) '/*------------------------------------------------------------------*/ DECLARE FUNCTION SPACE(BYVAL X AS STRING, BYVAL N AS INTEGER, BYVAL PAD AS STRING) AS STRING DECLARE FUNCTION CENTER(BYVAL X AS STRING, BYVAL L AS INTEGER, BYVAL PAD AS STRING) AS STRING DECLARE FUNCTION FILESPEC(BYVAL OPT AS STRING, BYVAL FLNAME AS STRING) AS STRING DECLARE SUB PUTSCREEN(BYVAL X AS STRING) DECLARE FUNCTION GETSCREEN() AS STRING DECLARE FUNCTION MBOX(ROW,COL,ATTR,MSG$(),OPT$,BTYPE) AS STRING DECLARE FUNCTION PROGNAME() AS STRING DECLARE FUNCTION SUBSTR(BYVAL X AS STRING, BYVAL N AS INTEGER, BYVAL L AS INTEGER, BYVAL PAD AS STRING) AS STRING '/*------------------------------------------------------------------*/ $CODE SEG "MLIB11" '/*------------------------------------------------------------------*/ SUB PL4C(FSPEC$,UD$,OPT,MPOINT&) PUBLIC REDIM MSG$(10) HPATH$ = FILESPEC("H",PROGNAME) F$ = FSPEC$ IF UD$ = "" THEN UD$ = STRING$(172," ") ELSE UD$ = SPACE(UD$,1," ") UD$ = CENTER(UD$,172," ") END IF '/*--- GET LASER CODES FRAMES --- C1$ = "" IF OPT = 1 THEN '/*--- Framed Instructions - 898 Elements -------------------------------- T$ = "" T$=T$+CHR$( 27, 69, 27, 38, 108, 48, 83, 27, 38, 108, 49, 79, 27, 40, 49, 48) T$=T$+CHR$( 85, 27, 40, 115, 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98) T$=T$+CHR$( 84, 27, 38, 107, 55, 46, 50, 72, 27, 38, 108, 53, 46, 50, 99, 76) T$=T$+CHR$( 27, 38, 108, 69, 27, 38, 97, 76, 27, 38, 97, 49, 53, 53, 104, 53) T$=T$+CHR$( 52, 48, 86, 27, 42, 99, 55, 51, 50, 53, 104, 49, 118, 80, 27, 38) T$=T$+CHR$( 97, 49, 53, 53, 104, 53, 55, 52, 48, 86, 27, 42, 99, 55, 51, 50, 53) T$=T$+CHR$( 104, 49, 118, 80, 27, 38, 97, 49, 53, 53, 104, 53, 52, 48, 86, 27) T$=T$+CHR$( 42, 99, 49, 104, 53, 50, 48, 48, 118, 80, 27, 38, 97, 49, 57, 55) T$=T$+CHR$( 50, 104, 53, 52, 48, 86, 27, 42, 99, 49, 104, 53, 50, 48, 48, 118) T$=T$+CHR$( 80, 27, 38, 97, 51, 56, 51, 48, 104, 53, 52, 48, 86, 27, 42, 99, 49) T$=T$+CHR$( 104, 53, 50, 48, 48, 118, 80, 27, 38, 97, 53, 54, 56, 53, 104, 53) T$=T$+CHR$( 52, 48, 86, 27, 42, 99, 49, 104, 53, 50, 48, 48, 118, 80, 27, 38) T$=T$+CHR$( 97, 55, 52, 56, 48, 104, 53, 52, 48, 86, 27, 42, 99, 49, 104, 53) T$=T$+CHR$( 50, 48, 48, 118, 80, 27, 40, 49, 48, 85, 27, 40, 115, 112, 49, 54) T$=T$+CHR$( 46, 54, 104, 56, 46, 53, 118, 115, 98, 84, 27, 38, 107, 55, 46, 50) T$=T$+CHR$( 48, 50, 57, 72, 27, 38, 108, 53, 46, 50, 99, 76, 27, 38, 97, 49, 53) T$=T$+CHR$( 53, 104, 53, 52, 48, 86, 13, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 74, 117, 110, 32, 50, 53, 44, 32, 49, 57) T$=T$+CHR$( 57, 56, 32, 71, 114, 101, 101, 110, 32, 86, 97, 108, 108, 101, 121) T$=T$+CHR$( 32, 87, 97, 114, 100, 32, 51, 48, 51, 45, 51, 54, 55, 45, 52, 49) T$=T$+CHR$( 49, 54, 32, 57, 58, 48, 48, 97, 109, 32, 76, 97, 114, 101, 100, 111) T$=T$+CHR$( 32, 67, 104, 97, 112, 101, 108, 32, 80, 97, 103, 101, 32, 49, 32) T$=T$+CHR$( 111, 102, 32, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 13, 27, 38, 97, 43, 53, 104, 45, 51, 86, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 117, 110, 32, 50, 53) T$=T$+CHR$( 44, 32, 49, 57, 57, 56, 32, 71, 114, 101, 101, 110, 32, 86, 97, 108) T$=T$+CHR$( 108, 101, 121, 32, 87, 97, 114, 100, 32, 51, 48, 51, 45, 51, 54, 55) T$=T$+CHR$( 45, 52, 49, 49, 54, 32, 57, 58, 48, 48, 97, 109, 32, 76, 97, 114) T$=T$+CHR$( 101, 100, 111, 32, 67, 104, 97, 112, 101, 108, 32, 80, 97, 103, 101) T$=T$+CHR$( 32, 49, 32, 111, 102, 32, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 27, 38, 97, 45, 53, 104, 43, 51, 86, 27, 38, 108) T$=T$+CHR$( 55, 69, 27, 38, 97, 52, 108, 104, 86, 13, 27, 38, 108, 53, 46, 50) T$=T$+CHR$( 48, 48, 67, 10, 27, 40, 49, 48, 85, 27, 40, 115, 112, 49, 54, 46) T$=T$+CHR$( 54, 104, 56, 46, 53, 118, 115, 98, 84, 27, 38, 107, 55, 46, 50, 72) T$=T$+CHR$( 27, 38, 108, 48, 53, 46, 50, 48, 48, 67, 179, 27, 38, 107, 55, 46) T$=T$+CHR$( 50, 48, 50, 57, 72, 27, 38, 97, 52, 55, 108, 104, 86, 13, 27, 38) T$=T$+CHR$( 108, 53, 46, 50, 48, 48, 67, 10, 27, 40, 49, 48, 85, 27, 40, 115) T$=T$+CHR$( 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98, 84, 27, 38, 107) T$=T$+CHR$( 55, 46, 50, 72, 27, 38, 108, 48, 53, 46, 50, 48, 48, 67, 179, 27) T$=T$+CHR$( 38, 107, 55, 46, 50, 48, 50, 57, 72, 27, 38, 97, 57, 48, 108, 104) T$=T$+CHR$( 86, 13, 27, 38, 108, 53, 46, 50, 48, 48, 67, 10, 27, 40, 49, 48, 85) T$=T$+CHR$( 27, 40, 115, 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98, 84) T$=T$+CHR$( 27, 38, 107, 55, 46, 50, 72, 27, 38, 108, 48, 53, 46, 50, 48, 48) T$=T$+CHR$( 67, 179, 27, 38, 107, 55, 46, 50, 48, 50, 57, 72, 27, 38, 97, 49) T$=T$+CHR$( 51, 51, 108, 104, 86, 13, 27, 38, 108, 53, 46, 50, 48, 48, 67, 10) T$=T$+CHR$( 27, 40, 49, 48, 85, 27, 40, 115, 112, 49, 54, 46, 54, 104, 56, 46) T$=T$+CHR$( 53, 118, 115, 98, 84, 27, 38, 107, 55, 46, 50, 72, 27, 38, 108, 48) T$=T$+CHR$( 53, 46, 50, 48, 48, 67, 179) C1$ = T$ MID$(C1$,267,172) = UD$ MID$(C1$,450,172) = UD$ ELSE '/*--- 4 COL NO-FRAME LJ INSTRUCTIONS - 739 Elements ------------------ T$ = "" T$=T$+CHR$( 27, 69, 27, 38, 108, 48, 83, 27, 38, 108, 49, 79, 27, 40, 49, 48) T$=T$+CHR$( 85, 27, 40, 115, 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98) T$=T$+CHR$( 84, 27, 38, 107, 55, 46, 50, 72, 27, 38, 108, 53, 46, 50, 99, 76) T$=T$+CHR$( 27, 38, 108, 69, 27, 38, 97, 76, 27, 40, 49, 48, 85, 27, 40, 115) T$=T$+CHR$( 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98, 84, 27, 38, 107) T$=T$+CHR$( 55, 46, 50, 48, 50, 57, 72, 27, 38, 108, 53, 46, 50, 99, 76, 27, 38) T$=T$+CHR$( 97, 49, 53, 53, 104, 53, 52, 48, 86, 13, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 117, 110, 32, 50, 54, 44) T$=T$+CHR$( 32, 49, 57, 57, 56, 32, 71, 114, 101, 101, 110, 32, 86, 97, 108, 108) T$=T$+CHR$( 101, 121, 32, 87, 97, 114, 100, 32, 51, 48, 51, 45, 51, 54, 55, 45) T$=T$+CHR$( 52, 49, 49, 54, 32, 57, 58, 48, 48, 97, 109, 32, 76, 97, 114, 101) T$=T$+CHR$( 100, 111, 32, 67, 104, 97, 112, 101, 108, 32, 80, 97, 103, 101, 32) T$=T$+CHR$( 49, 32, 111, 102, 32, 50, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 13, 27, 38, 97, 43, 53, 104, 45, 51, 86, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 74, 117, 110, 32) T$=T$+CHR$( 50, 54, 44, 32, 49, 57, 57, 56, 32, 71, 114, 101, 101, 110, 32, 86) T$=T$+CHR$( 97, 108, 108, 101, 121, 32, 87, 97, 114, 100, 32, 51, 48, 51, 45) T$=T$+CHR$( 51, 54, 55, 45, 52, 49, 49, 54, 32, 57, 58, 48, 48, 97, 109, 32, 76) T$=T$+CHR$( 97, 114, 101, 100, 111, 32, 67, 104, 97, 112, 101, 108, 32, 80, 97) T$=T$+CHR$( 103, 101, 32, 49, 32, 111, 102, 32, 50, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32, 32) T$=T$+CHR$( 32, 32, 32, 32, 32, 32, 27, 38, 97, 45, 53, 104, 43, 51, 86, 27, 38) T$=T$+CHR$( 108, 55, 69, 27, 38, 97, 52, 108, 104, 86, 13, 27, 38, 108, 53, 46) T$=T$+CHR$( 50, 48, 48, 67, 10, 27, 40, 49, 48, 85, 27, 40, 115, 112, 49, 54) T$=T$+CHR$( 46, 54, 104, 56, 46, 53, 118, 115, 98, 84, 27, 38, 107, 55, 46, 50) T$=T$+CHR$( 72, 27, 38, 108, 48, 53, 46, 50, 48, 48, 67, 179, 27, 38, 107, 55) T$=T$+CHR$( 46, 50, 48, 50, 57, 72, 27, 38, 97, 52, 55, 108, 104, 86, 13, 27) T$=T$+CHR$( 38, 108, 53, 46, 50, 48, 48, 67, 10, 27, 40, 49, 48, 85, 27, 40, 115) T$=T$+CHR$( 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98, 84, 27, 38, 107) T$=T$+CHR$( 55, 46, 50, 72, 27, 38, 108, 48, 53, 46, 50, 48, 48, 67, 179, 27) T$=T$+CHR$( 38, 107, 55, 46, 50, 48, 50, 57, 72, 27, 38, 97, 57, 48, 108, 104) T$=T$+CHR$( 86, 13, 27, 38, 108, 53, 46, 50, 48, 48, 67, 10, 27, 40, 49, 48, 85) T$=T$+CHR$( 27, 40, 115, 112, 49, 54, 46, 54, 104, 56, 46, 53, 118, 115, 98, 84) T$=T$+CHR$( 27, 38, 107, 55, 46, 50, 72, 27, 38, 108, 48, 53, 46, 50, 48, 48) T$=T$+CHR$( 67, 179, 27, 38, 107, 55, 46, 50, 48, 50, 57, 72, 27, 38, 97, 49) T$=T$+CHR$( 51, 51, 108, 104, 86, 13, 27, 38, 108, 53, 46, 50, 48, 48, 67, 10) T$=T$+CHR$( 27, 40, 49, 48, 85, 27, 40, 115, 112, 49, 54, 46, 54, 104, 56, 46) T$=T$+CHR$( 53, 118, 115, 98, 84, 27, 38, 107, 55, 46, 50, 72, 27, 38, 108, 48) T$=T$+CHR$( 53, 46, 50, 48, 48, 67, 179) C1$ = T$ MID$(C1$,108,172) = UD$ MID$(C1$,291,172) = UD$ END IF '/*--- Header --- SP1 = 1 EP1 = INSTR(SP1+1,C1$,"³") SL1 = EP1-SP1 '/*--- Col2 --- SP2 = EP1+1 EP2 = INSTR(SP2,C1$,"³") SL2 = EP2-SP2 '/*--- Col3 --- SP3 = EP2 + 1 EP3 = INSTR(SP3,C1$,"³") SL3 = EP3-SP3 '/*--- Col4 --- SP4 = EP3+1 EP4 = INSTR(SP4,C1$,"³") SL4 = EP4-SP4 '/* --- CREATE PRINT FILE --- FBN = FREEFILE OPEN"I",FBN,F$ FBO = FREEFILE OPEN"O",FBO,HPATH$+"4COL.OUT" CNT = 0 PCNT& = 0 WHILE NOT EOF(FBN) LINE INPUT#FBN,T$ INCR PCNT& T$ = SUBSTR(T$,1,40," ") INCR CNT IF CNT = 1 THEN T$ = MID$(C1$,SP1,SL1) + T$ IF CNT = 67 THEN T$ = MID$(C1$,SP2,SL2) + T$ IF CNT = 133 THEN T$ = MID$(C1$,SP3,SL3) + T$ IF CNT = 199 THEN T$ = MID$(C1$,SP4,SL4) + T$ IF CNT = 264 THEN T$ = T$ + CHR$(12) CNT = 0 END IF PRINT#FBO,T$ IF MPOINT& > 0 AND (MPOINT& = PCNT&) THEN CLOSE#FBO C$ = "COPY "+HPATH$+"4COL.OUT PRN > nul" SHELL C$ TSCREEN$ = GETSCREEN MSG$(1) = "First Pass Completed" MSG$(2) = "When Printer is Finished Printing" MSG$(3) = "Return Paper to Paper Bin" MSG$(4) = "Press ANY key to Print Back Sides" MSG$(5) = "" T$ = MBOX(0,0,79,MSG$(),"",7) PUTSCREEN TSCREEN$ OPEN"O",FBO,HPATH$+"4COL.OUT" END IF WEND PRINT#FBO,"E" CLOSE#FBN CLOSE#FBO C$ = "COPY "+HPATH$+"4COL.OUT PRN > nul" SHELL C$ KILL HPATH$+"4COL.OUT" GOTO EEXITPL4C '/*----------------------------------------------------------------------- EEXITPL4C: END SUB '/*----------------------------------------------------------------------- ' $INCLUDE "C:\CODE\MLIB\MLIB.INC" ' F$ = "" ' POPT = 0 ' MPOINT& = 0 ' CMD$ = UCASE$(COMMAND$) ' F$ = WORD(CMD$,1) ' UD$ = "" ' POPT = VAL(WORD(CMD$,2)) ' MPOINT& = VAL(WORD(CMD$,3)) ' PL4C F$,UD$,POPT,MPOINT&