This program applies patch #1 to the QUIKCODE executable file for the
purpose of changing QUIKCODE record names to be compatible with QUIKJOB.


***********************************************************************
** PROGRAM: PATCH001.Q                                               **
** WRITTEN: 10/08/1998                                               **
**                                                                   **
** PURPOSE: THIS PROGRAM APPLIES PATCH #1 TO THE QUIKCODE.EXE FILE.  **
**          IT CHANGES THE RECORD NAMES:                             **
**            "ifa", "ifb", "ifc", "ifd", "ife" TO                   **
**            "inf", "det", "inc", "ind", "ine" RESPECTIVELY.        **
**          THIS WILL FORCE QUIKCODE RECORD NAMES TO BE COMPATIBLE   **
**          WITH QUIKJOB NAMES.  THIS PROGRAM WILL WORK WITH ALL     **
**          VERSIONS OF QUIKCODE.  IT SHOULD RUN IN 5 SECONDS OR     **
**          LESS DEPENDING ON THE SPEED OF THE COMPUTER.             **
**                                                                   **
** INPUT..: INPUT FILE NAME  - "QUIKCODE.EXE" or "QUIKNO87.EXE"      **
** OUTPUT.: OUTPUT FILE NAME - "QUIKCODE.FIX"                        **
**                                                                   **
** TO RUN.: FROM THE COMMAND LINE TYPE:  QUIKCODE PATCH001.Q         **
**                                                                   **
** NOTES..: TO PERMANENTLY APPLY THE PATCH:                          **
**          1.) BACKUP YOUR CURRENT COPY OF QUIKCODE.EXE NOW!        **
**          2.) RUN THIS PROGRAM TO SUCCESSFUL COMPLETION.           **
**              DO NOT INTERRUPT THE EXECUTION OF THIS PROGRAM!      **
**                                                                   **
**          NO HARM IS DONE IF YOU RUN THE PROGRAM AND STOP AT       **
**          THIS STEP.                                               **
**                                                                   **
**                       --->>> IMPORTANT <<---                      **
**          AFTER THE PATCH IS APPLIED, QUIKCODE WILL NO LONGER      **
**          RECOGNIZE REFERENCES TO THE FOLLOWING RECORD NAMES:      **
**          "ifa", "ifb", "ifc", "ifd", "ife".  DO YOU REALLY        **
**          WANT TO CONTINUE?                                        **
**                                                                   **
**          3.) OKAY, IF YOU'RE AT THIS STEP YOU MUST REALLY         **
**              HATE QUIKCODE FIELD NAMES AND WANT TO USE QUIKJOB    **
**              NAMES INSTEAD.  JUST REMEMBER, NONE OF THE SAMPLE    **
**              PROGRAMS WILL RUN USING THE PATCHED VERSION.         **
**                                                                   **
**              COPY FILE QUIKCODE.FIX TO QUIKCODE.EXE               **
**                                                                   **
**              OKAY NOW YOU'VE REALLY DONE IT!!!  YOU DID MAKE A    **
**              BACKUP COPY IN STEP #1, RIGHT?  GOOD!                **
***********************************************************************
 
    * FILES
    EQUATE INFILE           TO 'QUIKCODE.EXE' * INPUT FILE NAME
    EQUATE OUTFILE          TO 'QUIKCODE.FIX' * OUTPUT FILE NAME
 
    * WORK AREA
    EQUATE RECPTR           TO WST1-4-L       * RECORD PTR (LONG INTEGER)
 
    * COLOR EQUATES
    EQUATE LTGREEN-ON-BLACK TO 10 * LIGHT GREEN ON BLACK BACKGROUND
    EQUATE LTCYAN-ON-BLACK  TO 11 * LIGHT CYAN ON BLACK BACKGROUND
    EQUATE WHITE-ON-BLACK   TO 7  * WHITE ON BLACK BACKGROUND
 
    CLS                           * CLEAR THE VIDEO SCREEN
    COLOR LTCYAN-ON-BLACK
    DISPLAY PROG NOSKIP
    DISPLAY ' - Program Started'
 
    OPEN IFA INFILE BINARY 1      * OPEN INPUT  - BINARY, 1 BYTE REC LENGTH
    OPEN OFA OUTFILE BINARY 1     * OPEN OUTPUT - BINARY, 1 BYTE REC LENGTH
 
    DISPLAY PROG NOSKIP
    DISPLAY ' - Looking for record names to change...'
