home *** CD-ROM | disk | FTP | other *** search
/ DP Tool Club 19 / CD_ASCQ_19_010295.iso / dos / prg / bas / pcl4b42 / process.bas < prev    next >
BASIC Source File  |  1994-09-03  |  3KB  |  98 lines

  1.  '
  2.  ' Process ESC
  3.  '
  4.  
  5.  DEFINT A-Z
  6.  
  7. '$INCLUDE: 'PROCESS.BI'
  8. '$INCLUDE: 'TERM_IO.BI'
  9. '$INCLUDE: 'PCL4B.BI'
  10. '$INCLUDE: 'XYMODEM.BI'
  11.  
  12. CONST FALSE = 0, TRUE = NOT FALSE
  13. CONST NAK = &H15
  14.  
  15. DIM SHARED ThePort
  16. DIM SHARED Protocol$
  17. DIM SHARED OneKflag
  18. DIM SHARED NCGbyte
  19. DIM SHARED BatchFlag
  20. DIM SHARED BaudRate$
  21.  
  22. SUB InitProcess(BYVAL ThePort,Baud$)
  23.   Port = ThePort
  24.   BaudRate$ = Baud$
  25.   Protocol$ = "X"
  26.   OneKflag = FALSE
  27.   NCGbyte = NAK
  28.   BatchFlag = FALSE
  29. END SUB
  30.  
  31. SUB ShowStatus
  32.   P$ = STR$(1+ThePort)
  33.   StatusMsg$ = "COM" + RIGHT$(P$,LEN(P$)-1) + " " + BaudRate$ + " " + Protocol$ + " ESC for menu"
  34.   CALL WriteMsg(StatusMsg$, 45)
  35. END SUB
  36.  
  37. FUNCTION Process
  38.   PROCESS = FALSE
  39.   GetNameMsg$ = "Enter filename: "
  40.   'quit if user types ESC
  41.   IF TRUE THEN
  42.     CALL WriteMsg("Q)uit P)rotocol S)end R)eceive: ", 1)
  43.     CALL ReadMsg(ResultMsg$, 32, 1)
  44.     C$ = UCASE$(LEFT$(ResultMsg$, 1))
  45.     SELECT CASE C$
  46.       CASE "Q"   'QUIT
  47.         PRINT
  48.         PRINT ("TERMINATING: User pressed <ESC>")
  49.         RetCode = SioDone(ThePort)
  50.         PROCESS = TRUE
  51.         EXIT FUNCTION
  52.       CASE "P"   'PROTOCOL
  53.         CALL WriteMsg("X)modem Y)modem ymodem-G): ", 1)
  54.         CALL ReadMsg(ResultMsg$, 35, 1)
  55.         P$ = UCASE$(LEFT$(ResultMsg$, 1))
  56.         SELECT CASE P$
  57.           CASE "X"  'XMODEM
  58.             Protocol$ = "X"
  59.             OneKflag = FALSE
  60.             NCGbyte = NAK
  61.             BatchFlag = FALSE
  62.             CALL WriteMsg("Protocol = XMODEM", 1)
  63.           CASE "Y"  'YMODEM
  64.             Protocol$ = "Y"
  65.             OneKflag = TRUE
  66.             NCGbyte = ASC("C")
  67.             BatchFlag = TRUE
  68.             CALL WriteMsg("Protocol = YMODEM", 1)
  69.           CASE "G"  'YMODEM-G
  70.             Protocol$ = "G"
  71.             OneKflag = TRUE
  72.             NCGbyte = ASC("G")
  73.             BatchFlag = TRUE
  74.             CALL WriteMsg("Protocol = YMODEM-G", 1)
  75.         END SELECT
  76.         CALL ShowStatus
  77.         'StatusMsg$ = "COM" + STR$(ThePort) + " " + Prococol$ + "  ESC for menu"
  78.         'CALL WriteMsg(StatusMsg$, 40)
  79.       CASE "R"  'Receive
  80.         Filename$ = ""
  81.         IF BatchFlag THEN
  82.           Flag = YmodemRx(ThePort, Filename$, NCGbyte)
  83.         ELSE
  84.           Flag = XmodemRx(ThePort, Filename$, NCGbyte)
  85.         END IF
  86.       CASE "S"  'Send
  87.         Filename$ = ""
  88.         IF BatchFlag THEN
  89.           Flag = YmodemTx(ThePort, Filename$, OneKflag)
  90.         ELSE
  91.           Flag = XmodemTx(ThePort, Filename$, OneKflag)
  92.         END IF
  93.       CASE ELSE
  94.         CALL WriteMsg("Bad response", 1)
  95.      END SELECT
  96.    END IF
  97.  END FUNCTION
  98.