home *** CD-ROM | disk | FTP | other *** search
/ World of Shareware - Software Farm 2 / wosw_2.zip / wosw_2 / DATABASE / DBT123S.ZIP / DBTPRDEF.PRG < prev    next >
Text File  |  1990-07-24  |  5KB  |  185 lines

  1. * Program : DBTPRDEF.PRG
  2. *         : (c) 1990 BERNATH COMPUTER
  3. *         : 07/24/1990
  4.  
  5. EXITNOW = .F.
  6. EDITING = .F.
  7. mADDIT = " "
  8. gFG=0
  9. gBG=3
  10. mP = GETE("DBTPRT")
  11. mKEY = mP+SPACE(8-LEN(mP))
  12. SELECT B
  13.    USE PRNDEF INDEX PRNDEF
  14. SELECT A
  15.    USE ESCCODES INDEX ESCCODES
  16.  
  17. DO WHILE .NOT. EXITNOW
  18.  
  19.    SET COLOR TO B/BG,+BG/N,,BG
  20.    DO SCRHEAD WITH "Edit Printer Escape Codes"
  21.    CALL DBTOOLS WITH "3,7,5,15,75,15,3,1,0,0"
  22.    CALL DBTOOLS WITH "1,8,7,1,3,0,Printer key:"
  23.    CALL DBTOOLS WITH "1,8,30,1,3,0,Description:"
  24.    CALL DBTOOLS WITH "1,10,7,1,3,0,Printer type:"
  25.    CALL DBTOOLS WITH "1,13,7,1,3,0,Maximum number of escape sequences:"
  26.    CALL DBTOOLS WITH "1,14,7,1,3,0,Printer definition file:"
  27.  
  28.    @ 8,20 GET mKEY PICTURE "@!"
  29.    READ
  30.    DO KEYTRAP
  31.    IF EXITNOW
  32.       EXIT
  33.    ENDIF
  34.    SELECT B
  35.    SEEK mKEY
  36.    IF .NOT. FOUND()
  37.        CALL DBTOOLS WITH "2"
  38.        DO CLRSTAT WITH gFG,gBG
  39.        CALL DBTOOLS WITH "1,24,5,11,0,0,Printer definition not found. Add (Y/N)?"
  40.        mADDIT = " "
  41.        @ 24,46 SAY mADDIT
  42.        DO YESNO WITH mADDIT
  43.        IF .NOT. EDITING
  44.           mPRDESC = SPACE(24)
  45.           mPRTYPE = 0
  46.           mNUMESC = 0
  47.           mDFNFILE = gPRT+SPACE(30-LEN(TRIM(gPRT)))
  48.        ENDIF
  49.     ELSE
  50.        IF .NOT. EDITING
  51.           mPRDESC = PRDESC
  52.           mPRTYPE = PRTYPE
  53.           mNUMESC = NUMESC
  54.           mDFNFILE = DFNFILE
  55.        ENDIF
  56.     ENDIF
  57.     @ 8,43 GET mPRDESC
  58.     READ
  59.     DO KEYTRAP
  60.     IF EXITNOW
  61.        EXIT
  62.     ENDIF
  63.     mMENUSTR="9,"+STR(mPRTYPE+1,2)+",11,7,0,3,11,1,"
  64.     mMENUSTR=mMENUSTR+"0. Nonprog,1. 80 col dot matrix,2. 132 col dot matrix,3. Laser,@"
  65.     CALL DBTOOLS WITH mMENUSTR
  66.     mPRTYPE = VAL(mMENUSTR)-1
  67.     IF mPRTYPE<0 .OR. EXITNOW
  68.        EXIT
  69.     ENDIF
  70.    @ 13,45 GET mNUMESC PICTURE "99"
  71.    @ 14,32 GET mDFNFILE PICTURE "@!"
  72.    READ
  73.    DO KEYTRAP
  74.    IF EXITNOW
  75.       EXIT
  76.    ENDIF
  77.    mOPT = 1
  78.    DO ACQ WITH mOPT
  79.    DO CASE
  80.       CASE mOPT = 1
  81.          IF mADDIT = "Y"
  82.             APPEND BLANK
  83.          ENDIF
  84.          REPLACE KEY WITH mKEY,;
  85.                  PRDESC WITH mPRDESC,;
  86.                  PRTYPE WITH mPRTYPE,;
  87.                  NUMESC WITH mNUMESC,;
  88.                  DFNFILE WITH mDFNFILE
  89.          EDITING = .F.
  90.          mADDIT = " "
  91.       CASE mOPT = 2
  92.          EDITING = .T.
  93.       CASE mOPT = 3 .OR. mOPT = 0
  94.          EXITNOW = .T.
  95.          EXIT
  96.    ENDCASE
  97.    IF mOPT = 1
  98.       EXIT2 = .F.
  99.       DO WHILE .NOT. EXIT2
  100.          CALL DBTOOLS WITH "7,2,0,3,0"
  101.          CALL DBTOOLS WITH "3,1,5,4,75,15,1,2,0,0"
  102.          CALL DBTOOLS WITH "1,2,20,15,1,0,Edit escape codes for printer:"
  103.          CALL DBTOOLS WITH "1,2,51,11,1,0,["+mDFNFILE+"]"
  104.          mL = LEN(TRIM(mPRDESC))
  105.          mT = 40-(mL/2)
  106.          CALL DBTOOLS WITH "1,3,"+STR(mT,2)+",11,1,0,"+mPRDESC
  107.          CALL DBTOOLS WITH "3,6,5,20,75,15,3,1,0,1"
  108.          SELECT A
  109.          LOCATE FOR KEY = mKEY
  110.          IF .NOT. FOUND()
  111.             KOUNT = 1
  112.             DO WHILE KOUNT <= mNUMESC
  113.                APPEND BLANK
  114.                REPLACE KEY WITH mKEY,;
  115.                        SEQNUM WITH KOUNT,;
  116.                        ATTRDESC WITH SPACE(24)
  117.                REPLACE ESC01 WITH 0,ESC02 WITH 0,ESC03 WITH 0,ESC04 WITH 0,;
  118.                        ESC05 WITH 0,ESC06 WITH 0,ESC07 WITH 0,ESC08 WITH 0
  119.                REPLACE ESC09 WITH 0,ESC10 WITH 0,ESC11 WITH 0,ESC12 WITH 0,;
  120.                        ESC13 WITH 0,ESC14 WITH 0,ESC15 WITH 0,ESC16 WITH 0
  121.                KOUNT = KOUNT + 1
  122.             ENDDO
  123.             GO TOP
  124.             LOCATE FOR KEY = mKEY
  125.          ENDIF
  126.          set filter to KEY=mKEY
  127.          BROWSE && LOCK 2 NOAPPEND
  128.          set filter to
  129.          mFILE = gPATH+mDFNFILE
  130.          IF FILE(mFILE)
  131.             ? CHR(7)
  132.             CALL DBTOOLS WITH "21,10,8,15,11,70,15,4,2,1"
  133.             CALL DBTOOLS WITH "1,9,18,15,4,0,File "+TRIM(mFILE)+" already exists."
  134.             CALL DBTOOLS WITH "1,10,18,15,4,0,Overwrite (Y/N)?"
  135.             mYN = " "
  136.             @ 10,35 say mYN
  137.             DO YESNO WITH mYN
  138.             CALL DBTOOLS WITH "19,10"
  139.             IF mYN <> "Y"
  140.                EXITNOW = .T.
  141.                EXIT
  142.             ENDIF
  143.          ENDIF
  144.          SET ALTERNATE TO &mFILE
  145.          SET ALTERNATE ON
  146.          ?? "@PRNDEF"
  147.          ? mPRDESC
  148.          KOUNT = 1
  149.          LOCATE FOR KEY=mKEY
  150.          DO WHILE KOUNT <= mNUMESC
  151.             mESC = 1
  152.             mSTUFF = STR(KOUNT,2)+": "
  153.             NOMORE = .F.
  154.             DO WHILE .NOT. NOMORE
  155.                mFLD = FIELD(mESC+3)
  156.                IF &mFLD = 0
  157.                   mSTUFF=mSTUFF+"  0,@"
  158.                   NOMORE = .T.
  159.                ELSE
  160.                   mSTUFF=mSTUFF+STR(&mFLD,3)+","
  161.                ENDIF
  162.                mESC = mESC + 1
  163.                IF mESC > 16
  164.                   NOMORE = .T.
  165.                ENDIF
  166.             ENDDO
  167.             ? mSTUFF
  168.             KOUNT = KOUNT + 1
  169.             SKIP
  170.          ENDDO
  171.          ? "@@"
  172.          SET ALTERNATE OFF
  173.          SET ALTERNATE TO
  174.          ?
  175.          CALL DBTOOLS WITH "10,24,25,0,3"
  176.          EXIT2 = .T.
  177.       ENDDO
  178.    ENDIF
  179. ENDDO
  180. CLOSE DATABASES
  181. RELEASE ALL EXCEPT g*
  182. gNUMOPT = 2
  183. EXITNOW = .F.
  184. RETURN
  185.