100 READ IFA AT EOF 400           * READ NEXT BYTE FROM INPUT FILE
    IF IFA <> 'i'                 * START OF AN INPUT FILE RECORD NAME?
200   MOVE IFA     TO OFA         * NO, MOVE BYTE TO THE OUTPUT RECORD
      WRITE OFA                   *   WRITE BYTE TO THE OUTPUT FILE
      GO TO 100.                  *   GO READ NEXT BYTE FROM INPUT FILE
    FTELL IFA RECPTR              * STORE CURRENT POSITION IN
    SUBTRACT 1 FROM RECPTR        *    INPUT FILE TO RECORD POINTER
    MOVE 3         TO IFA-RECSIZE * CHANGE IFA RECORD LENGTH FROM 1 TO 3
    FSEEK IFA RECPTR              * REPOSITION IFA FILE
    READ IFA                      * READ 3 BYTES FROM IFA FILE
    IF IFA   = 'ifa'              * WAS "ifa" RECODE NAME FOUND?
      MOVE 'inf'   TO OFA1-3      *   YES, THEN CHANGE IT TO "inf"
      GO TO 300.                  *   GO WRITE NEW RECORD NAME TO OUTPUT
    IF IFA   = 'ifb'              * WAS "ifb" RECORD NAME FOUND?
      MOVE 'det'   TO OFA1-3      *   YES, THEN CHANGE IT TO "det"
      GO TO 300.                  *   GO WRITE NEW RECORD NAME TO OUTPUT
    IF IFA   = 'ifc'              * WAS "ifc" RECORD NAME FOUND?
      OR IFA = 'ifd'              *  OR "ifd" RECORD NAME FOUND?
      OR IFA = 'ife'              *  OR "ife" RECORD NAME FOUND?
      MOVE 'in'    TO OFA1-2      *   YES, THEN CHANGE
      MOVE IFA3    TO OFA3        *       IT TO BE COMPATIBLE TO QUIKJOB
      GO TO 300.                  *   GO WRITE NEW RECORD NAME TO OUTPUT
    MOVE 1         TO IFA-RECSIZE * CHANGE IFA RECORD LENGTH BACK TO 1
    FSEEK IFA RECPTR              * REPOSITION IFA FILE
    READ IFA                      * READ NEXT BYTE FROM INPUT FILE
    GO TO 200                     * GO WRITE BYTE TO OUTPUT FILE
 
300 MOVE 3         TO OFA-RECSIZE * CHANGE OFA RECORD LENGTH FROM 1 TO 3
    WRITE OFA                     * WRITE 3 BYTES TO OFA FILE
    COLOR LTCYAN-ON-BLACK
    DISPLAY PROG       NOSKIP
    DISPLAY ' - Record name '    NOSKIP
    COLOR LTGREEN-ON-BLACK
    DISPLAY IFA                  NOSKIP
    COLOR LTCYAN-ON-BLACK
    DISPLAY ' changed to '       NOSKIP
    COLOR LTGREEN-ON-BLACK
    DISPLAY OFA                  NOSKIP
    COLOR LTCYAN-ON-BLACK
    DISPLAY ' at file position ' NOSKIP
    DISPLAY RECPTR
    MOVE 1         TO IFA-RECSIZE * CHANGE IFA RECORD LENGTH BACK TO 1
    MOVE 1         TO OFA-RECSIZE * CHANGE OFA RECORD LENGTH BACK TO 1
    GO TO 100                     * READ NEXT BYTE FROM THE INPUT FILE
 
400 CLOSE IFA                     * CLOSE INPUT FILE
    CLOSE OFA                     * CLOSE OUTPUT FILE
    DISPLAY PROG       NOSKIP
    DISPLAY ' - File ' NOSKIP
    DISPLAY INFILE     NOSKIP
    DISPLAY ' was patched and written to file ' NOSKIP
    DISPLAY OUTFILE
    DISPLAY PROG       NOSKIP
    DISPLAY ' - To apply the patch, copy file ' NOSKIP
    DISPLAY OUTFILE NOSKIP
    DISPLAY ' to ' NOSKIP
    DISPLAY INFILE
    DISPLAY PROG NOSKIP
    DISPLAY ' - Program successfully completed'
    COLOR WHITE-ON-BLACK
    END                           * END THE PROGRAM

Back to homeBack to home